Function: eglot--hierarchy-1
eglot--hierarchy-1 is a byte-compiled function defined in eglot.el.gz.
Signature
(eglot--hierarchy-1 NAME PROVIDER PREPARER SPECS)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(defun eglot--hierarchy-1 (name provider preparer specs)
(eglot-server-capable-or-lose provider)
(let* ((server (eglot-current-server))
(mode major-mode)
(roots (jsonrpc-request
server
preparer
(eglot--TextDocumentPositionParams))))
(unless (cl-plusp (length roots))
(eglot--error "No hierarchy information here"))
(with-current-buffer (get-buffer-create name)
(eglot-hierarchy-mode)
(setq-local eglot--hierarchy-roots roots)
(setq-local eglot--hierarchy-specs specs)
(setq-local eglot--cached-server server)
(setq-local eglot--hierarchy-source-major-mode mode)
(setq-local buffer-read-only t)
(setq-local revert-buffer-function
(lambda (&rest _ignore)
;; flush cache, would defeat purpose of a revert
(mapc (lambda (r)
(eglot--dbind ((HierarchyItem) name) r
(set-text-properties 0 1 nil name)))
eglot--hierarchy-roots)
(eglot--hierarchy-2)))
(eglot--hierarchy-2))))