From: João Távora Date: Wed, 16 Aug 2017 14:48:50 +0000 (+0100) Subject: Simplify `eglot--protocol-initialize` X-Git-Tag: emacs-29.0.90~1616^2~524^2~4^2~695 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dc6c221a76b3051e0625c40a3bbef2297eec2308;p=emacs.git Simplify `eglot--protocol-initialize` * eglot.el (eglot--protocol-initialize): Simplify --- diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index cd91d7821ce..b59ee02ce3a 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -70,7 +70,7 @@ "Point where next unread message starts") (eglot--define-process-var eglot--short-name nil - "A short name") + "A short name for the process") (eglot--define-process-var eglot--expected-bytes nil "How many bytes declared by server") @@ -81,6 +81,9 @@ (eglot--define-process-var eglot--events-buffer nil "A buffer pretty-printing the EGLOT RPC events") +(eglot--define-process-var eglot--capabilities :unreported + "Holds list of capabilities that server reported") + (cl-defmacro eglot--request (process method params @@ -367,29 +370,11 @@ :capabilities (:workspace (:executeCommand (:dynamicRegistration t)) :textDocument (:synchronization (:didSave t)))) (lambda (&key capabilities) - (cl-destructuring-bind - (&rest all - &key - ;; capabilities reported by server - _textDocumentSync - _hoverProvider - _completionProvider - _definitionProvider - _referencesProvider - _documentHighlightProvider - _documentSymbolProvider - _workspaceSymbolProvider - _codeActionProvider - _documentFormattingProvider - _documentRangeFormattingProvider - _renameProvider - _executeCommandProvider - ) - capabilities - (when interactive + (setf (eglot--capabilities process) capabilities) + (when interactive (eglot--message "So yeah I got lots (%d) of capabilities" - (length all))))))) + (length capabilities)))))) (defun eglot-quit-server (process &optional sync) (interactive (list (eglot--current-process-or-lose)))