aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2024-03-08 12:39:59 -0500
committerStefan Monnier2024-03-09 10:29:52 -0500
commit357eb52e094ee751b2ee2f736f7a5e8cc1cdc99c (patch)
tree7c46fd69272306f1b31ca008aefd9135e2e45422
parent41de53d4a1c49ef6c6e8ac4ecb0c10cb1b6e07ce (diff)
downloademacs-357eb52e094ee751b2ee2f736f7a5e8cc1cdc99c.tar.gz
emacs-357eb52e094ee751b2ee2f736f7a5e8cc1cdc99c.zip
(eglot-server-programs): Comment and whitespace only change
* lisp/progmodes/eglot.el (eglot-server-programs): Add comment. Make the definition fit into 80 columns.
-rw-r--r--lisp/progmodes/eglot.el187
1 files changed, 99 insertions, 88 deletions
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index f341428cac3..afe3281361d 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -226,94 +226,105 @@ automatically)."
226 when probe return (cons probe args) 226 when probe return (cons probe args)
227 finally (funcall err))))))) 227 finally (funcall err)))))))
228 228
229(defvar eglot-server-programs `(((rust-ts-mode rust-mode) . ("rust-analyzer")) 229(defvar eglot-server-programs
230 ((cmake-mode cmake-ts-mode) . ("cmake-language-server")) 230 ;; FIXME: Maybe this info should be distributed into the major modes
231 (vimrc-mode . ("vim-language-server" "--stdio")) 231 ;; themselves where they could set a buffer-local `eglot-server-program'
232 ((python-mode python-ts-mode) 232 ;; instead of keeping this database centralized.
233 . ,(eglot-alternatives 233 ;; FIXME: With `derived-mode-add-parents' in Emacs≄30, some of
234 '("pylsp" "pyls" ("pyright-langserver" "--stdio") "jedi-language-server" "ruff-lsp"))) 234 ;; those entries can be simplified, but we keep them for when
235 ((js-json-mode json-mode json-ts-mode) 235 ;; `eglot.el' is installed via GNU ELPA in an older Emacs.
236 . ,(eglot-alternatives '(("vscode-json-language-server" "--stdio") 236 `(((rust-ts-mode rust-mode) . ("rust-analyzer"))
237 ("vscode-json-languageserver" "--stdio") 237 ((cmake-mode cmake-ts-mode) . ("cmake-language-server"))
238 ("json-languageserver" "--stdio")))) 238 (vimrc-mode . ("vim-language-server" "--stdio"))
239 (((js-mode :language-id "javascript") 239 ((python-mode python-ts-mode)
240 (js-ts-mode :language-id "javascript") 240 . ,(eglot-alternatives
241 (tsx-ts-mode :language-id "typescriptreact") 241 '("pylsp" "pyls" ("pyright-langserver" "--stdio")
242 (typescript-ts-mode :language-id "typescript") 242 "jedi-language-server" "ruff-lsp")))
243 (typescript-mode :language-id "typescript")) 243 ((js-json-mode json-mode json-ts-mode)
244 . ("typescript-language-server" "--stdio")) 244 . ,(eglot-alternatives '(("vscode-json-language-server" "--stdio")
245 ((bash-ts-mode sh-mode) . ("bash-language-server" "start")) 245 ("vscode-json-languageserver" "--stdio")
246 ((php-mode phps-mode php-ts-mode) 246 ("json-languageserver" "--stdio"))))
247 . ,(eglot-alternatives 247 (((js-mode :language-id "javascript")
248 '(("phpactor" "language-server") 248 (js-ts-mode :language-id "javascript")
249 ("php" "vendor/felixfbecker/language-server/bin/php-language-server.php")))) 249 (tsx-ts-mode :language-id "typescriptreact")
250 ((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode) 250 (typescript-ts-mode :language-id "typescript")
251 . ,(eglot-alternatives 251 (typescript-mode :language-id "typescript"))
252 '("clangd" "ccls"))) 252 . ("typescript-language-server" "--stdio"))
253 (((caml-mode :language-id "ocaml") 253 ((bash-ts-mode sh-mode) . ("bash-language-server" "start"))
254 (tuareg-mode :language-id "ocaml") reason-mode) 254 ((php-mode phps-mode php-ts-mode)
255 . ("ocamllsp")) 255 . ,(eglot-alternatives
256 ((ruby-mode ruby-ts-mode) 256 '(("phpactor" "language-server")
257 . ("solargraph" "socket" "--port" :autoport)) 257 ("php" "vendor/felixfbecker/language-server/bin/php-language-server.php"))))
258 (haskell-mode 258 ((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)
259 . ("haskell-language-server-wrapper" "--lsp")) 259 . ,(eglot-alternatives
260 (elm-mode . ("elm-language-server")) 260 '("clangd" "ccls")))
261 (mint-mode . ("mint" "ls")) 261 (((caml-mode :language-id "ocaml")
262 ((kotlin-mode kotlin-ts-mode) . ("kotlin-language-server")) 262 (tuareg-mode :language-id "ocaml") reason-mode)
263 ((go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode) 263 . ("ocamllsp"))
264 . ("gopls")) 264 ((ruby-mode ruby-ts-mode)
265 ((R-mode ess-r-mode) . ("R" "--slave" "-e" 265 . ("solargraph" "socket" "--port" :autoport))
266 "languageserver::run()")) 266 (haskell-mode
267 ((java-mode java-ts-mode) . ("jdtls")) 267 . ("haskell-language-server-wrapper" "--lsp"))
268 ((dart-mode dart-ts-mode) 268 (elm-mode . ("elm-language-server"))
269 . ("dart" "language-server" 269 (mint-mode . ("mint" "ls"))
270 "--client-id" "emacs.eglot-dart")) 270 ((kotlin-mode kotlin-ts-mode) . ("kotlin-language-server"))
271 ((elixir-mode elixir-ts-mode heex-ts-mode) 271 ((go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode)
272 . ,(if (and (fboundp 'w32-shell-dos-semantics) 272 . ("gopls"))
273 (w32-shell-dos-semantics)) 273 ((R-mode ess-r-mode) . ("R" "--slave" "-e"
274 '("language_server.bat") 274 "languageserver::run()"))
275 (eglot-alternatives 275 ((java-mode java-ts-mode) . ("jdtls"))
276 '("language_server.sh" "start_lexical.sh")))) 276 ((dart-mode dart-ts-mode)
277 (ada-mode . ("ada_language_server")) 277 . ("dart" "language-server"
278 (scala-mode . ,(eglot-alternatives 278 "--client-id" "emacs.eglot-dart"))
279 '("metals" "metals-emacs"))) 279 ((elixir-mode elixir-ts-mode heex-ts-mode)
280 (racket-mode . ("racket" "-l" "racket-langserver")) 280 . ,(if (and (fboundp 'w32-shell-dos-semantics)
281 ((tex-mode context-mode texinfo-mode bibtex-mode) 281 (w32-shell-dos-semantics))
282 . ,(eglot-alternatives '("digestif" "texlab"))) 282 '("language_server.bat")
283 (erlang-mode . ("erlang_ls" "--transport" "stdio")) 283 (eglot-alternatives
284 ((yaml-ts-mode yaml-mode) . ("yaml-language-server" "--stdio")) 284 '("language_server.sh" "start_lexical.sh"))))
285 (nix-mode . ,(eglot-alternatives '("nil" "rnix-lsp" "nixd"))) 285 (ada-mode . ("ada_language_server"))
286 (nickel-mode . ("nls")) 286 (scala-mode . ,(eglot-alternatives
287 ((nushell-mode nushell-ts-mode) . ("nu" "--lsp")) 287 '("metals" "metals-emacs")))
288 (gdscript-mode . ("localhost" 6008)) 288 (racket-mode . ("racket" "-l" "racket-langserver"))
289 ((fortran-mode f90-mode) . ("fortls")) 289 ((tex-mode context-mode texinfo-mode bibtex-mode)
290 (futhark-mode . ("futhark" "lsp")) 290 . ,(eglot-alternatives '("digestif" "texlab")))
291 ((lua-mode lua-ts-mode) . ,(eglot-alternatives 291 (erlang-mode . ("erlang_ls" "--transport" "stdio"))
292 '("lua-language-server" "lua-lsp"))) 292 ((yaml-ts-mode yaml-mode) . ("yaml-language-server" "--stdio"))
293 (zig-mode . ("zls")) 293 (nix-mode . ,(eglot-alternatives '("nil" "rnix-lsp" "nixd")))
294 ((css-mode css-ts-mode) 294 (nickel-mode . ("nls"))
295 . ,(eglot-alternatives '(("vscode-css-language-server" "--stdio") 295 ((nushell-mode nushell-ts-mode) . ("nu" "--lsp"))
296 ("css-languageserver" "--stdio")))) 296 (gdscript-mode . ("localhost" 6008))
297 (html-mode . ,(eglot-alternatives '(("vscode-html-language-server" "--stdio") ("html-languageserver" "--stdio")))) 297 ((fortran-mode f90-mode) . ("fortls"))
298 ((dockerfile-mode dockerfile-ts-mode) . ("docker-langserver" "--stdio")) 298 (futhark-mode . ("futhark" "lsp"))
299 ((clojure-mode clojurescript-mode clojurec-mode clojure-ts-mode) 299 ((lua-mode lua-ts-mode) . ,(eglot-alternatives
300 . ("clojure-lsp")) 300 '("lua-language-server" "lua-lsp")))
301 ((csharp-mode csharp-ts-mode) 301 (zig-mode . ("zls"))
302 . ,(eglot-alternatives 302 ((css-mode css-ts-mode)
303 '(("omnisharp" "-lsp") 303 . ,(eglot-alternatives '(("vscode-css-language-server" "--stdio")
304 ("csharp-ls")))) 304 ("css-languageserver" "--stdio"))))
305 (purescript-mode . ("purescript-language-server" "--stdio")) 305 (html-mode . ,(eglot-alternatives
306 ((perl-mode cperl-mode) . ("perl" "-MPerl::LanguageServer" "-e" "Perl::LanguageServer::run")) 306 '(("vscode-html-language-server" "--stdio")
307 (markdown-mode 307 ("html-languageserver" "--stdio"))))
308 . ,(eglot-alternatives 308 ((dockerfile-mode dockerfile-ts-mode) . ("docker-langserver" "--stdio"))
309 '(("marksman" "server") 309 ((clojure-mode clojurescript-mode clojurec-mode clojure-ts-mode)
310 ("vscode-markdown-language-server" "--stdio")))) 310 . ("clojure-lsp"))
311 (graphviz-dot-mode . ("dot-language-server" "--stdio")) 311 ((csharp-mode csharp-ts-mode)
312 (terraform-mode . ("terraform-ls" "serve")) 312 . ,(eglot-alternatives
313 ((uiua-ts-mode uiua-mode) . ("uiua" "lsp")) 313 '(("omnisharp" "-lsp")
314 (sml-mode 314 ("csharp-ls"))))
315 . ,(lambda (_interactive project) 315 (purescript-mode . ("purescript-language-server" "--stdio"))
316 (list "millet-ls" (project-root project))))) 316 ((perl-mode cperl-mode)
317 . ("perl" "-MPerl::LanguageServer" "-e" "Perl::LanguageServer::run"))
318 (markdown-mode
319 . ,(eglot-alternatives
320 '(("marksman" "server")
321 ("vscode-markdown-language-server" "--stdio"))))
322 (graphviz-dot-mode . ("dot-language-server" "--stdio"))
323 (terraform-mode . ("terraform-ls" "serve"))
324 ((uiua-ts-mode uiua-mode) . ("uiua" "lsp"))
325 (sml-mode
326 . ,(lambda (_interactive project)
327 (list "millet-ls" (project-root project)))))
317 "How the command `eglot' guesses the server to start. 328 "How the command `eglot' guesses the server to start.
318An association list of (MAJOR-MODE . CONTACT) pairs. MAJOR-MODE 329An association list of (MAJOR-MODE . CONTACT) pairs. MAJOR-MODE
319identifies the buffers that are to be managed by a specific 330identifies the buffers that are to be managed by a specific