]> git.eshelyaron.com Git - emacs.git/commitdiff
New function 'xref-find-definitions-at-mouse'
authorTobias Gerdin <tgerdin@gmail.com>
Sat, 7 Jul 2018 08:59:56 +0000 (11:59 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 7 Jul 2018 08:59:56 +0000 (11:59 +0300)
* lisp/progmodes/xref.el (xref-find-definitions-at-mouse): New
function.  (Bug32029)

Copyright-paperwork-exempt: yes

lisp/progmodes/xref.el

index 9a437b6f6909d71aff1979d3a56f4e7cbfc5667c..7bd1668cf4e570928bf395bef87efad60e90f654 100644 (file)
@@ -873,6 +873,19 @@ With prefix argument, prompt for the identifier."
   (interactive (list (xref--read-identifier "Find references of: ")))
   (xref--find-xrefs identifier 'references identifier nil))
 
+;;;###autoload
+(defun xref-find-definitions-at-mouse (event)
+  "Find the definition of identifier at or around mouse click.
+This command is intended to be bound to a mouse event."
+  (interactive "e")
+  (let ((identifier
+         (save-excursion
+           (mouse-set-point event)
+           (xref-backend-identifier-at-point (xref-find-backend)))))
+    (if identifier
+        (xref-find-definitions identifier)
+      (user-error "No identifier here"))))
+
 (declare-function apropos-parse-pattern "apropos" (pattern))
 
 ;;;###autoload