Variable: eglot-server-programs
eglot-server-programs is a variable defined in eglot.el.gz.
Value
Large value
(((rust-ts-mode rust-mode) "rust-analyzer")
((cmake-mode cmake-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("neocmakelsp" "--stdio") "cmake-language-server")
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(vimrc-mode "vim-language-server" "--stdio")
((python-mode python-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("pylsp" "pyls" ("basedpyright-langserver" "--stdio")
("pyright-langserver" "--stdio") ("pyrefly" "lsp")
("ty" "server") "jedi-language-server" ("ruff" "server")
"ruff-lsp")
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
((js-json-mode json-mode json-ts-mode jsonc-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("vscode-json-language-server" "--stdio")
("vscode-json-languageserver" "--stdio")
("json-languageserver" "--stdio"))
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(((js-mode :language-id "javascript")
(js-ts-mode :language-id "javascript")
(tsx-ts-mode :language-id "typescriptreact")
(typescript-ts-mode :language-id "typescript")
(typescript-mode :language-id "typescript"))
"typescript-language-server" "--stdio")
((bash-ts-mode sh-mode) "bash-language-server" "start")
((php-mode phps-mode php-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("phpactor" "language-server")
("php"
"vendor/felixfbecker/language-server/bin/php-language-server.php"))
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("clangd" "ccls") current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(((caml-mode :language-id "ocaml")
(ocaml-ts-mode :language-id "ocaml")
(tuareg-mode :language-id "ocaml") reason-mode)
"ocamllsp")
((ruby-mode ruby-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("solargraph" "socket" "--port" :autoport) "ruby-lsp")
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(haskell-mode "haskell-language-server-wrapper" "--lsp")
(elm-mode "elm-language-server") (mint-mode "mint" "ls")
((kotlin-mode kotlin-ts-mode) "kotlin-language-server")
((go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode
go-work-ts-mode)
"gopls")
((R-mode ess-r-mode) "R" "--slave" "-e" "languageserver::run()")
((java-mode java-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("jdtls" "java-language-server") current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
((dart-mode dart-ts-mode) "dart" "language-server" "--client-id"
"emacs.eglot-dart")
((elixir-mode elixir-ts-mode heex-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("language_server.sh" "start_lexical.sh") current-prefix-arg
nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
((ada-mode ada-ts-mode) "ada_language_server")
((gpr-mode gpr-ts-mode) "ada_language_server" "--language-gpr")
(scala-mode
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("metals" "metals-emacs") current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(racket-mode "racket" "-l" "racket-langserver")
((latex-mode plain-tex-mode context-mode texinfo-mode bibtex-mode
tex-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("digestif" "texlab") current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(erlang-mode "erlang_ls" "--transport" "stdio")
((yaml-ts-mode yaml-mode) "yaml-language-server" "--stdio")
((toml-ts-mode conf-toml-mode) "tombi" "lsp")
(nix-mode
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("nil" "rnix-lsp" "nixd") current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(nickel-mode "nls") ((nushell-mode nushell-ts-mode) "nu" "--lsp")
(gdscript-mode "localhost" 6008) (fennel-mode "fennel-ls")
(move-mode "move-analyzer") ((fortran-mode f90-mode) "fortls")
(futhark-mode "futhark" "lsp")
((lua-mode lua-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[("lua-language-server" "lua-lsp") current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(yang-mode "yang-language-server") ((zig-mode zig-ts-mode) "zls")
((css-mode css-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("vscode-css-language-server" "--stdio")
("css-languageserver" "--stdio"))
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(html-mode
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("vscode-html-language-server" "--stdio")
("html-languageserver" "--stdio"))
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
((dockerfile-mode dockerfile-ts-mode) "docker-langserver" "--stdio")
((clojure-mode clojurescript-mode clojurec-mode clojure-ts-mode)
"clojure-lsp")
((csharp-mode csharp-ts-mode)
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("omnisharp" "-lsp") ("OmniSharp" "-lsp") ("csharp-ls"))
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(purescript-mode "purescript-language-server" "--stdio")
((perl-mode cperl-mode) "perl" "-MPerl::LanguageServer" "-e"
"Perl::LanguageServer::run")
(markdown-mode
. #[512
"\300\302\211:\203\"@\262<\203\202CB\262A\262\202\266\202\237\303\2030 \2030\302\207\203_\304\305\"\306\302\"\211A\203W\307\310\311\304\312\"\302\313\302\211@@&\314#A\207\211@A\206^\302\207\302\211\211\313\302\211:\203\237@\262\211A\262\242\262\315\313\"\262\203\220B\262\302\211\262\202\221\313\203\237A\262\302\262\202f\203\252 !\302\207\207"
[(("marksman" "server")
("vscode-markdown-language-server" "--stdio"))
current-prefix-arg nil
#[257 "\300\301\302\303\304#\"\207"
[error "None of '%s' are valid executables" mapconcat car
", "]
7
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2792)]
mapcar
#[257 "\300@\301\"\211\205@ABB\207"
[eglot--executable-find t] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2814)]
remove assoc completing-read
"[eglot] More than one server executable available: " car t
equal eglot--executable-find]
16
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 2750)])
(graphviz-dot-mode "dot-language-server" "--stdio")
(terraform-mode "terraform-ls" "serve")
((uiua-ts-mode uiua-mode) "uiua" "lsp")
(sml-mode
. #[514 "\300\301!D\207" ["millet-ls" project-root] 5
("/nix/store/yvwy8dm26cpa1j12ixgs1dyiaw2abdk9-emacs-snapshot/share/emacs/31.0.50/lisp/progmodes/eglot.elc"
. 7618)])
((blueprint-mode blueprint-ts-mode) "blueprint-compiler" "lsp")
((odin-mode odin-ts-mode) "ols"))
Documentation
How the command eglot guesses the server to start.
An association list of (MAJOR-MODE . CONTACT) pairs. MAJOR-MODE identifies the buffers that are to be managed by a specific language server. The associated CONTACT specifies how to connect to a server for those buffers.
MAJOR-MODE can be:
* In the most common case, a symbol such as c-mode;
* A list (MAJOR-MODE-SYMBOL :LANGUAGE-ID ID) where
MAJOR-MODE-SYMBOL is the aforementioned symbol and ID is a
string identifying the language to the server;
* A list combining the previous two alternatives, meaning
multiple major modes will be associated with a single server
program. This association is such that the same resulting
server process will manage buffers of different major modes.
CONTACT can be:
* In the most common case, a list of strings (PROGRAM [ARGS...]).
PROGRAM is called with ARGS and is expected to serve LSP requests
over the standard input/output channels.
* A list (PROGRAM [ARGS...] :initializationOptions OPTIONS),
whereupon PROGRAM is called with ARGS as in the first option,
and the LSP "initializationOptions" JSON object is
constructed from OPTIONS. If OPTIONS is a unary function, it
is called with the server instance and should return a JSON
object.
* A list (HOST PORT [TCP-ARGS...]) where HOST is a string and
PORT is a positive integer for connecting to a server via TCP.
Remaining ARGS are passed to open-network-stream for
upgrading the connection with encryption or other capabilities.
* A list (PROGRAM [ARGS...] :autoport [MOREARGS...]), whereupon a
combination of previous options is used. First, an attempt is
made to find an available server port, then PROGRAM is launched
with ARGS; the :autoport keyword substituted for that number;
and MOREARGS. Eglot then attempts to establish a TCP
connection to that port number on the localhost.
* A cons (CLASS-NAME . INITARGS) where CLASS-NAME is a symbol
designating a subclass of eglot-lsp-server(var)/eglot-lsp-server(fun), for representing
experimental LSP servers. INITARGS is a keyword-value plist
used to initialize the object of CLASS-NAME, or a plain list
interpreted as the previous descriptions of CONTACT. In the
latter case that plain list is used to produce a plist with a
suitable :PROCESS initarg to CLASS-NAME. The class
eglot-lsp-server(var)/eglot-lsp-server(fun) descends from jsonrpc-process-connection(var)/jsonrpc-process-connection(fun),
which you should see for the semantics of the mandatory
:PROCESS argument.
* A function of two arguments (INTERACTIVE PROJECT) producing any
of the above values for CONTACT. INTERACTIVE will be t if an
interactive M-x eglot was used, and nil otherwise (e.g. from
eglot-ensure). Interactive calls may ask the user for hints
on finding the required programs, etc. PROJECT is whatever
project Eglot discovered via project-find-functions (which
see). The function should return nil or signal an error if it
can't produce a valid CONTACT. The helper function
eglot-alternatives (which see) can be used to produce a
function that offers more than one server for a given
MAJOR-MODE.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/eglot.el.gz
(defvar eglot-server-programs
;; FIXME: Maybe this info should be distributed into the major modes
;; themselves where they could set a buffer-local `eglot-server-program'
;; instead of keeping this database centralized.
;; FIXME: With `derived-mode-add-parents' in Emacs≥30, some of
;; those entries can be simplified, but we keep them for when
;; `eglot.el' is installed via GNU ELPA in an older Emacs.
`(((rust-ts-mode rust-mode) . ("rust-analyzer"))
((cmake-mode cmake-ts-mode)
. ,(eglot-alternatives '(("neocmakelsp" "--stdio") "cmake-language-server")))
(vimrc-mode . ("vim-language-server" "--stdio"))
((python-mode python-ts-mode)
. ,(eglot-alternatives
'("pylsp" "pyls" ("basedpyright-langserver" "--stdio")
("pyright-langserver" "--stdio")
("pyrefly" "lsp")
("ty" "server")
"jedi-language-server" ("ruff" "server") "ruff-lsp")))
((js-json-mode json-mode json-ts-mode jsonc-mode)
. ,(eglot-alternatives '(("vscode-json-language-server" "--stdio")
("vscode-json-languageserver" "--stdio")
("json-languageserver" "--stdio"))))
(((js-mode :language-id "javascript")
(js-ts-mode :language-id "javascript")
(tsx-ts-mode :language-id "typescriptreact")
(typescript-ts-mode :language-id "typescript")
(typescript-mode :language-id "typescript"))
. ("typescript-language-server" "--stdio"))
((bash-ts-mode sh-mode) . ("bash-language-server" "start"))
((php-mode phps-mode php-ts-mode)
. ,(eglot-alternatives
'(("phpactor" "language-server")
("php" "vendor/felixfbecker/language-server/bin/php-language-server.php"))))
((c-mode c-ts-mode c++-mode c++-ts-mode objc-mode)
. ,(eglot-alternatives
'("clangd" "ccls")))
(((caml-mode :language-id "ocaml")
(ocaml-ts-mode :language-id "ocaml")
(tuareg-mode :language-id "ocaml") reason-mode)
. ("ocamllsp"))
((ruby-mode ruby-ts-mode)
. ,(eglot-alternatives
'(("solargraph" "socket" "--port" :autoport) "ruby-lsp")))
(haskell-mode
. ("haskell-language-server-wrapper" "--lsp"))
(elm-mode . ("elm-language-server"))
(mint-mode . ("mint" "ls"))
((kotlin-mode kotlin-ts-mode) . ("kotlin-language-server"))
((go-mode go-dot-mod-mode go-dot-work-mode go-ts-mode go-mod-ts-mode go-work-ts-mode)
. ("gopls"))
((R-mode ess-r-mode) . ("R" "--slave" "-e"
"languageserver::run()"))
((java-mode java-ts-mode)
. ,(eglot-alternatives '("jdtls" "java-language-server")))
((dart-mode dart-ts-mode)
. ("dart" "language-server"
"--client-id" "emacs.eglot-dart"))
((elixir-mode elixir-ts-mode heex-ts-mode)
. ,(if (and (fboundp 'w32-shell-dos-semantics)
(w32-shell-dos-semantics))
'("language_server.bat")
(eglot-alternatives
'("language_server.sh" "start_lexical.sh"))))
((ada-mode ada-ts-mode) . ("ada_language_server"))
((gpr-mode gpr-ts-mode) . ("ada_language_server" "--language-gpr"))
(scala-mode . ,(eglot-alternatives
'("metals" "metals-emacs")))
(racket-mode . ("racket" "-l" "racket-langserver"))
((latex-mode plain-tex-mode context-mode texinfo-mode bibtex-mode tex-mode)
. ,(eglot-alternatives '("digestif" "texlab")))
(erlang-mode . ("erlang_ls" "--transport" "stdio"))
((yaml-ts-mode yaml-mode) . ("yaml-language-server" "--stdio"))
((toml-ts-mode conf-toml-mode) . ("tombi" "lsp"))
(nix-mode . ,(eglot-alternatives '("nil" "rnix-lsp" "nixd")))
(nickel-mode . ("nls"))
((nushell-mode nushell-ts-mode) . ("nu" "--lsp"))
(gdscript-mode . ("localhost" 6008))
(fennel-mode . ("fennel-ls"))
(move-mode . ("move-analyzer"))
((fortran-mode f90-mode) . ("fortls"))
(futhark-mode . ("futhark" "lsp"))
((lua-mode lua-ts-mode) . ,(eglot-alternatives
'("lua-language-server" "lua-lsp")))
(yang-mode . ("yang-language-server"))
((zig-mode zig-ts-mode) . ("zls"))
((css-mode css-ts-mode)
. ,(eglot-alternatives '(("vscode-css-language-server" "--stdio")
("css-languageserver" "--stdio"))))
(html-mode . ,(eglot-alternatives
'(("vscode-html-language-server" "--stdio")
("html-languageserver" "--stdio"))))
((dockerfile-mode dockerfile-ts-mode) . ("docker-langserver" "--stdio"))
((clojure-mode clojurescript-mode clojurec-mode clojure-ts-mode)
. ("clojure-lsp"))
((csharp-mode csharp-ts-mode)
. ,(eglot-alternatives
'(("omnisharp" "-lsp")
("OmniSharp" "-lsp")
("csharp-ls"))))
(purescript-mode . ("purescript-language-server" "--stdio"))
((perl-mode cperl-mode)
. ("perl" "-MPerl::LanguageServer" "-e" "Perl::LanguageServer::run"))
(markdown-mode
. ,(eglot-alternatives
'(("marksman" "server")
("vscode-markdown-language-server" "--stdio"))))
(graphviz-dot-mode . ("dot-language-server" "--stdio"))
(terraform-mode . ("terraform-ls" "serve"))
((uiua-ts-mode uiua-mode) . ("uiua" "lsp"))
(sml-mode
. ,(lambda (_interactive project)
(list "millet-ls" (project-root project))))
((blueprint-mode blueprint-ts-mode) . ("blueprint-compiler" "lsp"))
((odin-mode odin-ts-mode) . ("ols")))
"How the command `eglot' guesses the server to start.
An association list of (MAJOR-MODE . CONTACT) pairs. MAJOR-MODE
identifies the buffers that are to be managed by a specific
language server. The associated CONTACT specifies how to connect
to a server for those buffers.
MAJOR-MODE can be:
* In the most common case, a symbol such as `c-mode';
* A list (MAJOR-MODE-SYMBOL :LANGUAGE-ID ID) where
MAJOR-MODE-SYMBOL is the aforementioned symbol and ID is a
string identifying the language to the server;
* A list combining the previous two alternatives, meaning
multiple major modes will be associated with a single server
program. This association is such that the same resulting
server process will manage buffers of different major modes.
CONTACT can be:
* In the most common case, a list of strings (PROGRAM [ARGS...]).
PROGRAM is called with ARGS and is expected to serve LSP requests
over the standard input/output channels.
* A list (PROGRAM [ARGS...] :initializationOptions OPTIONS),
whereupon PROGRAM is called with ARGS as in the first option,
and the LSP \"initializationOptions\" JSON object is
constructed from OPTIONS. If OPTIONS is a unary function, it
is called with the server instance and should return a JSON
object.
* A list (HOST PORT [TCP-ARGS...]) where HOST is a string and
PORT is a positive integer for connecting to a server via TCP.
Remaining ARGS are passed to `open-network-stream' for
upgrading the connection with encryption or other capabilities.
* A list (PROGRAM [ARGS...] :autoport [MOREARGS...]), whereupon a
combination of previous options is used. First, an attempt is
made to find an available server port, then PROGRAM is launched
with ARGS; the `:autoport' keyword substituted for that number;
and MOREARGS. Eglot then attempts to establish a TCP
connection to that port number on the localhost.
* A cons (CLASS-NAME . INITARGS) where CLASS-NAME is a symbol
designating a subclass of `eglot-lsp-server', for representing
experimental LSP servers. INITARGS is a keyword-value plist
used to initialize the object of CLASS-NAME, or a plain list
interpreted as the previous descriptions of CONTACT. In the
latter case that plain list is used to produce a plist with a
suitable :PROCESS initarg to CLASS-NAME. The class
`eglot-lsp-server' descends from `jsonrpc-process-connection',
which you should see for the semantics of the mandatory
:PROCESS argument.
* A function of two arguments (INTERACTIVE PROJECT) producing any
of the above values for CONTACT. INTERACTIVE will be t if an
interactive `M-x eglot' was used, and nil otherwise (e.g. from
`eglot-ensure'). Interactive calls may ask the user for hints
on finding the required programs, etc. PROJECT is whatever
project Eglot discovered via `project-find-functions' (which
see). The function should return nil or signal an error if it
can't produce a valid CONTACT. The helper function
`eglot-alternatives' (which see) can be used to produce a
function that offers more than one server for a given
MAJOR-MODE.")