feat(emacs): syd-insert-file-name classpath-relative
This commit is contained in:
@@ -21,21 +21,38 @@
|
|||||||
(use-package cider
|
(use-package cider
|
||||||
:after clojure-mode
|
:after clojure-mode
|
||||||
:config
|
:config
|
||||||
|
|
||||||
(defun syd-clojure-doc (arg)
|
(defun syd-clojure-doc (arg)
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(cider-doc arg)
|
(cider-doc arg)
|
||||||
cider-doc-buffer)
|
cider-doc-buffer)
|
||||||
|
|
||||||
(defun syd-clojure-eval-region (beg end)
|
(defun syd-clojure-eval-region (beg end)
|
||||||
(cider-eval-region beg end))
|
(cider-eval-region beg end))
|
||||||
|
|
||||||
(syd-handle '(clojure-mode clojurescript-mode cider-repl-mode)
|
(syd-handle '(clojure-mode clojurescript-mode cider-repl-mode)
|
||||||
:docs #'cider-doc
|
:docs #'cider-doc
|
||||||
:eval-region #'syd-clojure-eval-region
|
:eval-region #'syd-clojure-eval-region
|
||||||
:load-buffer #'cider-load-buffer)
|
:load-buffer #'cider-load-buffer)
|
||||||
|
|
||||||
(add-hook 'cider-repl-mode-hook #'syd-lisp-mode)
|
(add-hook 'cider-repl-mode-hook #'syd-lisp-mode)
|
||||||
|
|
||||||
(syd-push shackle-rules
|
(syd-push shackle-rules
|
||||||
`("*cider-doc*" ,@syd-help-popup-options)
|
`("*cider-doc*" ,@syd-help-popup-options)
|
||||||
'("*cider-test-report*")
|
'("*cider-test-report*")
|
||||||
'("*cider-error*")))
|
'("*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
|
(use-package cider-mode
|
||||||
:straight nil ; Part of `cider'.
|
:straight nil ; Part of `cider'.
|
||||||
|
|||||||
Reference in New Issue
Block a user