Function: eglot-imenu
eglot-imenu is a byte-compiled function defined in eglot.el.gz.
Signature
(eglot-imenu)
Documentation
Eglot's imenu-create-index-function.
Returns a list as described in docstring of imenu--index-alist.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(cl-defun eglot-imenu ()
"Eglot's `imenu-create-index-function'.
Returns a list as described in docstring of `imenu--index-alist'."
(unless (eglot-server-capable :documentSymbolProvider)
(cl-return-from eglot-imenu))
(let* ((res (eglot--request (eglot--current-server-or-lose)
:textDocument/documentSymbol
`(:textDocument
,(eglot--TextDocumentIdentifier))
:cancel-on-input non-essential))
(head (and (cl-plusp (length res)) (elt res 0))))
(when head
(eglot--dcase head
(((SymbolInformation)) (eglot--imenu-SymbolInformation res))
(((DocumentSymbol)) (eglot--imenu-DocumentSymbol res))))))