2017-06-08 11:47:56 +02:00
|
|
|
;;; lang/clojure/config.el -*- lexical-binding: t; -*-
|
2017-05-30 09:28:38 +02:00
|
|
|
|
2018-05-25 00:46:11 +02:00
|
|
|
;; `clojure-mode'
|
2018-06-10 22:25:29 +02:00
|
|
|
(add-hook 'clojure-mode-hook #'rainbow-delimiters-mode)
|
2017-05-30 09:28:38 +02:00
|
|
|
|
2017-11-03 19:28:05 -04:00
|
|
|
|
2017-12-05 09:58:46 -05:00
|
|
|
(def-package! clj-refactor
|
|
|
|
:after clojure-mode
|
|
|
|
:config
|
|
|
|
;; setup some extra namespace auto completion for great awesome
|
2018-05-18 01:21:09 +02:00
|
|
|
(dolist (ns '(("re-frame" . "re-frame.core")
|
|
|
|
("reagent" . "reagent.core")
|
|
|
|
("str" . "clojure.string")))
|
|
|
|
(map-put cljr-magic-require-namespaces (car ns) (cdr ns))))
|
2017-12-05 09:58:46 -05:00
|
|
|
|
|
|
|
|
2017-05-30 09:28:38 +02:00
|
|
|
(def-package! cider
|
2018-02-14 06:08:25 -05:00
|
|
|
;; NOTE: if you don't have an org directory set (the dir doesn't exist), cider
|
|
|
|
;; jack in won't work.
|
2018-03-22 06:54:18 -04:00
|
|
|
:commands (cider-jack-in cider-jack-in-clojurescript)
|
|
|
|
:hook (clojure-mode . cider-mode)
|
2017-05-30 09:28:38 +02:00
|
|
|
:config
|
2018-03-22 06:54:18 -04:00
|
|
|
(setq nrepl-hide-special-buffers t
|
|
|
|
cider-stacktrace-default-filters '(tooling dup)
|
|
|
|
cider-prompt-save-file-on-load nil
|
|
|
|
cider-repl-use-clojure-font-lock t
|
|
|
|
;; Setup cider for clojurescript / figwheel dev.
|
|
|
|
cider-cljs-lein-repl
|
|
|
|
"(do (require 'figwheel-sidecar.repl-api)
|
|
|
|
(figwheel-sidecar.repl-api/start-figwheel!)
|
|
|
|
(figwheel-sidecar.repl-api/cljs-repl))")
|
2017-12-06 13:56:16 -05:00
|
|
|
|
2018-03-22 06:54:18 -04:00
|
|
|
(set! :popup "^\\*cider-repl" nil '((quit) (select)))
|
|
|
|
(set! :repl 'clojure-mode #'+clojure/repl)
|
|
|
|
(set! :eval 'clojure-mode #'cider-eval-region)
|
2018-02-14 06:08:25 -05:00
|
|
|
(set! :lookup 'clojure-mode
|
|
|
|
:definition #'cider-browse-ns-find-at-point
|
|
|
|
:documentation #'cider-browse-ns-doc-at-point)
|
|
|
|
|
2018-03-22 06:54:18 -04:00
|
|
|
(map! :map cider-mode-map
|
|
|
|
:localleader
|
|
|
|
:n "'" #'cider-jack-in
|
|
|
|
:n "\"" #'cider-jack-in-clojurescript
|
|
|
|
:n "B" #'cider-switch-to-repl-buffer
|
|
|
|
:n "b" #'cider-eval-buffer
|
|
|
|
:n "n" #'cider-repl-set-ns
|
|
|
|
:n "j" #'cider-find-var
|
|
|
|
:n "d" #'cider-doc
|
|
|
|
:n "c" #'cider-repl-clear-buffer
|
|
|
|
:n "p" #'cider-eval-sexp-at-point
|
|
|
|
:n "r" #'cider-eval-region))
|