From 0559ecdeed79fe2ec239a506cb9c5ffd6e722324 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Tue, 21 Mar 2023 09:28:13 +0100 Subject: Revert "eglot: simplify" This reverts commit affa91d4c7442f7ac1fc8513ca89883a1570f014. --- lisp/init-eglot.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'lisp/init-eglot.el') diff --git a/lisp/init-eglot.el b/lisp/init-eglot.el index db2caf1..a993765 100644 --- a/lisp/init-eglot.el +++ b/lisp/init-eglot.el @@ -47,18 +47,19 @@ "\\1" string)) -(defun mpolden/eglot-toolbox-program (&optional interactive) - "Create arguments for starting a LSP server inside Toolbox. -Returns nil if toolbox is not found in PATH. Optional argument -INTERACTIVE has no effect, but must be present to satisfy -`eglot-server-programs'." +(defun mpolden/eglot-server-program (&optional interactive) + "Return a LSP server program for the current `major-mode'. +If toolbox is in PATH, prefix the server program with \"toolbox +run\". Optional argument INTERACTIVE has no effect, but must be +present to satisfy `eglot-server-programs'." (when-let* ((programs '((go-mode . "gopls") (python-mode . "pylsp") (rust-mode . "rust-analyzer") (java-mode . "jdtls"))) (program (cdr (assoc major-mode programs)))) - (when (executable-find "toolbox" (file-remote-p buffer-file-name)) - (list "toolbox" "run" program)))) + (if (executable-find "toolbox" (file-remote-p buffer-file-name)) + (list "toolbox" "run" program) + (list program)))) (use-package eglot :ensure t @@ -94,7 +95,7 @@ INTERACTIVE has no effect, but must be present to satisfy 'mpolden/gfm-unescape-string) ;; run some servers through toolbox (add-to-list 'eglot-server-programs - '(prog-mode . mpolden/eglot-toolbox-program))) + '(prog-mode . mpolden/eglot-server-program))) (provide 'init-eglot) -- cgit v1.2.3