about summary refs log tree commit diff stats
path: root/.emacs.d/lisp/init-clojure.el
diff options
context:
space:
mode:
authorDavid Morgan <djm_uk@protonmail.com>2021-08-17 12:49:19 +0100
committerDavid Morgan <djm_uk@protonmail.com>2021-08-17 12:49:19 +0100
commitd0db5660caa836755ea8c99471d816484ea9e837 (patch)
treec7d0456a58e450abaf34b489b0b31c58ddbc8557 /.emacs.d/lisp/init-clojure.el
parentc92b18514728245850d31531ce224a74eddfc5a6 (diff)
downloaddotfiles-d0db5660caa836755ea8c99471d816484ea9e837.tar.gz
Add new .emacs.d
Diffstat (limited to '.emacs.d/lisp/init-clojure.el')
-rw-r--r--.emacs.d/lisp/init-clojure.el58
1 files changed, 58 insertions, 0 deletions
diff --git a/.emacs.d/lisp/init-clojure.el b/.emacs.d/lisp/init-clojure.el
new file mode 100644
index 0000000..0f19c15
--- /dev/null
+++ b/.emacs.d/lisp/init-clojure.el
@@ -0,0 +1,58 @@
+;;; init-clojure.el --- Clojure Configuration File -*- lexical-binding: t -*-
+;;; Commentary:
+;;; Code:
+
+;(require 'init-lisp)
+
+(use-package yasnippet
+  :diminish yas-minor-mode)
+
+(use-package flycheck-clj-kondo)
+
+(use-package clojure-mode
+  :config
+  (require 'flycheck-clj-kondo)
+  (subword-mode +1))
+
+(use-package hydra)
+(use-package clj-refactor
+  :diminish
+  :after yasnippet
+  :bind ("C-c '" . hydra-cljr-help-menu/body)
+  :config
+  (cljr-add-keybindings-with-prefix "C-c C-m")
+  (setq cljr-suppress-no-project-warning t)
+  :hook
+  (clojure-mode .
+    (lambda ()
+      (clj-refactor-mode 1)
+      (yas-minor-mode 1))))
+
+(use-package cider
+  :diminish
+  :after key-chord
+  :config
+  (setq cider-repl-pop-to-buffer-on-connect 'display-only
+        cider-repl-display-help-banner nil
+        cider-repl-history-highlight-current-entry t
+        cider-repl-history-highlight-inserted-item t
+        cider-repl-use-clojure-font-lock t
+        cider-repl-use-pretty-printing t
+        cider-save-file-on-load t
+        ;; cider-invert-insert-eval-p t
+        ;; cider-switch-to-repl-on-insert nil
+        cider-repl-history-file "~/.emacs.d/cider-history"
+        nrepl-log-messages t
+        clojure-toplevel-inside-comment-form t)
+  (key-chord-define-global "??" 'cider-xref-fn-refs-select)
+  (key-chord-define-global "qq" 'cider-xref-fn-refs)
+  (unbind-key "C-c C-l" cider-mode-map)
+  :bind (:map cider-mode-map ("C-c M-l" . cider-load-file))
+  :hook
+  (cider-repl-mode . (lambda ()
+                       (display-line-numbers-mode -1)
+                       (subword-mode +1)))
+  (cider-mode . eldoc-mode))
+
+(provide 'init-clojure)
+;;; init-clojure.el ends here