Update generated neovim config
This commit is contained in:
@ -18,4 +18,4 @@ jobs:
|
||||
This plugin allows for declaratively configuring,
|
||||
launching, and initializing language servers you have installed on your system.
|
||||
Language server configurations are community-maintained.
|
||||
licence: "Apache/2.0"
|
||||
license: "Apache/2.0"
|
||||
|
||||
@ -23,7 +23,7 @@ jobs:
|
||||
- name: luajit
|
||||
uses: leafo/gh-actions-lua@v10
|
||||
with:
|
||||
luaVersion: "luajit-2.1.0-beta3"
|
||||
luaVersion: "luajit-openresty"
|
||||
|
||||
- name: luarocks
|
||||
uses: leafo/gh-actions-luarocks@v4
|
||||
|
||||
@ -24,7 +24,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [ballerina](#ballerina)
|
||||
- [basedpyright](#basedpyright)
|
||||
- [bashls](#bashls)
|
||||
- [bazelrc-lsp](#bazelrc-lsp)
|
||||
- [bazelrc_lsp](#bazelrc_lsp)
|
||||
- [beancount](#beancount)
|
||||
- [bicep](#bicep)
|
||||
- [biome](#biome)
|
||||
@ -60,6 +60,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [cucumber_language_server](#cucumber_language_server)
|
||||
- [custom_elements_ls](#custom_elements_ls)
|
||||
- [cypher_ls](#cypher_ls)
|
||||
- [daedalus_ls](#daedalus_ls)
|
||||
- [dafny](#dafny)
|
||||
- [dagger](#dagger)
|
||||
- [dartls](#dartls)
|
||||
@ -145,6 +146,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [jsonls](#jsonls)
|
||||
- [jsonnet_ls](#jsonnet_ls)
|
||||
- [julials](#julials)
|
||||
- [kcl](#kcl)
|
||||
- [koka](#koka)
|
||||
- [kotlin_language_server](#kotlin_language_server)
|
||||
- [lean3ls](#lean3ls)
|
||||
@ -253,6 +255,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [slint_lsp](#slint_lsp)
|
||||
- [smarty_ls](#smarty_ls)
|
||||
- [smithy_ls](#smithy_ls)
|
||||
- [snakeskin_ls](#snakeskin_ls)
|
||||
- [snyk_ls](#snyk_ls)
|
||||
- [solang](#solang)
|
||||
- [solargraph](#solargraph)
|
||||
@ -296,10 +299,11 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [thriftls](#thriftls)
|
||||
- [tilt_ls](#tilt_ls)
|
||||
- [tinymist](#tinymist)
|
||||
- [ts_ls](#ts_ls)
|
||||
- [tsp_server](#tsp_server)
|
||||
- [tsserver](#tsserver)
|
||||
- [ttags](#ttags)
|
||||
- [turtle_ls](#turtle_ls)
|
||||
- [tvm_ffi_navigator](#tvm_ffi_navigator)
|
||||
- [twiggy_language_server](#twiggy_language_server)
|
||||
- [typeprof](#typeprof)
|
||||
- [typos_lsp](#typos_lsp)
|
||||
@ -327,6 +331,8 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [yamlls](#yamlls)
|
||||
- [yang_lsp](#yang_lsp)
|
||||
- [yls](#yls)
|
||||
- [ziggy](#ziggy)
|
||||
- [ziggy_schema](#ziggy_schema)
|
||||
- [zk](#zk)
|
||||
- [zls](#zls)
|
||||
|
||||
@ -427,6 +433,13 @@ require'lspconfig'.als.setup{}
|
||||
```lua
|
||||
{ "ada_language_server" }
|
||||
```
|
||||
- `deprecate` :
|
||||
```lua
|
||||
{
|
||||
to = "github.com/TamaMcGlinn/nvim-lspconfig-ada",
|
||||
version = "0.2.0"
|
||||
}
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ada" }
|
||||
@ -1185,7 +1198,7 @@ require'lspconfig'.bashls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## bazelrc-lsp
|
||||
## bazelrc_lsp
|
||||
|
||||
https://github.com/salesforce-misc/bazelrc-lsp
|
||||
|
||||
@ -1205,7 +1218,7 @@ vim.filetype.add {
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.bazelrc-lsp.setup{}
|
||||
require'lspconfig'.bazelrc_lsp.setup{}
|
||||
```
|
||||
|
||||
|
||||
@ -1948,6 +1961,7 @@ https://clangd.llvm.org/installation.html
|
||||
require'lspconfig'.clangd.setup{}
|
||||
```
|
||||
**Commands:**
|
||||
- ClangdShowSymbolInfo: Show symbol info
|
||||
- ClangdSwitchSourceHeader: Switch between source/header
|
||||
|
||||
**Default values:**
|
||||
@ -2608,6 +2622,45 @@ require'lspconfig'.cypher_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## daedalus_ls
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.daedalus_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "DaedalusLanguageServer" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "d" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
- `settings` :
|
||||
```lua
|
||||
{
|
||||
DaedalusLanguageServer = {
|
||||
fileEncoding = "Windows-1252",
|
||||
inlayHints = {
|
||||
constants = true
|
||||
},
|
||||
loglevel = "debug",
|
||||
numParserThreads = 16,
|
||||
srcFileEncoding = "Windows-1252"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## dafny
|
||||
|
||||
Support for the Dafny language server.
|
||||
@ -4237,7 +4290,7 @@ require'lspconfig'.foam_ls.setup{}
|
||||
|
||||
## fortls
|
||||
|
||||
https://github.com/gnikit/fortls
|
||||
https://fortls.fortran-lang.org/index.html
|
||||
|
||||
fortls is a Fortran Language Server, the server can be installed via pip
|
||||
|
||||
@ -4247,7 +4300,7 @@ pip install fortls
|
||||
|
||||
Settings to the server can be passed either through the `cmd` option or through
|
||||
a local configuration file e.g. `.fortls`. For more information
|
||||
see the `fortls` [documentation](https://gnikit.github.io/fortls/options.html).
|
||||
see the `fortls` [documentation](https://fortls.fortran-lang.org/options.html).
|
||||
|
||||
|
||||
|
||||
@ -5237,9 +5290,20 @@ lspconfig.haxe_language_server.setup({
|
||||
})
|
||||
```
|
||||
|
||||
By default, an HXML compiler arguments file named `build.hxml` is expected in
|
||||
your project's root directory. If your file is named something different,
|
||||
specify it using the `init_options.displayArguments` setting.
|
||||
By default, the language server is configured with the HXML compiler arguments
|
||||
contained in the first `.hxml` file found in your project's root directory.
|
||||
If you want to specify which one to use, set the `init_options.displayArguments`
|
||||
setting:
|
||||
|
||||
```lua
|
||||
lspconfig.haxe_language_server.setup({
|
||||
-- ...
|
||||
init_options = {
|
||||
displayArguments = { "build.hxml" },
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
@ -5260,13 +5324,15 @@ require'lspconfig'.haxe_language_server.setup{}
|
||||
```
|
||||
- `init_options` :
|
||||
```lua
|
||||
{
|
||||
displayArguments = { "build.hxml" }
|
||||
}
|
||||
default value is set by on_new_config
|
||||
```
|
||||
- `on_new_config` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern("*.hxml")
|
||||
root_pattern("*.hxml", ".git")
|
||||
```
|
||||
- `settings` :
|
||||
```lua
|
||||
@ -5644,7 +5710,7 @@ require'lspconfig'.htmx.setup{}
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "html", "templ" }
|
||||
{ "aspnetcorerazor", "astro", "astro-markdown", "blade", "clojure", "django-html", "htmldjango", "edge", "eelixir", "elixir", "ejs", "erb", "eruby", "gohtml", "gohtmltmpl", "haml", "handlebars", "hbs", "html", "htmlangular", "html-eex", "heex", "jade", "leaf", "liquid", "markdown", "mdx", "mustache", "njk", "nunjucks", "php", "razor", "slim", "twig", "javascript", "javascriptreact", "reason", "rescript", "typescript", "typescriptreact", "vue", "svelte", "templ" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
@ -5714,7 +5780,7 @@ require'lspconfig'.hyprls.setup{}
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "hyprlang", "*.hl", "hypr*.conf", ".config/hypr/*.conf" }
|
||||
{ "hyprlang" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
@ -6098,7 +6164,7 @@ vscode-json-language-server, a language server for JSON and JSON schema
|
||||
npm i -g vscode-langservers-extracted
|
||||
```
|
||||
|
||||
Neovim does not currently include built-in snippets. `vscode-json-language-server` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
`vscode-json-language-server` only provides completions when snippet support is enabled. If you use Neovim older than v0.10 you need to enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
|
||||
```lua
|
||||
--Enable (broadcasting) snippet capability for completion
|
||||
@ -6234,6 +6300,36 @@ require'lspconfig'.julials.setup{}
|
||||
```
|
||||
|
||||
|
||||
## kcl
|
||||
|
||||
https://github.com/kcl-lang/kcl.nvim
|
||||
|
||||
Language server for the KCL configuration and policy language.
|
||||
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.kcl.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "kcl-language-server" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "kcl" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern(".git")
|
||||
```
|
||||
|
||||
|
||||
## koka
|
||||
|
||||
https://koka-lang.github.io/koka/doc/index.html
|
||||
@ -6974,7 +7070,7 @@ require'lspconfig'.mesonlsp.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("meson_options.txt", "meson.options", ".git")
|
||||
util.root_pattern("meson.build", "meson_options.txt", "meson.options", ".git")
|
||||
```
|
||||
|
||||
|
||||
@ -9403,7 +9499,7 @@ require'lspconfig'.r_language_server.setup{}
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "R", "--slave", "-e", "languageserver::run()" }
|
||||
{ "R", "--no-echo", "-e", "languageserver::run()" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
@ -9745,7 +9841,21 @@ ReScript Language Server can be installed via npm:
|
||||
npm install -g @rescript/language-server
|
||||
```
|
||||
|
||||
See the init_options supported (see https://github.com/rescript-lang/rescript-vscode/tree/master/server/config.md):
|
||||
See [package.json](https://github.com/rescript-lang/rescript-vscode/blob/master/package.json#L139)
|
||||
for init_options supported.
|
||||
|
||||
For example, in order to disable the `inlayHints` option:
|
||||
```lua
|
||||
require'lspconfig'.pylsp.setup{
|
||||
settings = {
|
||||
rescript = {
|
||||
settings = {
|
||||
inlayHints = { enable = false },
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
@ -9768,7 +9878,21 @@ require'lspconfig'.rescriptls.setup{}
|
||||
```lua
|
||||
{
|
||||
extensionConfiguration = {
|
||||
askToStartBuild = false
|
||||
allowBuiltInFormatter = true,
|
||||
askToStartBuild = false,
|
||||
cache = {
|
||||
projectConfig = {
|
||||
enabled = true
|
||||
}
|
||||
},
|
||||
codeLens = true,
|
||||
incrementalTypechecking = {
|
||||
acrossFiles = true,
|
||||
enabled = true
|
||||
},
|
||||
inlayHints = {
|
||||
enable = true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -10321,7 +10445,7 @@ require'lspconfig'.scheme_langserver.setup{}
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "scheme-langserver" }
|
||||
{ "scheme-langserver", "~/.scheme-langserver.log", "enable", "disable" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
@ -10660,6 +10784,38 @@ require'lspconfig'.smithy_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## snakeskin_ls
|
||||
|
||||
https://www.npmjs.com/package/@snakeskin/cli
|
||||
|
||||
`snakeskin cli` can be installed via `npm`:
|
||||
```sh
|
||||
npm install -g @snakeskin/cli
|
||||
```
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.snakeskin_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "snakeskin-cli", "lsp", "--stdio" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ss" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
|
||||
|
||||
## snyk_ls
|
||||
|
||||
https://github.com/snyk/snyk-ls
|
||||
@ -11608,7 +11764,7 @@ require'lspconfig'.superhtml.setup{}
|
||||
|
||||
https://github.com/sveltejs/language-tools/tree/master/packages/language-server
|
||||
|
||||
Note: assuming that [tsserver](#tsserver) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
|
||||
Note: assuming that [ts_ls](#ts_ls) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
|
||||
|
||||
`svelte-language-server` can be installed via `npm`:
|
||||
```sh
|
||||
@ -11746,7 +11902,7 @@ require'lspconfig'.swift_mesonls.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("meson_options.txt", "meson.options", ".git")
|
||||
util.root_pattern("meson.build", "meson_options.txt", "meson.options", ".git")
|
||||
```
|
||||
|
||||
|
||||
@ -11962,9 +12118,14 @@ https://github.com/teal-language/teal-language-server
|
||||
|
||||
Install with:
|
||||
```
|
||||
luarocks install --dev teal-language-server
|
||||
luarocks install teal-language-server
|
||||
```
|
||||
|
||||
Optional Command Args:
|
||||
* "--log-mode=by_date" - Enable logging in $HOME/.cache/teal-language-server. Log name will be date + pid of process
|
||||
* "--log-mode=by_proj_path" - Enable logging in $HOME/.cache/teal-language-server. Log name will be project path + pid of process
|
||||
* "--verbose=true" - Increases log level. Does nothing unless log-mode is set
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
@ -11984,7 +12145,7 @@ require'lspconfig'.teal_ls.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern("tlconfig.lua", ".git")
|
||||
root_pattern("tlconfig.lua")
|
||||
```
|
||||
|
||||
|
||||
@ -12439,44 +12600,12 @@ require'lspconfig'.tinymist.setup{}
|
||||
```
|
||||
|
||||
|
||||
## tsp_server
|
||||
|
||||
https://github.com/microsoft/typespec
|
||||
|
||||
The language server for TypeSpec, a language for defining cloud service APIs and shapes.
|
||||
|
||||
`tsp-server` can be installed together with the typespec compiler via `npm`:
|
||||
```sh
|
||||
npm install -g @typespec/compiler
|
||||
```
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tsp_server.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "tsp-server", "--stdio" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "typespec" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("tspconfig.yaml", ".git")
|
||||
```
|
||||
|
||||
|
||||
## tsserver
|
||||
## ts_ls
|
||||
|
||||
https://github.com/typescript-language-server/typescript-language-server
|
||||
|
||||
`ts_ls`, aka `typescript-language-server`, is a Language Server Protocol implementation for TypeScript wrapping `tsserver`. Note that `ts_ls` is not `tsserver`.
|
||||
|
||||
`typescript-language-server` depends on `typescript`. Both packages can be installed via `npm`:
|
||||
```sh
|
||||
npm install -g typescript typescript-language-server
|
||||
@ -12510,7 +12639,7 @@ adds Vue support to this language server.
|
||||
*IMPORTANT*: It is crucial to ensure that `@vue/typescript-plugin` and `volar `are of identical versions.
|
||||
|
||||
```lua
|
||||
require'lspconfig'.tsserver.setup{
|
||||
require'lspconfig'.ts_ls.setup{
|
||||
init_options = {
|
||||
plugins = {
|
||||
{
|
||||
@ -12543,7 +12672,7 @@ require'lspconfig'.tsserver.setup{
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tsserver.setup{}
|
||||
require'lspconfig'.ts_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
@ -12572,6 +12701,40 @@ require'lspconfig'.tsserver.setup{}
|
||||
```
|
||||
|
||||
|
||||
## tsp_server
|
||||
|
||||
https://github.com/microsoft/typespec
|
||||
|
||||
The language server for TypeSpec, a language for defining cloud service APIs and shapes.
|
||||
|
||||
`tsp-server` can be installed together with the typespec compiler via `npm`:
|
||||
```sh
|
||||
npm install -g @typespec/compiler
|
||||
```
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tsp_server.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "tsp-server", "--stdio" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "typespec" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("tspconfig.yaml", ".git")
|
||||
```
|
||||
|
||||
|
||||
## ttags
|
||||
|
||||
https://github.com/npezza93/ttags
|
||||
@ -12631,6 +12794,38 @@ require'lspconfig'.turtle_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## tvm_ffi_navigator
|
||||
|
||||
https://github.com/tqchen/ffi-navigator
|
||||
|
||||
The Language Server for FFI calls in TVM to be able jump between python and C++
|
||||
|
||||
FFI navigator can be installed with `pip install ffi-navigator`, buf for more details, please see
|
||||
https://github.com/tqchen/ffi-navigator?tab=readme-ov-file#installation
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tvm_ffi_navigator.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "python", "-m", "ffi_navigator.langserver" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "python", "cpp" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
|
||||
|
||||
## twiggy_language_server
|
||||
|
||||
https://github.com/moetelo/twiggy
|
||||
@ -12718,10 +12913,6 @@ require'lspconfig'.typos_lsp.setup{}
|
||||
```lua
|
||||
{ "typos-lsp" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "*" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
@ -12915,11 +13106,11 @@ require'lspconfig'.uvls.setup{}
|
||||
|
||||
## v_analyzer
|
||||
|
||||
https://github.com/v-analyzer/v-analyzer
|
||||
https://github.com/vlang/v-analyzer
|
||||
|
||||
V language server.
|
||||
|
||||
`v-analyzer` can be installed by following the instructions [here](https://github.com/v-analyzer/v-analyzer#installation).
|
||||
`v-analyzer` can be installed by following the instructions [here](https://github.com/vlang/v-analyzer#installation).
|
||||
|
||||
|
||||
|
||||
@ -13422,8 +13613,8 @@ Volar by default supports Vue 3 projects. Vue 2 projects need
|
||||
[additional configuration](https://github.com/vuejs/language-tools/tree/master/packages/vscode-vue#usage).
|
||||
|
||||
**TypeScript support**
|
||||
As of release 2.0.0, Volar no longer wraps around tsserver. For typescript
|
||||
support, `tsserver` needs to be configured with the `@vue/typescript-plugin`
|
||||
As of release 2.0.0, Volar no longer wraps around ts_ls. For typescript
|
||||
support, `ts_ls` needs to be configured with the `@vue/typescript-plugin`
|
||||
plugin.
|
||||
|
||||
**Take Over Mode**
|
||||
@ -13665,7 +13856,7 @@ require'lspconfig'.wgsl_analyzer.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern(".git"
|
||||
root_pattern(".git")
|
||||
```
|
||||
- `settings` :
|
||||
```lua
|
||||
@ -13838,6 +14029,74 @@ require'lspconfig'.yls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## ziggy
|
||||
|
||||
https://ziggy-lang.io/documentation/ziggy-lsp/
|
||||
|
||||
Language server for the Ziggy data serialization format
|
||||
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.ziggy.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "ziggy", "lsp" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ziggy" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.find_git_ancestor
|
||||
```
|
||||
- `single_file_support` :
|
||||
```lua
|
||||
true
|
||||
```
|
||||
|
||||
|
||||
## ziggy_schema
|
||||
|
||||
https://ziggy-lang.io/documentation/ziggy-lsp/
|
||||
|
||||
Language server for schema files of the Ziggy data serialization format
|
||||
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.ziggy_schema.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "ziggy", "lsp", "--schema" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ziggy_schema" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.find_git_ancestor
|
||||
```
|
||||
- `single_file_support` :
|
||||
```lua
|
||||
true
|
||||
```
|
||||
|
||||
|
||||
## zk
|
||||
|
||||
https://github.com/mickael-menu/zk
|
||||
@ -13852,6 +14111,7 @@ require'lspconfig'.zk.setup{}
|
||||
```
|
||||
**Commands:**
|
||||
- ZkIndex: ZkIndex
|
||||
- ZkList: ZkList
|
||||
- ZkNew: ZkNew
|
||||
|
||||
**Default values:**
|
||||
|
||||
@ -24,7 +24,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [ballerina](#ballerina)
|
||||
- [basedpyright](#basedpyright)
|
||||
- [bashls](#bashls)
|
||||
- [bazelrc-lsp](#bazelrc-lsp)
|
||||
- [bazelrc_lsp](#bazelrc_lsp)
|
||||
- [beancount](#beancount)
|
||||
- [bicep](#bicep)
|
||||
- [biome](#biome)
|
||||
@ -60,6 +60,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [cucumber_language_server](#cucumber_language_server)
|
||||
- [custom_elements_ls](#custom_elements_ls)
|
||||
- [cypher_ls](#cypher_ls)
|
||||
- [daedalus_ls](#daedalus_ls)
|
||||
- [dafny](#dafny)
|
||||
- [dagger](#dagger)
|
||||
- [dartls](#dartls)
|
||||
@ -145,6 +146,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [jsonls](#jsonls)
|
||||
- [jsonnet_ls](#jsonnet_ls)
|
||||
- [julials](#julials)
|
||||
- [kcl](#kcl)
|
||||
- [koka](#koka)
|
||||
- [kotlin_language_server](#kotlin_language_server)
|
||||
- [lean3ls](#lean3ls)
|
||||
@ -253,6 +255,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [slint_lsp](#slint_lsp)
|
||||
- [smarty_ls](#smarty_ls)
|
||||
- [smithy_ls](#smithy_ls)
|
||||
- [snakeskin_ls](#snakeskin_ls)
|
||||
- [snyk_ls](#snyk_ls)
|
||||
- [solang](#solang)
|
||||
- [solargraph](#solargraph)
|
||||
@ -296,10 +299,11 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [thriftls](#thriftls)
|
||||
- [tilt_ls](#tilt_ls)
|
||||
- [tinymist](#tinymist)
|
||||
- [ts_ls](#ts_ls)
|
||||
- [tsp_server](#tsp_server)
|
||||
- [tsserver](#tsserver)
|
||||
- [ttags](#ttags)
|
||||
- [turtle_ls](#turtle_ls)
|
||||
- [tvm_ffi_navigator](#tvm_ffi_navigator)
|
||||
- [twiggy_language_server](#twiggy_language_server)
|
||||
- [typeprof](#typeprof)
|
||||
- [typos_lsp](#typos_lsp)
|
||||
@ -327,6 +331,8 @@ autogenerated from the Lua files. You can view this file in Nvim by running
|
||||
- [yamlls](#yamlls)
|
||||
- [yang_lsp](#yang_lsp)
|
||||
- [yls](#yls)
|
||||
- [ziggy](#ziggy)
|
||||
- [ziggy_schema](#ziggy_schema)
|
||||
- [zk](#zk)
|
||||
- [zls](#zls)
|
||||
|
||||
@ -427,6 +433,13 @@ require'lspconfig'.als.setup{}
|
||||
```lua
|
||||
{ "ada_language_server" }
|
||||
```
|
||||
- `deprecate` :
|
||||
```lua
|
||||
{
|
||||
to = "github.com/TamaMcGlinn/nvim-lspconfig-ada",
|
||||
version = "0.2.0"
|
||||
}
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ada" }
|
||||
@ -1185,7 +1198,7 @@ require'lspconfig'.bashls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## bazelrc-lsp
|
||||
## bazelrc_lsp
|
||||
|
||||
https://github.com/salesforce-misc/bazelrc-lsp
|
||||
|
||||
@ -1205,7 +1218,7 @@ vim.filetype.add {
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.bazelrc-lsp.setup{}
|
||||
require'lspconfig'.bazelrc_lsp.setup{}
|
||||
```
|
||||
|
||||
|
||||
@ -1948,6 +1961,7 @@ https://clangd.llvm.org/installation.html
|
||||
require'lspconfig'.clangd.setup{}
|
||||
```
|
||||
**Commands:**
|
||||
- ClangdShowSymbolInfo: Show symbol info
|
||||
- ClangdSwitchSourceHeader: Switch between source/header
|
||||
|
||||
**Default values:**
|
||||
@ -2608,6 +2622,45 @@ require'lspconfig'.cypher_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## daedalus_ls
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.daedalus_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "DaedalusLanguageServer" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "d" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
- `settings` :
|
||||
```lua
|
||||
{
|
||||
DaedalusLanguageServer = {
|
||||
fileEncoding = "Windows-1252",
|
||||
inlayHints = {
|
||||
constants = true
|
||||
},
|
||||
loglevel = "debug",
|
||||
numParserThreads = 16,
|
||||
srcFileEncoding = "Windows-1252"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## dafny
|
||||
|
||||
Support for the Dafny language server.
|
||||
@ -4237,7 +4290,7 @@ require'lspconfig'.foam_ls.setup{}
|
||||
|
||||
## fortls
|
||||
|
||||
https://github.com/gnikit/fortls
|
||||
https://fortls.fortran-lang.org/index.html
|
||||
|
||||
fortls is a Fortran Language Server, the server can be installed via pip
|
||||
|
||||
@ -4247,7 +4300,7 @@ pip install fortls
|
||||
|
||||
Settings to the server can be passed either through the `cmd` option or through
|
||||
a local configuration file e.g. `.fortls`. For more information
|
||||
see the `fortls` [documentation](https://gnikit.github.io/fortls/options.html).
|
||||
see the `fortls` [documentation](https://fortls.fortran-lang.org/options.html).
|
||||
|
||||
|
||||
|
||||
@ -5237,9 +5290,20 @@ lspconfig.haxe_language_server.setup({
|
||||
})
|
||||
```
|
||||
|
||||
By default, an HXML compiler arguments file named `build.hxml` is expected in
|
||||
your project's root directory. If your file is named something different,
|
||||
specify it using the `init_options.displayArguments` setting.
|
||||
By default, the language server is configured with the HXML compiler arguments
|
||||
contained in the first `.hxml` file found in your project's root directory.
|
||||
If you want to specify which one to use, set the `init_options.displayArguments`
|
||||
setting:
|
||||
|
||||
```lua
|
||||
lspconfig.haxe_language_server.setup({
|
||||
-- ...
|
||||
init_options = {
|
||||
displayArguments = { "build.hxml" },
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
@ -5260,13 +5324,15 @@ require'lspconfig'.haxe_language_server.setup{}
|
||||
```
|
||||
- `init_options` :
|
||||
```lua
|
||||
{
|
||||
displayArguments = { "build.hxml" }
|
||||
}
|
||||
default value is set by on_new_config
|
||||
```
|
||||
- `on_new_config` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern("*.hxml")
|
||||
root_pattern("*.hxml", ".git")
|
||||
```
|
||||
- `settings` :
|
||||
```lua
|
||||
@ -5644,7 +5710,7 @@ require'lspconfig'.htmx.setup{}
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "html", "templ" }
|
||||
{ "aspnetcorerazor", "astro", "astro-markdown", "blade", "clojure", "django-html", "htmldjango", "edge", "eelixir", "elixir", "ejs", "erb", "eruby", "gohtml", "gohtmltmpl", "haml", "handlebars", "hbs", "html", "htmlangular", "html-eex", "heex", "jade", "leaf", "liquid", "markdown", "mdx", "mustache", "njk", "nunjucks", "php", "razor", "slim", "twig", "javascript", "javascriptreact", "reason", "rescript", "typescript", "typescriptreact", "vue", "svelte", "templ" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
@ -5714,7 +5780,7 @@ require'lspconfig'.hyprls.setup{}
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "hyprlang", "*.hl", "hypr*.conf", ".config/hypr/*.conf" }
|
||||
{ "hyprlang" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
@ -6098,7 +6164,7 @@ vscode-json-language-server, a language server for JSON and JSON schema
|
||||
npm i -g vscode-langservers-extracted
|
||||
```
|
||||
|
||||
Neovim does not currently include built-in snippets. `vscode-json-language-server` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
`vscode-json-language-server` only provides completions when snippet support is enabled. If you use Neovim older than v0.10 you need to enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
|
||||
```lua
|
||||
--Enable (broadcasting) snippet capability for completion
|
||||
@ -6234,6 +6300,36 @@ require'lspconfig'.julials.setup{}
|
||||
```
|
||||
|
||||
|
||||
## kcl
|
||||
|
||||
https://github.com/kcl-lang/kcl.nvim
|
||||
|
||||
Language server for the KCL configuration and policy language.
|
||||
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.kcl.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "kcl-language-server" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "kcl" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern(".git")
|
||||
```
|
||||
|
||||
|
||||
## koka
|
||||
|
||||
https://koka-lang.github.io/koka/doc/index.html
|
||||
@ -6974,7 +7070,7 @@ require'lspconfig'.mesonlsp.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("meson_options.txt", "meson.options", ".git")
|
||||
util.root_pattern("meson.build", "meson_options.txt", "meson.options", ".git")
|
||||
```
|
||||
|
||||
|
||||
@ -9403,7 +9499,7 @@ require'lspconfig'.r_language_server.setup{}
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "R", "--slave", "-e", "languageserver::run()" }
|
||||
{ "R", "--no-echo", "-e", "languageserver::run()" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
@ -9745,7 +9841,21 @@ ReScript Language Server can be installed via npm:
|
||||
npm install -g @rescript/language-server
|
||||
```
|
||||
|
||||
See the init_options supported (see https://github.com/rescript-lang/rescript-vscode/tree/master/server/config.md):
|
||||
See [package.json](https://github.com/rescript-lang/rescript-vscode/blob/master/package.json#L139)
|
||||
for init_options supported.
|
||||
|
||||
For example, in order to disable the `inlayHints` option:
|
||||
```lua
|
||||
require'lspconfig'.pylsp.setup{
|
||||
settings = {
|
||||
rescript = {
|
||||
settings = {
|
||||
inlayHints = { enable = false },
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
@ -9768,7 +9878,21 @@ require'lspconfig'.rescriptls.setup{}
|
||||
```lua
|
||||
{
|
||||
extensionConfiguration = {
|
||||
askToStartBuild = false
|
||||
allowBuiltInFormatter = true,
|
||||
askToStartBuild = false,
|
||||
cache = {
|
||||
projectConfig = {
|
||||
enabled = true
|
||||
}
|
||||
},
|
||||
codeLens = true,
|
||||
incrementalTypechecking = {
|
||||
acrossFiles = true,
|
||||
enabled = true
|
||||
},
|
||||
inlayHints = {
|
||||
enable = true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -10321,7 +10445,7 @@ require'lspconfig'.scheme_langserver.setup{}
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "scheme-langserver" }
|
||||
{ "scheme-langserver", "~/.scheme-langserver.log", "enable", "disable" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
@ -10660,6 +10784,38 @@ require'lspconfig'.smithy_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## snakeskin_ls
|
||||
|
||||
https://www.npmjs.com/package/@snakeskin/cli
|
||||
|
||||
`snakeskin cli` can be installed via `npm`:
|
||||
```sh
|
||||
npm install -g @snakeskin/cli
|
||||
```
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.snakeskin_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "snakeskin-cli", "lsp", "--stdio" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ss" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
|
||||
|
||||
## snyk_ls
|
||||
|
||||
https://github.com/snyk/snyk-ls
|
||||
@ -11608,7 +11764,7 @@ require'lspconfig'.superhtml.setup{}
|
||||
|
||||
https://github.com/sveltejs/language-tools/tree/master/packages/language-server
|
||||
|
||||
Note: assuming that [tsserver](#tsserver) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
|
||||
Note: assuming that [ts_ls](#ts_ls) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
|
||||
|
||||
`svelte-language-server` can be installed via `npm`:
|
||||
```sh
|
||||
@ -11746,7 +11902,7 @@ require'lspconfig'.swift_mesonls.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("meson_options.txt", "meson.options", ".git")
|
||||
util.root_pattern("meson.build", "meson_options.txt", "meson.options", ".git")
|
||||
```
|
||||
|
||||
|
||||
@ -11962,9 +12118,14 @@ https://github.com/teal-language/teal-language-server
|
||||
|
||||
Install with:
|
||||
```
|
||||
luarocks install --dev teal-language-server
|
||||
luarocks install teal-language-server
|
||||
```
|
||||
|
||||
Optional Command Args:
|
||||
* "--log-mode=by_date" - Enable logging in $HOME/.cache/teal-language-server. Log name will be date + pid of process
|
||||
* "--log-mode=by_proj_path" - Enable logging in $HOME/.cache/teal-language-server. Log name will be project path + pid of process
|
||||
* "--verbose=true" - Increases log level. Does nothing unless log-mode is set
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
@ -11984,7 +12145,7 @@ require'lspconfig'.teal_ls.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern("tlconfig.lua", ".git")
|
||||
root_pattern("tlconfig.lua")
|
||||
```
|
||||
|
||||
|
||||
@ -12439,44 +12600,12 @@ require'lspconfig'.tinymist.setup{}
|
||||
```
|
||||
|
||||
|
||||
## tsp_server
|
||||
|
||||
https://github.com/microsoft/typespec
|
||||
|
||||
The language server for TypeSpec, a language for defining cloud service APIs and shapes.
|
||||
|
||||
`tsp-server` can be installed together with the typespec compiler via `npm`:
|
||||
```sh
|
||||
npm install -g @typespec/compiler
|
||||
```
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tsp_server.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "tsp-server", "--stdio" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "typespec" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("tspconfig.yaml", ".git")
|
||||
```
|
||||
|
||||
|
||||
## tsserver
|
||||
## ts_ls
|
||||
|
||||
https://github.com/typescript-language-server/typescript-language-server
|
||||
|
||||
`ts_ls`, aka `typescript-language-server`, is a Language Server Protocol implementation for TypeScript wrapping `tsserver`. Note that `ts_ls` is not `tsserver`.
|
||||
|
||||
`typescript-language-server` depends on `typescript`. Both packages can be installed via `npm`:
|
||||
```sh
|
||||
npm install -g typescript typescript-language-server
|
||||
@ -12510,7 +12639,7 @@ adds Vue support to this language server.
|
||||
*IMPORTANT*: It is crucial to ensure that `@vue/typescript-plugin` and `volar `are of identical versions.
|
||||
|
||||
```lua
|
||||
require'lspconfig'.tsserver.setup{
|
||||
require'lspconfig'.ts_ls.setup{
|
||||
init_options = {
|
||||
plugins = {
|
||||
{
|
||||
@ -12543,7 +12672,7 @@ require'lspconfig'.tsserver.setup{
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tsserver.setup{}
|
||||
require'lspconfig'.ts_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
@ -12572,6 +12701,40 @@ require'lspconfig'.tsserver.setup{}
|
||||
```
|
||||
|
||||
|
||||
## tsp_server
|
||||
|
||||
https://github.com/microsoft/typespec
|
||||
|
||||
The language server for TypeSpec, a language for defining cloud service APIs and shapes.
|
||||
|
||||
`tsp-server` can be installed together with the typespec compiler via `npm`:
|
||||
```sh
|
||||
npm install -g @typespec/compiler
|
||||
```
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tsp_server.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "tsp-server", "--stdio" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "typespec" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.root_pattern("tspconfig.yaml", ".git")
|
||||
```
|
||||
|
||||
|
||||
## ttags
|
||||
|
||||
https://github.com/npezza93/ttags
|
||||
@ -12631,6 +12794,38 @@ require'lspconfig'.turtle_ls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## tvm_ffi_navigator
|
||||
|
||||
https://github.com/tqchen/ffi-navigator
|
||||
|
||||
The Language Server for FFI calls in TVM to be able jump between python and C++
|
||||
|
||||
FFI navigator can be installed with `pip install ffi-navigator`, buf for more details, please see
|
||||
https://github.com/tqchen/ffi-navigator?tab=readme-ov-file#installation
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.tvm_ffi_navigator.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "python", "-m", "ffi_navigator.langserver" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "python", "cpp" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
```
|
||||
|
||||
|
||||
## twiggy_language_server
|
||||
|
||||
https://github.com/moetelo/twiggy
|
||||
@ -12718,10 +12913,6 @@ require'lspconfig'.typos_lsp.setup{}
|
||||
```lua
|
||||
{ "typos-lsp" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "*" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
see source file
|
||||
@ -12915,11 +13106,11 @@ require'lspconfig'.uvls.setup{}
|
||||
|
||||
## v_analyzer
|
||||
|
||||
https://github.com/v-analyzer/v-analyzer
|
||||
https://github.com/vlang/v-analyzer
|
||||
|
||||
V language server.
|
||||
|
||||
`v-analyzer` can be installed by following the instructions [here](https://github.com/v-analyzer/v-analyzer#installation).
|
||||
`v-analyzer` can be installed by following the instructions [here](https://github.com/vlang/v-analyzer#installation).
|
||||
|
||||
|
||||
|
||||
@ -13422,8 +13613,8 @@ Volar by default supports Vue 3 projects. Vue 2 projects need
|
||||
[additional configuration](https://github.com/vuejs/language-tools/tree/master/packages/vscode-vue#usage).
|
||||
|
||||
**TypeScript support**
|
||||
As of release 2.0.0, Volar no longer wraps around tsserver. For typescript
|
||||
support, `tsserver` needs to be configured with the `@vue/typescript-plugin`
|
||||
As of release 2.0.0, Volar no longer wraps around ts_ls. For typescript
|
||||
support, `ts_ls` needs to be configured with the `@vue/typescript-plugin`
|
||||
plugin.
|
||||
|
||||
**Take Over Mode**
|
||||
@ -13665,7 +13856,7 @@ require'lspconfig'.wgsl_analyzer.setup{}
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
root_pattern(".git"
|
||||
root_pattern(".git")
|
||||
```
|
||||
- `settings` :
|
||||
```lua
|
||||
@ -13838,6 +14029,74 @@ require'lspconfig'.yls.setup{}
|
||||
```
|
||||
|
||||
|
||||
## ziggy
|
||||
|
||||
https://ziggy-lang.io/documentation/ziggy-lsp/
|
||||
|
||||
Language server for the Ziggy data serialization format
|
||||
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.ziggy.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "ziggy", "lsp" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ziggy" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.find_git_ancestor
|
||||
```
|
||||
- `single_file_support` :
|
||||
```lua
|
||||
true
|
||||
```
|
||||
|
||||
|
||||
## ziggy_schema
|
||||
|
||||
https://ziggy-lang.io/documentation/ziggy-lsp/
|
||||
|
||||
Language server for schema files of the Ziggy data serialization format
|
||||
|
||||
|
||||
|
||||
|
||||
**Snippet to enable the language server:**
|
||||
```lua
|
||||
require'lspconfig'.ziggy_schema.setup{}
|
||||
```
|
||||
|
||||
|
||||
**Default values:**
|
||||
- `cmd` :
|
||||
```lua
|
||||
{ "ziggy", "lsp", "--schema" }
|
||||
```
|
||||
- `filetypes` :
|
||||
```lua
|
||||
{ "ziggy_schema" }
|
||||
```
|
||||
- `root_dir` :
|
||||
```lua
|
||||
util.find_git_ancestor
|
||||
```
|
||||
- `single_file_support` :
|
||||
```lua
|
||||
true
|
||||
```
|
||||
|
||||
|
||||
## zk
|
||||
|
||||
https://github.com/mickael-menu/zk
|
||||
@ -13852,6 +14111,7 @@ require'lspconfig'.zk.setup{}
|
||||
```
|
||||
**Commands:**
|
||||
- ZkIndex: ZkIndex
|
||||
- ZkList: ZkList
|
||||
- ZkNew: ZkNew
|
||||
|
||||
**Default values:**
|
||||
|
||||
@ -27,6 +27,10 @@ local function server_alias(name)
|
||||
to = 'lua_ls',
|
||||
version = '0.2.0',
|
||||
},
|
||||
tsserver = {
|
||||
to = 'ts_ls',
|
||||
version = '0.2.0',
|
||||
},
|
||||
}
|
||||
|
||||
return aliases[name]
|
||||
|
||||
@ -10,6 +10,10 @@ return {
|
||||
cmd = { bin_name },
|
||||
filetypes = { 'ada' },
|
||||
root_dir = util.root_pattern('Makefile', '.git', '*.gpr', '*.adc'),
|
||||
deprecate = {
|
||||
to = 'github.com/TamaMcGlinn/nvim-lspconfig-ada',
|
||||
version = '0.2.0',
|
||||
},
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
|
||||
@ -21,6 +21,31 @@ local function switch_source_header(bufnr)
|
||||
end
|
||||
end
|
||||
|
||||
local function symbol_info()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local clangd_client = util.get_active_client_by_name(bufnr, 'clangd')
|
||||
if not clangd_client or not clangd_client.supports_method 'textDocument/symbolInfo' then
|
||||
return vim.notify('Clangd client not found', vim.log.levels.ERROR)
|
||||
end
|
||||
local params = vim.lsp.util.make_position_params()
|
||||
clangd_client.request('textDocument/symbolInfo', params, function(err, res)
|
||||
if err or #res == 0 then
|
||||
-- Clangd always returns an error, there is not reason to parse it
|
||||
return
|
||||
end
|
||||
local container = string.format('container: %s', res[1].containerName) ---@type string
|
||||
local name = string.format('name: %s', res[1].name) ---@type string
|
||||
vim.lsp.util.open_floating_preview({ name, container }, '', {
|
||||
height = 2,
|
||||
width = math.max(string.len(name), string.len(container)),
|
||||
focusable = false,
|
||||
focus = false,
|
||||
border = require('lspconfig.ui.windows').default_options.border or 'single',
|
||||
title = 'Symbol Info',
|
||||
})
|
||||
end, bufnr)
|
||||
end
|
||||
|
||||
local root_files = {
|
||||
'.clangd',
|
||||
'.clang-tidy',
|
||||
@ -56,6 +81,12 @@ return {
|
||||
end,
|
||||
description = 'Switch between source/header',
|
||||
},
|
||||
ClangdShowSymbolInfo = {
|
||||
function()
|
||||
symbol_info()
|
||||
end,
|
||||
description = 'Show symbol info',
|
||||
},
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
local root_files = {
|
||||
'Gothic.src',
|
||||
'Camera.src',
|
||||
'Menu.src',
|
||||
'Music.src',
|
||||
'ParticleFX.src',
|
||||
'SFX.src',
|
||||
'VisualFX.src',
|
||||
}
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'DaedalusLanguageServer' },
|
||||
filetypes = { 'd' },
|
||||
root_dir = util.root_pattern(unpack(root_files)),
|
||||
settings = {
|
||||
DaedalusLanguageServer = {
|
||||
loglevel = 'debug',
|
||||
inlayHints = { constants = true },
|
||||
numParserThreads = 16,
|
||||
fileEncoding = 'Windows-1252',
|
||||
srcFileEncoding = 'Windows-1252',
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -17,7 +17,7 @@ return {
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
https://github.com/gnikit/fortls
|
||||
https://fortls.fortran-lang.org/index.html
|
||||
|
||||
fortls is a Fortran Language Server, the server can be installed via pip
|
||||
|
||||
@ -27,7 +27,7 @@ pip install fortls
|
||||
|
||||
Settings to the server can be passed either through the `cmd` option or through
|
||||
a local configuration file e.g. `.fortls`. For more information
|
||||
see the `fortls` [documentation](https://gnikit.github.io/fortls/options.html).
|
||||
see the `fortls` [documentation](https://fortls.fortran-lang.org/options.html).
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[root_pattern(".fortls")]],
|
||||
|
||||
@ -1,18 +1,33 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
local function find_hxml(path)
|
||||
return vim.fs.find(function(name)
|
||||
return name:match '.hxml$'
|
||||
end, { path = path, type = 'file' })
|
||||
end
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'haxe-language-server' },
|
||||
filetypes = { 'haxe' },
|
||||
root_dir = util.root_pattern '*.hxml',
|
||||
root_dir = util.root_pattern('*.hxml', '.git'),
|
||||
settings = {
|
||||
haxe = {
|
||||
executable = 'haxe',
|
||||
},
|
||||
},
|
||||
init_options = {
|
||||
displayArguments = { 'build.hxml' },
|
||||
},
|
||||
init_options = {},
|
||||
on_new_config = function(new_config, new_root_dir)
|
||||
if new_config.init_options.displayArguments then
|
||||
return
|
||||
end
|
||||
|
||||
local hxml = find_hxml(new_root_dir)[1]
|
||||
if hxml then
|
||||
vim.notify('Using HXML: ' .. hxml)
|
||||
new_config.init_options.displayArguments = { hxml }
|
||||
end
|
||||
end,
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
@ -36,12 +51,24 @@ lspconfig.haxe_language_server.setup({
|
||||
})
|
||||
```
|
||||
|
||||
By default, an HXML compiler arguments file named `build.hxml` is expected in
|
||||
your project's root directory. If your file is named something different,
|
||||
specify it using the `init_options.displayArguments` setting.
|
||||
By default, the language server is configured with the HXML compiler arguments
|
||||
contained in the first `.hxml` file found in your project's root directory.
|
||||
If you want to specify which one to use, set the `init_options.displayArguments`
|
||||
setting:
|
||||
|
||||
```lua
|
||||
lspconfig.haxe_language_server.setup({
|
||||
-- ...
|
||||
init_options = {
|
||||
displayArguments = { "build.hxml" },
|
||||
},
|
||||
})
|
||||
```
|
||||
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[root_pattern("*.hxml")]],
|
||||
root_dir = [[root_pattern("*.hxml", ".git")]],
|
||||
init_options = 'default value is set by on_new_config',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -3,7 +3,54 @@ local util = require 'lspconfig.util'
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'htmx-lsp' },
|
||||
filetypes = { 'html', 'templ' },
|
||||
filetypes = { -- filetypes copied and adjusted from tailwindcss-intellisense
|
||||
-- html
|
||||
'aspnetcorerazor',
|
||||
'astro',
|
||||
'astro-markdown',
|
||||
'blade',
|
||||
'clojure',
|
||||
'django-html',
|
||||
'htmldjango',
|
||||
'edge',
|
||||
'eelixir', -- vim ft
|
||||
'elixir',
|
||||
'ejs',
|
||||
'erb',
|
||||
'eruby', -- vim ft
|
||||
'gohtml',
|
||||
'gohtmltmpl',
|
||||
'haml',
|
||||
'handlebars',
|
||||
'hbs',
|
||||
'html',
|
||||
'htmlangular',
|
||||
'html-eex',
|
||||
'heex',
|
||||
'jade',
|
||||
'leaf',
|
||||
'liquid',
|
||||
'markdown',
|
||||
'mdx',
|
||||
'mustache',
|
||||
'njk',
|
||||
'nunjucks',
|
||||
'php',
|
||||
'razor',
|
||||
'slim',
|
||||
'twig',
|
||||
-- js
|
||||
'javascript',
|
||||
'javascriptreact',
|
||||
'reason',
|
||||
'rescript',
|
||||
'typescript',
|
||||
'typescriptreact',
|
||||
-- mixed
|
||||
'vue',
|
||||
'svelte',
|
||||
'templ',
|
||||
},
|
||||
single_file_support = true,
|
||||
root_dir = function(fname)
|
||||
return util.find_git_ancestor(fname)
|
||||
|
||||
@ -3,7 +3,7 @@ local util = require 'lspconfig.util'
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'hyprls', '--stdio' },
|
||||
filetypes = { 'hyprlang', '*.hl', 'hypr*.conf', '.config/hypr/*.conf' },
|
||||
filetypes = { 'hyprlang' },
|
||||
root_dir = util.find_git_ancestor,
|
||||
single_file_support = true,
|
||||
},
|
||||
|
||||
@ -22,7 +22,7 @@ vscode-json-language-server, a language server for JSON and JSON schema
|
||||
npm i -g vscode-langservers-extracted
|
||||
```
|
||||
|
||||
Neovim does not currently include built-in snippets. `vscode-json-language-server` only provides completions when snippet support is enabled. To enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
`vscode-json-language-server` only provides completions when snippet support is enabled. If you use Neovim older than v0.10 you need to enable completion, install a snippet plugin and add the following override to your language client capabilities during setup.
|
||||
|
||||
```lua
|
||||
--Enable (broadcasting) snippet capability for completion
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'kcl-language-server' },
|
||||
filetypes = { 'kcl' },
|
||||
root_dir = util.root_pattern '.git',
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
https://github.com/kcl-lang/kcl.nvim
|
||||
|
||||
Language server for the KCL configuration and policy language.
|
||||
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[root_pattern(".git")]],
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -4,7 +4,7 @@ return {
|
||||
default_config = {
|
||||
cmd = { 'mesonlsp', '--lsp' },
|
||||
filetypes = { 'meson' },
|
||||
root_dir = util.root_pattern('meson_options.txt', 'meson.options', '.git'),
|
||||
root_dir = util.root_pattern('meson.build', 'meson_options.txt', 'meson.options', '.git'),
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
@ -13,7 +13,7 @@ https://github.com/JCWasmx86/mesonlsp
|
||||
An unofficial, unendorsed language server for meson written in C++
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[util.root_pattern("meson_options.txt", "meson.options", ".git")]],
|
||||
root_dir = [[util.root_pattern("meson.build", "meson_options.txt", "meson.options", ".git")]],
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ local util = require 'lspconfig.util'
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'R', '--slave', '-e', 'languageserver::run()' },
|
||||
cmd = { 'R', '--no-echo', '-e', 'languageserver::run()' },
|
||||
filetypes = { 'r', 'rmd' },
|
||||
root_dir = function(fname)
|
||||
return util.find_git_ancestor(fname) or vim.loop.os_homedir()
|
||||
|
||||
@ -8,7 +8,17 @@ return {
|
||||
settings = {},
|
||||
init_options = {
|
||||
extensionConfiguration = {
|
||||
-- buggy, prompts much too often, superseded by incrementalTypechecking, below
|
||||
askToStartBuild = false,
|
||||
|
||||
allowBuiltInFormatter = true, -- lower latency
|
||||
incrementalTypechecking = { -- removes the need for external build process
|
||||
enabled = true,
|
||||
acrossFiles = true,
|
||||
},
|
||||
cache = { projectConfig = { enabled = true } }, -- speed up latency dramatically
|
||||
codeLens = true,
|
||||
inlayHints = { enable = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -21,7 +31,21 @@ ReScript Language Server can be installed via npm:
|
||||
npm install -g @rescript/language-server
|
||||
```
|
||||
|
||||
See the init_options supported (see https://github.com/rescript-lang/rescript-vscode/tree/master/server/config.md):
|
||||
See [package.json](https://github.com/rescript-lang/rescript-vscode/blob/master/package.json#L139)
|
||||
for init_options supported.
|
||||
|
||||
For example, in order to disable the `inlayHints` option:
|
||||
```lua
|
||||
require'lspconfig'.pylsp.setup{
|
||||
settings = {
|
||||
rescript = {
|
||||
settings = {
|
||||
inlayHints = { enable = false },
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
```
|
||||
]],
|
||||
root_dir = [[root_pattern('bsconfig.json', 'rescript.json', '.git')]],
|
||||
},
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
local util = require 'lspconfig.util'
|
||||
local bin_name = 'scheme-langserver'
|
||||
local cmd = { bin_name }
|
||||
local cmd = { 'scheme-langserver', '~/.scheme-langserver.log', 'enable', 'disable' }
|
||||
local root_files = {
|
||||
'Akku.manifest',
|
||||
'.git',
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'snakeskin-cli', 'lsp', '--stdio' },
|
||||
filetypes = { 'ss' },
|
||||
root_dir = util.root_pattern 'package.json',
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
https://www.npmjs.com/package/@snakeskin/cli
|
||||
|
||||
`snakeskin cli` can be installed via `npm`:
|
||||
```sh
|
||||
npm install -g @snakeskin/cli
|
||||
```
|
||||
]],
|
||||
},
|
||||
}
|
||||
@ -10,7 +10,7 @@ return {
|
||||
description = [[
|
||||
https://github.com/sveltejs/language-tools/tree/master/packages/language-server
|
||||
|
||||
Note: assuming that [tsserver](#tsserver) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
|
||||
Note: assuming that [ts_ls](#ts_ls) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage).
|
||||
|
||||
`svelte-language-server` can be installed via `npm`:
|
||||
```sh
|
||||
|
||||
@ -4,7 +4,7 @@ return {
|
||||
default_config = {
|
||||
cmd = { 'Swift-MesonLSP', '--lsp' },
|
||||
filetypes = { 'meson' },
|
||||
root_dir = util.root_pattern('meson_options.txt', 'meson.options', '.git'),
|
||||
root_dir = util.root_pattern('meson.build', 'meson_options.txt', 'meson.options', '.git'),
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
@ -13,7 +13,7 @@ https://github.com/JCWasmx86/Swift-MesonLSP
|
||||
Meson language server written in Swift
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[util.root_pattern("meson_options.txt", "meson.options", ".git")]],
|
||||
root_dir = [[util.root_pattern("meson.build", "meson_options.txt", "meson.options", ".git")]],
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -4,9 +4,7 @@ return {
|
||||
default_config = {
|
||||
cmd = { 'taplo', 'lsp', 'stdio' },
|
||||
filetypes = { 'toml' },
|
||||
root_dir = function(fname)
|
||||
return util.root_pattern '*.toml'(fname) or util.find_git_ancestor(fname)
|
||||
end,
|
||||
root_dir = util.find_git_ancestor,
|
||||
single_file_support = true,
|
||||
},
|
||||
docs = {
|
||||
|
||||
@ -4,14 +4,11 @@ return {
|
||||
default_config = {
|
||||
cmd = {
|
||||
'teal-language-server',
|
||||
-- use this to enable logging in /tmp/teal-language-server.log
|
||||
-- "logging=on",
|
||||
},
|
||||
filetypes = {
|
||||
'teal',
|
||||
-- "lua", -- Also works for lua, but you may get type errors that cannot be resolved within lua itself
|
||||
},
|
||||
root_dir = util.root_pattern('tlconfig.lua', '.git'),
|
||||
root_dir = util.root_pattern 'tlconfig.lua',
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
@ -19,11 +16,16 @@ https://github.com/teal-language/teal-language-server
|
||||
|
||||
Install with:
|
||||
```
|
||||
luarocks install --dev teal-language-server
|
||||
luarocks install teal-language-server
|
||||
```
|
||||
|
||||
Optional Command Args:
|
||||
* "--log-mode=by_date" - Enable logging in $HOME/.cache/teal-language-server. Log name will be date + pid of process
|
||||
* "--log-mode=by_proj_path" - Enable logging in $HOME/.cache/teal-language-server. Log name will be project path + pid of process
|
||||
* "--verbose=true" - Increases log level. Does nothing unless log-mode is set
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[root_pattern("tlconfig.lua", ".git")]],
|
||||
root_dir = [[root_pattern("tlconfig.lua")]],
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -14,16 +14,11 @@ local texlab_forward_status = {
|
||||
[3] = 'Unconfigured',
|
||||
}
|
||||
|
||||
local function buf_build(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function buf_build()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local texlab_client = util.get_active_client_by_name(bufnr, 'texlab')
|
||||
local pos = vim.api.nvim_win_get_cursor(0)
|
||||
local params = {
|
||||
textDocument = { uri = vim.uri_from_bufnr(bufnr) },
|
||||
position = { line = pos[1] - 1, character = pos[2] },
|
||||
}
|
||||
if texlab_client then
|
||||
texlab_client.request('textDocument/build', params, function(err, result)
|
||||
texlab_client.request('textDocument/build', vim.lsp.util.make_position_params(), function(err, result)
|
||||
if err then
|
||||
error(tostring(err))
|
||||
end
|
||||
@ -37,16 +32,11 @@ local function buf_build(bufnr)
|
||||
end
|
||||
end
|
||||
|
||||
local function buf_search(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function buf_search()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local texlab_client = util.get_active_client_by_name(bufnr, 'texlab')
|
||||
local pos = vim.api.nvim_win_get_cursor(0)
|
||||
local params = {
|
||||
textDocument = { uri = vim.uri_from_bufnr(bufnr) },
|
||||
position = { line = pos[1] - 1, character = pos[2] },
|
||||
}
|
||||
if texlab_client then
|
||||
texlab_client.request('textDocument/forwardSearch', params, function(err, result)
|
||||
texlab_client.request('textDocument/forwardSearch', vim.lsp.util.make_position_params(), function(err, result)
|
||||
if err then
|
||||
error(tostring(err))
|
||||
end
|
||||
@ -60,8 +50,8 @@ local function buf_search(bufnr)
|
||||
end
|
||||
end
|
||||
|
||||
local function buf_cancel_build(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function buf_cancel_build()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
if not util.get_active_client_by_name(bufnr, 'texlab') then
|
||||
return vim.notify('Texlab client not found', vim.log.levels.ERROR)
|
||||
end
|
||||
@ -69,8 +59,8 @@ local function buf_cancel_build(bufnr)
|
||||
vim.notify('Build cancelled', vim.log.levels.INFO)
|
||||
end
|
||||
|
||||
local function dependency_graph(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function dependency_graph()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local texlab_client = util.get_active_client_by_name(bufnr, 'texlab')
|
||||
if not texlab_client then
|
||||
return vim.notify('Texlab client not found', vim.log.levels.ERROR)
|
||||
@ -83,8 +73,8 @@ local function dependency_graph(bufnr)
|
||||
end, 0)
|
||||
end
|
||||
|
||||
local function cleanArtifacts(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function cleanArtifacts()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
if not util.get_active_client_by_name(bufnr, 'texlab') then
|
||||
return vim.notify('Texlab client not found', vim.log.levels.ERROR)
|
||||
end
|
||||
@ -95,8 +85,8 @@ local function cleanArtifacts(bufnr)
|
||||
vim.notify('Artifacts cleaned successfully', vim.log.levels.INFO)
|
||||
end
|
||||
|
||||
local function cleanAuxiliary(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function cleanAuxiliary()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
if not util.get_active_client_by_name(bufnr, 'texlab') then
|
||||
return vim.notify('Texlab client not found', vim.log.levels.ERROR)
|
||||
end
|
||||
@ -107,31 +97,41 @@ local function cleanAuxiliary(bufnr)
|
||||
vim.notify('Auxiliary files cleaned successfully', vim.log.levels.INFO)
|
||||
end
|
||||
|
||||
local function buf_find_envs(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function buf_find_envs()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local texlab_client = util.get_active_client_by_name(bufnr, 'texlab')
|
||||
if not texlab_client then
|
||||
return vim.notify('Texlab client not found', vim.log.levels.ERROR)
|
||||
end
|
||||
local pos = vim.api.nvim_win_get_cursor(0)
|
||||
texlab_client.request('workspace/executeCommand', {
|
||||
command = 'texlab.findEnvironments',
|
||||
arguments = {
|
||||
{
|
||||
textDocument = { uri = vim.uri_from_bufnr(bufnr) },
|
||||
position = { line = pos[1] - 1, character = pos[2] },
|
||||
},
|
||||
},
|
||||
arguments = { vim.lsp.util.make_position_params() },
|
||||
}, function(err, result)
|
||||
if err then
|
||||
return vim.notify(err.code .. ': ' .. err.message, vim.log.levels.ERROR)
|
||||
end
|
||||
return vim.notify('The environments are:\n' .. vim.inspect(result), vim.log.levels.INFO)
|
||||
local env_names = {}
|
||||
local max_length = 1
|
||||
for _, env in ipairs(result) do
|
||||
table.insert(env_names, env.name.text)
|
||||
max_length = math.max(max_length, string.len(env.name.text))
|
||||
end
|
||||
for i, name in ipairs(env_names) do
|
||||
env_names[i] = string.rep(' ', i - 1) .. name
|
||||
end
|
||||
vim.lsp.util.open_floating_preview(env_names, '', {
|
||||
height = #env_names,
|
||||
width = math.max((max_length + #env_names - 1), (string.len 'Environments')),
|
||||
focusable = false,
|
||||
focus = false,
|
||||
border = require('lspconfig.ui.windows').default_options.border or 'single',
|
||||
title = 'Environments',
|
||||
})
|
||||
end, bufnr)
|
||||
end
|
||||
|
||||
local function buf_change_env(bufnr)
|
||||
bufnr = util.validate_bufnr(bufnr)
|
||||
local function buf_change_env()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
if not util.get_active_client_by_name(bufnr, 'texlab') then
|
||||
return vim.notify('Texlab client not found', vim.log.levels.ERROR)
|
||||
end
|
||||
@ -152,18 +152,6 @@ local function buf_change_env(bufnr)
|
||||
}
|
||||
end
|
||||
|
||||
-- bufnr isn't actually required here, but we need a valid buffer in order to
|
||||
-- be able to find the client for buf_request.
|
||||
-- TODO find a client by looking through buffers for a valid client?
|
||||
-- local function build_cancel_all(bufnr)
|
||||
-- bufnr = util.validate_bufnr(bufnr)
|
||||
-- local params = { token = "texlab-build-*" }
|
||||
-- lsp.buf_request(bufnr, 'window/progress/cancel', params, function(err, method, result, client_id)
|
||||
-- if err then error(tostring(err)) end
|
||||
-- print("Cancel result", vim.inspect(result))
|
||||
-- end)
|
||||
-- end
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'texlab' },
|
||||
@ -202,49 +190,49 @@ return {
|
||||
commands = {
|
||||
TexlabBuild = {
|
||||
function()
|
||||
buf_build(0)
|
||||
buf_build()
|
||||
end,
|
||||
description = 'Build the current buffer',
|
||||
},
|
||||
TexlabForward = {
|
||||
function()
|
||||
buf_search(0)
|
||||
buf_search()
|
||||
end,
|
||||
description = 'Forward search from current position',
|
||||
},
|
||||
TexlabCancelBuild = {
|
||||
function()
|
||||
buf_cancel_build(0)
|
||||
buf_cancel_build()
|
||||
end,
|
||||
description = 'Cancel the current build',
|
||||
},
|
||||
TexlabDependencyGraph = {
|
||||
function()
|
||||
dependency_graph(0)
|
||||
dependency_graph()
|
||||
end,
|
||||
description = 'Show the dependency graph',
|
||||
},
|
||||
TexlabCleanArtifacts = {
|
||||
function()
|
||||
cleanArtifacts(0)
|
||||
cleanArtifacts()
|
||||
end,
|
||||
description = 'Clean the artifacts',
|
||||
},
|
||||
TexlabCleanAuxiliary = {
|
||||
function()
|
||||
cleanAuxiliary(0)
|
||||
cleanAuxiliary()
|
||||
end,
|
||||
description = 'Clean the auxiliary files',
|
||||
},
|
||||
TexlabFindEnvironments = {
|
||||
function()
|
||||
buf_find_envs(0)
|
||||
buf_find_envs()
|
||||
end,
|
||||
description = 'Find the environments at current position',
|
||||
},
|
||||
TexlabChangeEnvironment = {
|
||||
function()
|
||||
buf_change_env(0)
|
||||
buf_change_env()
|
||||
end,
|
||||
description = 'Change the environment at current position',
|
||||
},
|
||||
|
||||
@ -19,6 +19,8 @@ return {
|
||||
description = [[
|
||||
https://github.com/typescript-language-server/typescript-language-server
|
||||
|
||||
`ts_ls`, aka `typescript-language-server`, is a Language Server Protocol implementation for TypeScript wrapping `tsserver`. Note that `ts_ls` is not `tsserver`.
|
||||
|
||||
`typescript-language-server` depends on `typescript`. Both packages can be installed via `npm`:
|
||||
```sh
|
||||
npm install -g typescript typescript-language-server
|
||||
@ -52,7 +54,7 @@ adds Vue support to this language server.
|
||||
*IMPORTANT*: It is crucial to ensure that `@vue/typescript-plugin` and `volar `are of identical versions.
|
||||
|
||||
```lua
|
||||
require'lspconfig'.tsserver.setup{
|
||||
require'lspconfig'.ts_ls.setup{
|
||||
init_options = {
|
||||
plugins = {
|
||||
{
|
||||
@ -0,0 +1,19 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'python', '-m', 'ffi_navigator.langserver' },
|
||||
filetypes = { 'python', 'cpp' },
|
||||
root_dir = util.root_pattern('pyproject.toml', '.git'),
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
https://github.com/tqchen/ffi-navigator
|
||||
|
||||
The Language Server for FFI calls in TVM to be able jump between python and C++
|
||||
|
||||
FFI navigator can be installed with `pip install ffi-navigator`, buf for more details, please see
|
||||
https://github.com/tqchen/ffi-navigator?tab=readme-ov-file#installation
|
||||
]],
|
||||
},
|
||||
}
|
||||
@ -3,7 +3,6 @@ local util = require 'lspconfig.util'
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'typos-lsp' },
|
||||
filetypes = { '*' },
|
||||
root_dir = util.root_pattern('typos.toml', '_typos.toml', '.typos.toml'),
|
||||
single_file_support = true,
|
||||
settings = {},
|
||||
|
||||
@ -8,11 +8,11 @@ return {
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
https://github.com/v-analyzer/v-analyzer
|
||||
https://github.com/vlang/v-analyzer
|
||||
|
||||
V language server.
|
||||
|
||||
`v-analyzer` can be installed by following the instructions [here](https://github.com/v-analyzer/v-analyzer#installation).
|
||||
`v-analyzer` can be installed by following the instructions [here](https://github.com/vlang/v-analyzer#installation).
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[root_pattern("v.mod", ".git")]],
|
||||
|
||||
@ -44,8 +44,8 @@ Volar by default supports Vue 3 projects. Vue 2 projects need
|
||||
[additional configuration](https://github.com/vuejs/language-tools/tree/master/packages/vscode-vue#usage).
|
||||
|
||||
**TypeScript support**
|
||||
As of release 2.0.0, Volar no longer wraps around tsserver. For typescript
|
||||
support, `tsserver` needs to be configured with the `@vue/typescript-plugin`
|
||||
As of release 2.0.0, Volar no longer wraps around ts_ls. For typescript
|
||||
support, `ts_ls` needs to be configured with the `@vue/typescript-plugin`
|
||||
plugin.
|
||||
|
||||
**Take Over Mode**
|
||||
|
||||
@ -17,7 +17,7 @@ cargo install --git https://github.com/wgsl-analyzer/wgsl-analyzer wgsl_analyzer
|
||||
```
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[root_pattern(".git"]],
|
||||
root_dir = [[root_pattern(".git")]],
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'ziggy', 'lsp' },
|
||||
filetypes = { 'ziggy' },
|
||||
root_dir = util.find_git_ancestor,
|
||||
single_file_support = true,
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
https://ziggy-lang.io/documentation/ziggy-lsp/
|
||||
|
||||
Language server for the Ziggy data serialization format
|
||||
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[util.find_git_ancestor]],
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'ziggy', 'lsp', '--schema' },
|
||||
filetypes = { 'ziggy_schema' },
|
||||
root_dir = util.find_git_ancestor,
|
||||
single_file_support = true,
|
||||
},
|
||||
docs = {
|
||||
description = [[
|
||||
https://ziggy-lang.io/documentation/ziggy-lsp/
|
||||
|
||||
Language server for schema files of the Ziggy data serialization format
|
||||
|
||||
]],
|
||||
default_config = {
|
||||
root_dir = [[util.find_git_ancestor]],
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -1,5 +1,13 @@
|
||||
local util = require 'lspconfig.util'
|
||||
|
||||
local function find_zk_root(startpath)
|
||||
for dir in vim.fs.parents(startpath) do
|
||||
if vim.fn.isdirectory(vim.fs.joinpath(dir, '.zk')) == 1 then
|
||||
return dir
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
default_config = {
|
||||
cmd = { 'zk', 'lsp' },
|
||||
@ -16,6 +24,29 @@ return {
|
||||
end,
|
||||
description = 'ZkIndex',
|
||||
},
|
||||
ZkList = {
|
||||
function()
|
||||
local bufpath = vim.api.nvim_buf_get_name(0)
|
||||
local root = find_zk_root(bufpath)
|
||||
|
||||
vim.lsp.buf_request(0, 'workspace/executeCommand', {
|
||||
command = 'zk.list',
|
||||
arguments = { root, { select = { 'path' } } },
|
||||
}, function(_, result, _, _)
|
||||
if not result then
|
||||
return
|
||||
end
|
||||
local paths = vim.tbl_map(function(item)
|
||||
return item.path
|
||||
end, result)
|
||||
vim.ui.select(paths, {}, function(choice)
|
||||
vim.cmd('edit ' .. choice)
|
||||
end)
|
||||
end)
|
||||
end,
|
||||
|
||||
description = 'ZkList',
|
||||
},
|
||||
ZkNew = {
|
||||
function(...)
|
||||
vim.lsp.buf_request(0, 'workspace/executeCommand', {
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
#!/nix/store/4bj2kxdm1462fzcc2i2s4dn33g2angcc-bash-5.2p32/bin/sh
|
||||
#!/nix/store/izpf49b74i15pcr9708s3xdwyqs4jxwl-bash-5.2p32/bin/sh
|
||||
exec nvim -u NONE -E -R --headless +'set rtp+=$PWD' +'luafile scripts/docgen.lua' +q
|
||||
|
||||
Reference in New Issue
Block a user