diff options
author | João Távora <joaotavora@gmail.com> | 2023-04-07 23:00:44 +0100 |
---|---|---|
committer | João Távora <joaotavora@gmail.com> | 2023-04-07 23:00:44 +0100 |
commit | 9848ae17161828190cc0ba31e89ae54a2f08a2ef (patch) | |
tree | 757a1b94a4dc1a0f2619eedbd6fe717ce25dd010 | |
parent | cc288a0e331d09e3e0aebcb83769a513ecad236f (diff) | |
download | emacs-9848ae17161828190cc0ba31e89ae54a2f08a2ef.tar.gz |
Eglot: fix problems after changes to eglot-imenu (bug#62718)
* lisp/progmodes/eglot.el (eglot--imenu-SymbolInformation)
(eglot--imenu-DocumentSymbol): Fix.
-rw-r--r-- | lisp/progmodes/eglot.el | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index 99b3925f05f..6134ab9150c 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -3247,7 +3247,8 @@ for which LSP on-type-formatting should be requested." (let ((elems (mapcar (eglot--lambda ((SymbolInformation) kind name location) (let ((reg (eglot--range-region - (plist-get location :range)))) + (plist-get location :range))) + (kind (alist-get kind eglot--symbol-kind-names))) (cons (propertize name 'breadcrumb-region reg 'breadcrumb-kind kind) @@ -3262,13 +3263,14 @@ for which LSP on-type-formatting should be requested." "Compute `imenu--index-alist' for RES vector of DocumentSymbol." (cl-labels ((dfs (&key name children range kind &allow-other-keys) (let* ((reg (eglot--range-region range)) + (kind (alist-get kind eglot--symbol-kind-names)) (name (propertize name 'breadcrumb-region reg 'breadcrumb-kind kind))) - (if children - (cons name - (mapcar (lambda (c) (apply #'dfs c)) children)) - (cons name (car reg)))))) + (if (seq-empty-p children) + (cons name (car reg)) + (cons name + (mapcar (lambda (c) (apply #'dfs c)) children)))))) (mapcar (lambda (s) (apply #'dfs s)) res))) (defun eglot-imenu () |