summaryrefslogtreecommitdiffstats
path: root/lisp/init-eglot.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2023-03-21 09:28:13 +0100
committerMartin Polden <mpolden@mpolden.no>2023-03-21 09:28:13 +0100
commit0559ecdeed79fe2ec239a506cb9c5ffd6e722324 (patch)
tree3d037e6bc3989e29ec4f0c2f5e631fc39f8db29f /lisp/init-eglot.el
parentaffa91d4c7442f7ac1fc8513ca89883a1570f014 (diff)
Revert "eglot: simplify"
This reverts commit affa91d4c7442f7ac1fc8513ca89883a1570f014.
Diffstat (limited to 'lisp/init-eglot.el')
-rw-r--r--lisp/init-eglot.el17
1 files changed, 9 insertions, 8 deletions
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)