Skip to content

Commit 08a41d2

Browse files
author
Bozhidar Batsov
committed
Add command cider-open-classpath-entry
1 parent c1018ad commit 08a41d2

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

cider-classpath.el

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,28 +72,36 @@
7272
(let* ((bol (line-beginning-position))
7373
(eol (line-end-position))
7474
(line (buffer-substring-no-properties bol eol)))
75-
(if (file-directory-p line)
76-
(dired line)
77-
(find-file-other-window line))))
75+
(find-file-other-window line)))
7876

7977
(defun cider-classpath-handle-mouse (event)
8078
"Handle mouse click EVENT."
8179
(interactive "e")
8280
(cider-classpath-operate-on-point))
8381

82+
(defun cider--classpath-entries ()
83+
"Return a list of classpath entries."
84+
(plist-get
85+
(nrepl-send-sync-request (list "op" "classpath"
86+
"session" (nrepl-current-session)))
87+
:value))
88+
8489
;;;###autoload
8590
(defun cider-classpath ()
8691
"List all classpath entries."
8792
(interactive)
8893
(with-current-buffer (cider-popup-buffer cider-classpath-buffer t)
89-
(let ((names (plist-get
90-
(nrepl-send-sync-request (list "op" "classpath"
91-
"session" (nrepl-current-session)))
92-
:value)))
93-
(cider-classpath-list (current-buffer)
94-
(mapcar (lambda (name)
95-
(cider-classpath-properties name))
96-
names)))))
94+
(cider-classpath-list (current-buffer)
95+
(mapcar (lambda (name)
96+
(cider-classpath-properties name))
97+
(cider--classpath-entries)))))
98+
99+
;;;###autoload
100+
(defun cider-open-classpath-entry ()
101+
"Open a classpath entry."
102+
(interactive)
103+
(-when-let (entry (completing-read "Classpath entries: " (cider--classpath-entries)))
104+
(find-file-other-window entry)))
97105

98106
(defvar cider-classpath-mouse-map (make-sparse-keymap))
99107
(define-key cider-classpath-mouse-map [mouse-1] 'cider-classpath-handle-mouse)

0 commit comments

Comments
 (0)