From 312fa1e42caec95ac21f20dc568c87e78602d081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Madeleine=20Sydney=20=C5=9Alaga?= Date: Thu, 23 Apr 2026 07:37:49 -0600 Subject: [PATCH] feat(emacs): syd-insert-file-name classpath-relative --- .../users/msyds/emacs/lisp/syd/clojure.el | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/modules/home/users/msyds/emacs/lisp/syd/clojure.el b/modules/home/users/msyds/emacs/lisp/syd/clojure.el index 7ddba3c..2e07ca9 100755 --- a/modules/home/users/msyds/emacs/lisp/syd/clojure.el +++ b/modules/home/users/msyds/emacs/lisp/syd/clojure.el @@ -21,21 +21,38 @@ (use-package cider :after clojure-mode :config + (defun syd-clojure-doc (arg) (interactive "P") (cider-doc arg) cider-doc-buffer) + (defun syd-clojure-eval-region (beg end) (cider-eval-region beg end)) + (syd-handle '(clojure-mode clojurescript-mode cider-repl-mode) :docs #'cider-doc :eval-region #'syd-clojure-eval-region :load-buffer #'cider-load-buffer) + (add-hook 'cider-repl-mode-hook #'syd-lisp-mode) + (syd-push shackle-rules - `("*cider-doc*" ,@syd-help-popup-options) - '("*cider-test-report*") - '("*cider-error*"))) + `("*cider-doc*" ,@syd-help-popup-options) + '("*cider-test-report*") + '("*cider-error*")) + + (defun syd-clojure-classpath-relative-file-name (file-name) + (when (and cider-mode (cider-nrepl-eval-session)) + (let ((prefixes (-filter #'file-directory-p + (cider-classpath-entries)))) + (cl-loop for classpath-entry in prefixes + for prefix = (file-name-as-directory classpath-entry) + when (string-prefix-p prefix file-name) + return (string-remove-prefix prefix file-name))))) + (add-to-list 'syd-insert-file-name-alist + `(,#'syd-clojure-classpath-relative-file-name + . "Classpath-relative"))) (use-package cider-mode :straight nil ; Part of `cider'.