Function: eglot--lsp-xrefs-for-method
eglot--lsp-xrefs-for-method is a byte-compiled function defined in
eglot.el.gz.
Signature
(eglot--lsp-xrefs-for-method METHOD &key EXTRA-PARAMS CAPABILITY)
Documentation
Make xref's for METHOD, EXTRA-PARAMS, check CAPABILITY.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(cl-defun eglot--lsp-xrefs-for-method (method &key extra-params capability)
"Make `xref''s for METHOD, EXTRA-PARAMS, check CAPABILITY."
(eglot-server-capable-or-lose
(or capability
(intern
(format ":%sProvider"
(cadr (split-string (symbol-name method)
"/"))))))
(let ((response
(eglot--request
(eglot--current-server-or-lose)
method (append (eglot--TextDocumentPositionParams) extra-params))))
(eglot--collecting-xrefs (collect)
(mapc
(lambda (loc-or-loc-link)
(let ((sym-name (symbol-name (symbol-at-point))))
(eglot--dcase loc-or-loc-link
(((LocationLink) targetUri targetSelectionRange)
(collect (eglot--xref-make-match sym-name
targetUri targetSelectionRange)))
(((Location) uri range)
(collect (eglot--xref-make-match sym-name
uri range))))))
(if (vectorp response) response (and response (list response)))))))