aboutsummaryrefslogtreecommitdiffstats
path: root/CONFIG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONFIG.md')
-rw-r--r--CONFIG.md57
1 files changed, 52 insertions, 5 deletions
diff --git a/CONFIG.md b/CONFIG.md
index a43f4ffd..1ef6dcf4 100644
--- a/CONFIG.md
+++ b/CONFIG.md
@@ -1820,14 +1820,49 @@ require'lspconfig'.jsonls.setup{}
## julials
https://github.com/julia-vscode/julia-vscode
+
`LanguageServer.jl` can be installed with `julia` and `Pkg`:
```sh
-julia --project=julials -e 'using Pkg; Pkg.add("LanguageServer"); Pkg.add("SymbolServer")'
+julia -e 'using Pkg; Pkg.add("LanguageServer"); Pkg.add("SymbolServer")'
+```
+The default config lazily evaluates the location of the julia language server from the your global julia packages.
+This adds a small overhead on first opening of a julia file. To avoid this overhead, replace server_path in on_new_config with
+a hard-coded path to the server.
+
+```lua
+require'lspconfig'.julials.setup{
+ on_new_config = function(new_config,new_root_dir)
+ server_path = "/path/to/directory/containing/LanguageServer.jl/src"
+ cmd = {
+ "julia",
+ "--project="..server_path,
+ "--startup-file=no",
+ "--history-file=no",
+ "-e", [[
+ using Pkg;
+ Pkg.instantiate()
+ using LanguageServer; using SymbolServer;
+ depot_path = get(ENV, "JULIA_DEPOT_PATH", "")
+ project_path = dirname(something(Base.current_project(pwd()), Base.load_path_expand(LOAD_PATH[2])))
+ # Make sure that we only load packages from this environment specifically.
+ @info "Running language server" env=Base.load_path()[1] pwd() project_path depot_path
+ server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path);
+ server.runlinter = true;
+ run(server);
+ \]\]
+ };
+ new_config.cmd = cmd
+ end
+}
```
-If you want to install the LanguageServer manually, you will have to ensure that the Julia environment is stored in this location:
-```vim
-:lua print(require'lspconfig'.util.path.join(require'lspconfig'.util.base_install_dir, "julials"))
+You can find the path to the globally installed LanguageServer.jl package with the following command:
+
+```bash
+julia -e 'print(Base.find_package("LanguageServer"))'
```
+
+Note: the directory passed to `--project=...` should terminate with src, not LanguageServer.jl.
+
This server accepts configuration via the `settings` key.
<details><summary>Available settings:</summary>
@@ -1872,6 +1907,12 @@ This server accepts configuration via the `settings` key.
Print executed code in REPL and append it to the REPL history\.
+- **`julia.execution.inlineResults.colors`**: `object`
+
+ Default: `vim.empty_dict()`
+
+ null
+
- **`julia.execution.resultType`**: `enum { "REPL", "inline", "both" }`
Default: `"REPL"`
@@ -2058,8 +2099,8 @@ require'lspconfig'.julials.setup{}
Commands:
Default Values:
- cmd = { "julia", "--project=julials", "--startup-file=no", "--history-file=no", "-e", ' using Pkg;\n Pkg.instantiate()\n using LanguageServer; using SymbolServer;\n depot_path = get(ENV, "JULIA_DEPOT_PATH", "")\n project_path = dirname(something(Base.current_project(pwd()), Base.load_path_expand(LOAD_PATH[2])))\n # Make sure that we only load packages from this environment specifically.\n empty!(LOAD_PATH)\n push!(LOAD_PATH, "@")\n @info "Running language server" env=Base.load_path()[1] pwd() project_path depot_path\n server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path);\n server.runlinter = true;\n run(server);\n ' }
filetypes = { "julia" }
+ on_new_config = <function 1>
root_dir = <function 1>
```
@@ -4024,6 +4065,12 @@ This server accepts configuration via the `settings` key.
null
+- **`rust-analyzer.procMacro.server`**: `null|string`
+
+ Default: `vim.NIL`
+
+ null
+
- **`rust-analyzer.runnableEnv`**
Default: `vim.NIL`