From dc6c221a76b3051e0625c40a3bbef2297eec2308 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Wed, 16 Aug 2017 15:48:50 +0100 Subject: [PATCH] Simplify `eglot--protocol-initialize` * eglot.el (eglot--protocol-initialize): Simplify --- lisp/progmodes/eglot.el | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) 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))) -- 2.39.2