From 39b7e357706b6c7efb37f644d7ff990163c1db25 Mon Sep 17 00:00:00 2001 From: Augusto Stoffel Date: Sun, 21 Apr 2024 11:21:58 +0200 Subject: [PATCH] Eglot: Add 'command-modes' property to all suitable commands Those are the commands that call 'eglot--current-server-or-lose'. * lisp/progmodes/eglot.el (eglot--managed-mode), (eglot-list-connections-mode): Make non-interactive. --- lisp/progmodes/eglot.el | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index efdbfba1075..cddd8994212 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -1978,7 +1978,7 @@ eglot--track-changes (define-minor-mode eglot--managed-mode "Mode for source buffers managed by some Eglot project." - :init-value nil :lighter nil :keymap eglot-mode-map + :init-value nil :lighter nil :keymap eglot-mode-map :interactive nil (cond (eglot--managed-mode (pcase (plist-get (eglot--capabilities (eglot-current-server)) @@ -3951,6 +3951,7 @@ eglot--glob-emit-range (define-derived-mode eglot-list-connections-mode tabulated-list-mode "" "Eglot mode for listing server connections \\{eglot-list-connections-mode-map}" + :interactive nil (setq-local tabulated-list-format `[("Language server" 16) ("Project name" 16) ("Modes handled" 16)]) (tabulated-list-init-header)) @@ -4140,6 +4141,27 @@ eglot-inlay-hints-mode "https://debbugs.gnu.org/%s") (match-string 3)))) +;; Add command-mode property manually for compatibility with Emacs < 28. +(dolist (sym '(eglot-clear-status + eglot-code-action-inline + eglot-code-action-organize-imports + eglot-code-action-quickfix + eglot-code-action-rewrite + eglot-code-action-rewrite + eglot-code-actions + eglot-find-declaration + eglot-find-implementation + eglot-find-typeDefinition + eglot-forget-pending-continuations + eglot-format + eglot-format-buffer + eglot-inlay-hints-mode + eglot-reconnect + eglot-rename + eglot-signal-didChangeConfiguration + eglot-stderr-buffer)) + (function-put sym 'command-modes '(eglot--managed-mode))) + (provide 'eglot) -- 2.44.0