1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Eglot: fix call hierarchy navigation again (bug#78367, bug#78250)

* lisp/progmodes/eglot.el (eglot--hierarchy-label): Fix again.
This commit is contained in:
João Távora 2025-05-11 11:09:06 +01:00
parent 5b73625714
commit c69c18b732

View file

@ -4617,13 +4617,22 @@ If NOERROR, return predicate, else erroring function."
'keymap eglot-hierarchy-label-map
'action
(lambda (_btn)
(pop-to-buffer (find-file-noselect (eglot-uri-to-path (or parent-uri uri))))
(let* ((method
(get-text-property 0 'eglot--hierarchy-method name))
(target-uri
(if (eq method :callHierarchy/outgoingCalls)
;; We probably want `parent-uri' for this edge case
;; because that's where the call site we want
;; lives. (bug#78250, bug#78367).
(or parent-uri uri)
uri)))
(pop-to-buffer (find-file-noselect (eglot-uri-to-path target-uri)))
(eglot--goto
(or
(elt
(get-text-property 0 'eglot--hierarchy-call-sites name)
0)
item-range))))
item-range)))))
(buffer-string))))
(defun eglot--hierarchy-1 (name provider preparer specs)