diff options
| author | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-05-15 18:40:10 -0700 |
|---|---|---|
| committer | Michael Lingelbach <m.j.lbach@gmail.com> | 2021-05-15 18:40:10 -0700 |
| commit | 9c20a561b72438ba242421b7060fe7e3f596f2e8 (patch) | |
| tree | 2cc3942fa5515dd2902c0076ebd9cb6a93558299 /CONFIG.md | |
| parent | Clarify pyls & pylsp installation instructions (diff) | |
| download | nvim-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.md | 253 |
1 files changed, 238 insertions, 15 deletions
@@ -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 |
