aboutsummaryrefslogtreecommitdiffstats
path: root/CONFIG.md
diff options
context:
space:
mode:
authorMichael Lingelbach <m.j.lbach@gmail.com>2021-05-15 18:40:10 -0700
committerMichael Lingelbach <m.j.lbach@gmail.com>2021-05-15 18:40:10 -0700
commit9c20a561b72438ba242421b7060fe7e3f596f2e8 (patch)
tree2cc3942fa5515dd2902c0076ebd9cb6a93558299 /CONFIG.md
parentClarify pyls & pylsp installation instructions (diff)
downloadnvim-lspconfig-9c20a561b72438ba242421b7060fe7e3f596f2e8.tar
nvim-lspconfig-9c20a561b72438ba242421b7060fe7e3f596f2e8.tar.gz
nvim-lspconfig-9c20a561b72438ba242421b7060fe7e3f596f2e8.tar.bz2
nvim-lspconfig-9c20a561b72438ba242421b7060fe7e3f596f2e8.tar.lz
nvim-lspconfig-9c20a561b72438ba242421b7060fe7e3f596f2e8.tar.xz
nvim-lspconfig-9c20a561b72438ba242421b7060fe7e3f596f2e8.tar.zst
nvim-lspconfig-9c20a561b72438ba242421b7060fe7e3f596f2e8.zip
docgen: run manually
Diffstat (limited to 'CONFIG.md')
-rw-r--r--CONFIG.md253
1 files changed, 238 insertions, 15 deletions
diff --git a/CONFIG.md b/CONFIG.md
index 89054b49..5813c3ce 100644
--- a/CONFIG.md
+++ b/CONFIG.md
@@ -36,6 +36,7 @@ that config.
- [hls](#hls)
- [html](#html)
- [intelephense](#intelephense)
+- [java_language_server](#java_language_server)
- [jdtls](#jdtls)
- [jedi_language_server](#jedi_language_server)
- [jsonls](#jsonls)
@@ -53,9 +54,11 @@ that config.
- [purescriptls](#purescriptls)
- [pyls](#pyls)
- [pyls_ms](#pyls_ms)
+- [pylsp](#pylsp)
- [pyright](#pyright)
- [r_language_server](#r_language_server)
- [racket_langserver](#racket_langserver)
+- [rescriptls](#rescriptls)
- [rls](#rls)
- [rnix](#rnix)
- [rome](#rome)
@@ -79,6 +82,7 @@ that config.
- [vls](#vls)
- [vuels](#vuels)
- [yamlls](#yamlls)
+- [zeta_note](#zeta_note)
- [zls](#zls)
## als
@@ -202,7 +206,7 @@ Customization options are passed to ccls at initialization time via init_options
local lspconfig = require'lspconfig'
lspconfig.ccls.setup {
init_options = {
- compilationDatabaseDirectory = "build";
+ compilationDatabaseDirectory = "build";
index = {
threads = 0;
};
@@ -726,7 +730,7 @@ This server accepts configuration via the `settings` key.
Default: `{}`
- Array items: `{properties = {args = {items = {type = "string"},type = "array"},executable = {type = "string"},id = {type = "string"},name = {type = "string"}},type = "object"}`
+ Array items: `{properties = {args = {items = {type = "string"},type = "array"},env = vim.empty_dict(),executable = {type = "string"},id = {type = "string"},name = {type = "string"}},type = "object"}`
Custom emulators to show in the emulator list for easier launching\. If IDs match existing emulators returned by Flutter\, the custom emulators will override them\.
@@ -902,7 +906,7 @@ This server accepts configuration via the `settings` key.
- **`dart.previewFlutterUiGuidesCustomTracking`**: `boolean`
- Whether to enable custom tracking of Flutter UI guidelines \(to hide some latency of waiting for the next Flutter Outline\)\.
+ EXPERIMENTAL\: Whether to enable custom tracking of Flutter UI guidelines \(to hide some latency of waiting for the next Flutter Outline\)\.
- **`dart.previewHotReloadOnSaveWatcher`**: `boolean`
@@ -1076,7 +1080,7 @@ require'lspconfig'.dartls.setup{}
Commands:
Default Values:
- cmd = { "dart", "./snapshots/analysis_server.dart.snapshot", "--lsp" }
+ cmd = { "dart", "/home/michael/.local/flutter/bin/cache/dart-sdk/bin/snapshots/analysis_server.dart.snapshot", "--lsp" }
filetypes = { "dart" }
init_options = {
closingLabels = false,
@@ -1217,7 +1221,7 @@ require'lspconfig'.efm.setup{}
Default Values:
cmd = { "efm-langserver" }
- root_dir = root_pattern(".git")
+ root_dir = util.root_pattern(".git")(fname) or util.path.dirname(fname)
```
## elixirls
@@ -1336,6 +1340,10 @@ This server accepts configuration via the `settings` key.
The path to your elm\-test executable\. Should be empty by default\, in that case it will assume the name and try to first get it from a local npm installation or a global one\. If you set it manually it will not try to load from the npm folder\.
+- **`elmLS.elmTestRunner.showElmTestOutput`**: `boolean`
+
+ Show output of elm\-test as terminal task
+
- **`elmLS.onlyUpdateDiagnosticsOnSave`**: `boolean`
Only update compiler diagnostics on save\, not on document change\.
@@ -1503,8 +1511,6 @@ This server accepts configuration via the `settings` key.
- **`flow.useNPMPackagedFlow`**: `boolean`
- Default: `true`
-
Support using flow through your node\_modules folder\, WARNING\: Checking this box is a security risk\. When you open a project we will immediately run code contained within it\.
</details>
@@ -1881,6 +1887,18 @@ This server accepts configuration via the `settings` key.
Enables eval plugin
+- **`haskell.plugin.ghcide-completions.config.autoExtendOn`**: `boolean`
+
+ Default: `true`
+
+ null
+
+- **`haskell.plugin.ghcide-completions.config.snippetsOn`**: `boolean`
+
+ Default: `true`
+
+ null
+
- **`haskell.plugin.ghcide-type-lenses.config.mode`**: `enum { "always", "exported", "diagnostics" }`
Default: `true`
@@ -1961,7 +1979,7 @@ This server accepts configuration via the `settings` key.
- **`haskell.plugin.tactic.config.max_use_ctor_actions`**: `integer`
- Default: `true`
+ Default: `5`
null
@@ -1971,6 +1989,18 @@ This server accepts configuration via the `settings` key.
Enables wingman \(tactic\) plugin
+- **`haskell.plugin.tactics.config.hole_severity`**: `enum { 1, 2, 3, 4, vim.NIL }`
+
+ Default: `vim.NIL`
+
+ The severity to use when showing hole diagnostics\.
+
+- **`haskell.plugin.tactics.config.timeout_duration`**: `integer`
+
+ Default: `2`
+
+ null
+
- **`haskell.releasesURL`**: `string`
Default: `""`
@@ -1981,7 +2011,7 @@ This server accepts configuration via the `settings` key.
Default: `""`
- Manually set a language server executable\. Can be something on the \$PATH or a path to an executable itself\. Works with ~\, \$\{HOME\} and \$\{workspaceFolder\}\.
+ null
- **`haskell.trace.server`**: `enum { "off", "messages" }`
@@ -2103,6 +2133,29 @@ require'lspconfig'.intelephense.setup{}
root_dir = root_pattern("composer.json", ".git")
```
+## java_language_server
+
+https://github.com/georgewfraser/java-language-server
+
+Java language server
+
+Point `cmd` to `lang_server_linux.sh` or the equivalent script for macOS/Windows provided by java-language-server
+
+
+```lua
+require'lspconfig'.java_language_server.setup{}
+
+ Commands:
+
+ Default Values:
+ cmd = {}
+ filetypes = { "java" }
+ root_dir = function(startpath)
+ return M.search_ancestors(startpath, matcher)
+ end
+ settings = {}
+```
+
## jdtls
@@ -2130,9 +2183,9 @@ require'lspconfig'.jdtls.setup{}
Commands:
Default Values:
- cmd = { "/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java", "-Declipse.application=org.eclipse.jdt.ls.core.id1", "-Dosgi.bundles.defaultStartLevel=4", "-Declipse.product=org.eclipse.jdt.ls.core.product", "-Dlog.protocol=true", "-Dlog.level=ALL", "-Xms1g", "-Xmx2G", "-jar", "vim.NIL", "-configuration", "vim.NIL", "-data", "vim.NIL", "--add-modules=ALL-SYSTEM", "--add-opens java.base/java.util=ALL-UNNAMED", "--add-opens java.base/java.lang=ALL-UNNAMED" }
+ cmd = { "vim.NIL/bin/java", "-Declipse.application=org.eclipse.jdt.ls.core.id1", "-Dosgi.bundles.defaultStartLevel=4", "-Declipse.product=org.eclipse.jdt.ls.core.product", "-Dlog.protocol=true", "-Dlog.level=ALL", "-Xms1g", "-Xmx2G", "-jar", "vim.NIL", "-configuration", "vim.NIL", "-data", "vim.NIL", "--add-modules=ALL-SYSTEM", "--add-opens java.base/java.util=ALL-UNNAMED", "--add-opens java.base/java.lang=ALL-UNNAMED" }
cmd_env = {
- GRADLE_HOME = "/usr/share/gradle",
+ GRADLE_HOME = vim.NIL,
JAR = vim.NIL
}
filetypes = { "java" }
@@ -2144,7 +2197,7 @@ require'lspconfig'.jdtls.setup{}
}
init_options = {
jvm_args = {},
- workspace = "/home/runner/workspace"
+ workspace = "/home/michael/workspace"
}
root_dir = root_pattern(".git")
```
@@ -3422,6 +3475,9 @@ require'lspconfig'.purescriptls.setup{}
https://github.com/palantir/python-language-server
`python-language-server`, a language server for Python.
+
+The language server can be installed via `pipx install 'python-language-server[all]'`.
+
This server accepts configuration via the `settings` key.
<details><summary>Available settings:</summary>
@@ -3782,6 +3838,40 @@ require'lspconfig'.pyls_ms.setup{}
}
```
+## pylsp
+
+https://github.com/python-lsp/python-lsp-server
+
+A Python 3.6+ implementation of the Language Server Protocol.
+
+The language server can be installed via `pipx install 'python-lsp-server[all]'`.
+Further instructions can be found in the [project's README](https://github.com/python-lsp/python-lsp-server).
+
+Note: This is a community fork of `pyls`.
+
+
+```lua
+require'lspconfig'.pylsp.setup{}
+
+ Commands:
+
+ Default Values:
+ cmd = { "pylsp" }
+ filetypes = { "python" }
+ root_dir = function(fname)
+ local root_files = {
+ "pyproject.toml",
+ "setup.py",
+ "setup.cfg",
+ "requirements.txt",
+ "Pipfile"
+ }
+ return util.root_pattern(unpack(root_files))(fname) or
+ util.find_git_ancestor(fname) or
+ util.path.dirname(fname)
+ end;
+```
+
## pyright
https://github.com/microsoft/pyright
@@ -3892,6 +3982,7 @@ require'lspconfig'.pyright.setup{}
python = {
analysis = {
autoSearchPaths = true,
+ diagnosticMode = "workspace",
useLibraryCodeForTypes = true
}
}
@@ -4002,6 +4093,52 @@ require'lspconfig'.racket_langserver.setup{}
end
```
+## rescriptls
+
+https://github.com/rescript-lang/rescript-vscode
+
+ReScript language server
+
+**By default, rescriptls doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path.
+You have to install the language server manually.
+
+You can use the bundled language server inside the [vim-rescript](https://github.com/rescript-lang/vim-rescript) repo.
+
+Clone the vim-rescript repo and point `cmd` to `server.js` inside `server/out` directory:
+
+```lua
+cmd = {'node', '<path_to_repo>/server/out/server.js', '--stdio'}
+
+```
+
+If you have vim-rescript installed you can also use that installation. for example if you're using packer.nvim you can set cmd to something like this:
+
+```lua
+cmd = {
+ 'node',
+ '/home/username/.local/share/nvim/site/pack/packer/start/vim-rescript/server/out/server.js',
+ '--stdio'
+}
+```
+
+Another option is to use vscode extension [release](https://github.com/rescript-lang/rescript-vscode/releases).
+Take a look at [here](https://github.com/rescript-lang/rescript-vscode#use-with-other-editors) for instructions.
+
+
+```lua
+require'lspconfig'.rescriptls.setup{}
+
+ Commands:
+
+ Default Values:
+ cmd = {}
+ filetypes = { "rescript" }
+ root_dir = function(startpath)
+ return M.search_ancestors(startpath, matcher)
+ end
+ settings = {}
+```
+
## rls
https://github.com/rust-lang/rls
@@ -4107,9 +4244,9 @@ This server accepts configuration via the `settings` key.
null
-- **`rust-analyzer.assist.importMergeBehavior`**: `enum { "none", "full", "last" }`
+- **`rust-analyzer.assist.importMergeBehavior`**: `enum { "none", "crate", "module" }`
- Default: `"full"`
+ Default: `"crate"`
null
@@ -4275,7 +4412,7 @@ This server accepts configuration via the `settings` key.
null
-- **`rust-analyzer.debug.sourceFileMap`**: `object`
+- **`rust-analyzer.debug.sourceFileMap`**: `object|string`
Default: `{["/rustc/<id>"] = "${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust"}`
@@ -4301,6 +4438,12 @@ This server accepts configuration via the `settings` key.
null
+- **`rust-analyzer.diagnostics.remapPrefix`**: `object`
+
+ Default: `vim.empty_dict()`
+
+ null
+
- **`rust-analyzer.diagnostics.warningsAsHint`**: `array`
Default: `{}`
@@ -4391,6 +4534,12 @@ This server accepts configuration via the `settings` key.
null
+- **`rust-analyzer.inlayHints.smallerHints`**: `boolean`
+
+ Default: `true`
+
+ Whether inlay hints font size should be smaller than editor\'s font size\.
+
- **`rust-analyzer.inlayHints.typeHints`**: `boolean`
Default: `true`
@@ -4994,6 +5143,12 @@ This server accepts configuration via the `settings` key.
null
+- **`Lua.completion.autoRequire`**: `boolean`
+
+ Default: `true`
+
+ null
+
- **`Lua.completion.callSnippet`**: `enum { "Disable", "Both", "Replace" }`
Default: `"Disable"`
@@ -5018,6 +5173,12 @@ This server accepts configuration via the `settings` key.
null
+- **`Lua.completion.showParams`**: `boolean`
+
+ Default: `true`
+
+ null
+
- **`Lua.completion.workspaceWord`**: `boolean`
Default: `true`
@@ -5102,6 +5263,12 @@ This server accepts configuration via the `settings` key.
null
+- **`Lua.hover.enumsLimit`**: `integer`
+
+ Default: `5`
+
+ null
+
- **`Lua.hover.fieldInfer`**: `integer`
Default: `3000`
@@ -5839,6 +6006,10 @@ This server accepts configuration via the `settings` key.
Custom tags for the parser to use
+- **`yaml.disableAdditionalProperties`**: `boolean`
+
+ Globally set additionalProperties to false for all objects\. So if its true\, no extra properties are allowed inside yaml\.
+
- **`yaml.format.bracketSpacing`**: `boolean`
Default: `true`
@@ -5873,6 +6044,12 @@ This server accepts configuration via the `settings` key.
Enable\/disable hover feature
+- **`yaml.maxItemsComputed`**: `integer`
+
+ Default: `5000`
+
+ The maximum number of outline symbols and folding regions computed \(limited for performance reasons\)\.
+
- **`yaml.schemaStore.enable`**: `boolean`
Default: `true`
@@ -5910,6 +6087,52 @@ require'lspconfig'.yamlls.setup{}
root_dir = root_pattern(".git", vim.fn.getcwd())
```
+## zeta_note
+
+https://github.com/artempyanykh/zeta-note
+
+Markdown LSP server for easy note-taking with cross-references and diagnostics.
+
+Binaries can be downloaded from https://github.com/artempyanykh/zeta-note/releases
+
+**By default, zeta-note doesn't have a `cmd` set.** This is because nvim-lspconfig does not make assumptions about your path. You must add the following to your init.vim or init.lua to set `cmd` to the absolute path ($HOME and ~ are not expanded) of your zeta-note binary.
+
+```lua
+require'lspconfig'.zeta_note.setup{
+ cmd = {'path/to/zeta-note'}
+}
+```
+
+This server accepts configuration via the `settings` key.
+<details><summary>Available settings:</summary>
+
+- **`zetaNote.customCommand`**: `string`
+
+ When set use this command to run the language server\.
+ The command is split on spaces\: first part is the command name\, the rest is the arguments\.
+
+- **`zetaNote.customCommandDir`**: `string`
+
+ null
+
+- **`zetaNote.trace.server`**: `enum { "off", "messages", "verbose" }`
+
+ Default: `"verbose"`
+
+ Level of verbosity in communicating with the server
+
+</details>
+
+```lua
+require'lspconfig'.zeta_note.setup{}
+
+ Commands:
+
+ Default Values:
+ filetypes = { "markdown" }
+ root_dir = root_pattern(".zeta.toml")
+```
+
## zls
https://github.com/zigtools/zls