diff options
-rw-r--r-- | .emacs.d/lisp/init-clojure.el | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/.emacs.d/lisp/init-clojure.el b/.emacs.d/lisp/init-clojure.el index 6b3b8e9..0732656 100644 --- a/.emacs.d/lisp/init-clojure.el +++ b/.emacs.d/lisp/init-clojure.el @@ -135,6 +135,20 @@ (unbind-key "C-c C-l" cider-mode-map) (unbind-key "C-c C-b" cider-mode-map) (unbind-key "C-c C-b" cider-repl-mode-map) + + ;; https://github.com/clojure-emacs/cider/issues/3019#issuecomment-1330342147 + (defun my/cider-complete-at-point () + "Complete the symbol at point." + (when (and (cider-connected-p) + (not (cider-in-string-p))) + (when-let* ((bounds (bounds-of-thing-at-point 'symbol)) + (beg (car bounds)) + (end (cdr bounds)) + (completion (append (cider-complete (buffer-substring beg end)) + (get-text-property (point) 'cider-locals)))) + (list beg end (completion-table-dynamic (lambda (_) completion)) + :annotation-function #'cider-annotate-symbol)))) + (advice-add 'cider-complete-at-point :override 'my/cider-complete-at-point) :bind (:map cider-mode-map ("C-c M-l" . cider-load-file) |