Function: eglot--request
eglot--request is a byte-compiled function defined in eglot.el.gz.
Signature
(eglot--request SERVER METHOD PARAMS &key IMMEDIATE TIMEOUT CANCEL-ON-INPUT CANCEL-ON-INPUT-RETVAL)
Documentation
Like jsonrpc-request, but for Eglot LSP requests.
Unless IMMEDIATE, send pending changes before making request.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(cl-defun eglot--request (server method params &key
immediate
timeout cancel-on-input
cancel-on-input-retval)
"Like `jsonrpc-request', but for Eglot LSP requests.
Unless IMMEDIATE, send pending changes before making request."
(unless immediate (eglot--signal-textDocument/didChange))
(cl-flet ((cancel (id)
(jsonrpc-notify server '$/cancelRequest `(:id ,id))))
(condition-case oops
(jsonrpc-request server method params
:timeout timeout
:cancel-on-input
(if (and cancel-on-input eglot-advertise-cancellation)
#'cancel
cancel-on-input)
:cancel-on-quit
(and eglot-advertise-cancellation #'cancel)
:cancel-on-input-retval cancel-on-input-retval)
(jsonrpc-error
(let* ((data (cddr oops)) (ec (alist-get 'jsonrpc-error-code data)))
(if (zerop ec) (eglot--message (alist-get 'jsonrpc-error-message data))
(signal 'jsonrpc-error (cdr oops))))))))