(defvar jde-all-built-classes '()) (with-all-class-files (name) (let* ((start-pos (string-match "/\\([a-zA-Z0-9]*\\)\\.class" name)) (end-pos (match-end 1))) (when (and start-pos end-pos) (setq classes (cons (list (substring name (+ 1 start-pos) end-pos)) jde-all-built-classes)))))
(defun jde-open-class-source-new ()
(interactive)
(if jde-all-built-classes
(jde-open-class-source (completing-read "Class:" jde-all-built-classes))
(jde-open-class-source)))And then bind C-c C-v C-y to jde-open-class-source-new instead of jde-open-class-source.
The extra check for nullness of jde-all-built-classes is because I don't run the (with-all-class-files ... bit on start-up, but rather by hand, since it takes a bit of time to complete.
I'm looking into integrating this with jde-xref so the class names get cached across jde sessions.
Does anyone have any ideas or suggestions for better ways of doing this?
Suraj Acharya
