feat(emacs): CIDER additions

This commit is contained in:
Madeleine Sydney
2025-04-15 11:35:24 -06:00
parent 3bd22a76c5
commit a401bcbb3c
2 changed files with 22 additions and 6 deletions

View File

@@ -47,7 +47,9 @@
#'syd-clojure-open-repl :persist t)
(set-repl-handler! 'clojurescript-mode
#'syd-clojure-open-cljs-repl :persist t)
(set-eval-handler! '(clojure-mode clojurec-mode clojurescript-mode)
(set-eval-handler! '(clojure-mode
cider-clojure-interaction-mode
clojurec-mode clojurescript-mode)
#'cider-eval-region))
:custom ((cider-show-error-buffer nil))
:general
@@ -56,9 +58,9 @@
:states '(normal insert)
"C-k" #'cider-repl-backward-input
"C-j" #'cider-repl-forward-input
"C-s" #'cider-repl-previous-matching-input)
"C-s" #'consult-history)
;; DEPRECATED: Remove once a `map!' equivalent is implemented.
(:keymaps 'clojure-mode-map
(:keymaps '(cider-repl-mode-map clojure-mode-map)
:states '(normal visual motion emacs insert)
:major-modes t
:prefix syd-localleader-key
@@ -75,7 +77,10 @@
"d d" #'cider-debug-defun-at-point
"M-:" #'cider-read-and-eval
"h d" #'cider-doc
"h c" #'cider-cheatsheet)
"h c" #'cider-cheatsheet
"h j" #'cider-javadoc
"h n" #'cider-browse-ns
"x" #'cider-scratch)
(:keymaps 'cider-repl-mode-map
:states 'insert
"S-<return>" #'cider-repl-newline-and-indent)
@@ -94,18 +99,28 @@
(window-width))
t)))
:side right :vslot -8 :quit t :select t)
(,(rx bol "*cider-ns-browser")
:side right :vslot -8 :quit t :select t)
(,(rx bol "*cider-doc*")
:slot 2 :vslot -8 :quit t :select t)))
(add-to-list 'display-buffer-alist
`(,(regexp-quote cider-scratch-buffer-name)
(,#'display-buffer-same-window)))
;; DEPRECATED: Remove once syd-strategies is working.
(syd-add-hook '(clojure-mode-hook
clojurescript-mode-hook
cider-repl-mode-hook)
cider-repl-mode-hook
cider-clojure-interaction-mode-hook)
(defun syd-clojure-set-handlers-h ()
(setq-local syd-lookup-documentation-handlers
(list #'cider-doc))))
;; Correctly indent some common macros.
(put-clojure-indent 'match 1))
(put-clojure-indent 'match 1)
(with-eval-after-load 'consult
(add-to-list 'consult-mode-histories
'(cider-repl-mode cider-repl-input-history nil cider-repl-bol-mark))))
;; Give different pairs of delimiters different colours.
(use-package rainbow-delimiters