lang/julia: improve lsp support (#4012)

* lang/julia: include lsp-julia w/o language server

Use nonrecursive clone to get lsp-julia without bundled
LanguageServer.jl (plus dependencies) and include instructions in the
README on how to install the language server (bundled or otherwise).

* lang/julia: add checks for julia +lsp in doctor

Add two checks, both only for when the +lsp feature is enabled:
- Check if (:tools lsp) is selected
- Check if LanguageServer.jl is installed

* lang/julia: indicate SymbolServer.jl as dependency

It is itself a dependency of LanguageServer.jl, but it's necessary to
add it separately in order to do `using SymbolServer`.

* tools/lsp: add julia language server to list

* lang/julia: add eglot support using eglot-jl

Forcing eglot-jl to not install its own LanguageServer.jl is a bit of a
hack though.

* lang/julia: make timeout increase buffer-local

Suggestion by @benneti to use `setq-local` instead of `setq` to prevent
a timeout increase in non-Julia eglot buffers.

* Fix issues

Co-authored-by: Henrik Lissner <henrik@lissner.net>
This commit is contained in:
Han 2021-03-02 04:25:35 +01:00 committed by GitHub
parent 88e18fc7c1
commit ba0f791b05
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 109 additions and 26 deletions

View file

@ -45,6 +45,7 @@ As of this writing, this is the state of LSP support in Doom Emacs:
| [[../../lang/haskell/README.org][:lang haskell]] | haskell-mode | haskell-language-server |
| [[../../lang/java/README.org][:lang java]] | java-mode | lsp-java |
| [[../../lang/javascript/README.org][:lang javascript]] | js2-mode, rjsx-mode, typescript-mode | typescript-language-server |
| [[../../lang/julia/README.org][:lang julia]] | julia-mode | LanguageServer.jl |
| [[../../lang/ocaml/README.org][:lang ocaml]] | tuareg-mode | ocaml-language-server |
| [[../../lang/php/README.org][:lang php]] | php-mode | php-language-server |
| [[../../lang/python/README.org][:lang python]] | python-mode | lsp-python-ms |