diff --git a/modules/home/users/crumb/emacs.nix b/modules/home/users/crumb/emacs.nix index 76d97aa..b7d20e4 100755 --- a/modules/home/users/crumb/emacs.nix +++ b/modules/home/users/crumb/emacs.nix @@ -81,6 +81,7 @@ in { --prefix PATH : "${my-aspell}/bin" \ --prefix PATH : "${pkgs.direnv}/bin" \ --prefix PATH : "${my-tex}/bin" \ + --prefix PATH : "${pkgs.unzip}/bin" \ --set ASPELL_CONF "dict-dir ${my-aspell}/lib/aspell" done ''; diff --git a/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el b/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el index 43e223a..e98731c 100644 --- a/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el +++ b/modules/home/users/crumb/emacs/modules/lang/syd-lang-clojure.el @@ -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-" #'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