doomemacs/modules/lang/clojure/config.el

43 lines
1.5 KiB
EmacsLisp
Raw Normal View History

;;; lang/clojure/config.el -*- lexical-binding: t; -*-
2017-05-30 09:28:38 +02:00
;; `clojure-mode'
(after! clojure-mode
(add-hook 'clojure-mode-hook #'rainbow-delimiters-mode)
2017-05-30 09:28:38 +02:00
(def-package! cider
;; NOTE: if you don't have an org directory set (the dir doesn't exist),
;; cider jack in won't work.
:commands (cider-jack-in cider-jack-in-clojurescript)
:hook (clojure-mode . cider-mode)
:init
(set-popup-rule! "^\\*cider-repl" :quit nil :select nil)
(set-repl-handler! 'clojure-mode #'+clojure/repl)
(set-eval-handler! 'clojure-mode #'cider-eval-region)
(set-lookup-handlers! 'clojure-mode
:definition #'cider-browse-ns-find-at-point
:documentation #'cider-browse-ns-doc-at-point)
:config
(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)
(map! :map cider-mode-map
:localleader
:n "'" #'cider-jack-in
:n "\"" #'cider-jack-in-clojurescript
:n "B" #'cider-switch-to-repl-buffer
:n "n" #'cider-repl-set-ns
:n "j" #'cider-find-var
:n "h" #'cider-doc
:n "c" #'cider-repl-clear-buffer
:n "p" #'cider-eval-sexp-at-point))
(def-package! clj-refactor
:config
(map! :map clj-refactor-map
:localleader
:desc "Refactor hydra" :n "r" #'hydra-cljr-help-menu/body)))
(when (and (featurep! +joker) (featurep! :feature syntax-checker))
(load! "+joker"))