1

Refresh generated neovim config

This commit is contained in:
2024-07-14 21:12:36 +02:00
parent f215ce2ab5
commit 00464e0e65
731 changed files with 6780 additions and 31110 deletions

View File

@ -9,7 +9,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: LuaRocks Upload
uses: nvim-neorocks/luarocks-tag-release@v5
uses: nvim-neorocks/luarocks-tag-release@v6
env:
LUAROCKS_API_KEY: ${{ secrets.LUAROCKS_API_KEY }}
with:

View File

@ -18,7 +18,7 @@ The point of lspconfig is to provide the minimal configuration necessary for a s
## Adding a server to lspconfig
The general form of adding a new language server is to start with a minimal skeleton. This includes populated the `config` table with a `default_config` and `docs` table.
The general form of adding a new language server is to start with a minimal skeleton. This includes populating the `config` table with a `default_config` and `docs` table.
When choosing a server name, convert all dashes (`-`) to underscores (`_`) If the name of the server is a unique name (`pyright`, `clangd`) or a commonly used abbreviation (`zls`), prefer this as the server name. If the server instead follows the pattern x-language-server, prefer the convention `x_ls` (`jsonnet_ls`).
@ -30,7 +30,7 @@ Note that Windows has a limitation when it comes to directly invoking a server t
cmd = { 'typescript-language-server', '--stdio' }
```
* `filetypes`: a list for filetypes a
* `filetypes`: a list for filetypes the server should match with
* `root_dir`: a function (or function handle) which returns the root of the project used to determine if lspconfig should launch a new language server, or attach a previously launched server when you open a new buffer matching the filetype of the server. Note, lspconfig does not offer a dedicated single file mode (this is not codified in the spec). Do not add `vim.fn.cwd` or `util.path.dirname` in `root_dir`. A future version of lspconfig will provide emulation of a single file mode until this is formally codified in the specification. A good fallback is `util.find_git_ancestor`, see other configurations for examples.
Additionally, the following options are often added:

View File

@ -27,6 +27,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
- [bicep](#bicep)
- [biome](#biome)
- [bitbake_language_server](#bitbake_language_server)
- [bitbake_ls](#bitbake_ls)
- [blueprint_ls](#blueprint_ls)
- [bqnlsp](#bqnlsp)
- [bright_script](#bright_script)
@ -67,6 +68,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
- [dhall_lsp_server](#dhall_lsp_server)
- [diagnosticls](#diagnosticls)
- [digestif](#digestif)
- [djlsp](#djlsp)
- [docker_compose_language_service](#docker_compose_language_service)
- [dockerls](#dockerls)
- [dolmenls](#dolmenls)
@ -90,6 +92,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
- [facility_language_server](#facility_language_server)
- [fennel_language_server](#fennel_language_server)
- [fennel_ls](#fennel_ls)
- [fish_lsp](#fish_lsp)
- [flow](#flow)
- [flux_lsp](#flux_lsp)
- [foam_ls](#foam_ls)
@ -732,152 +735,11 @@ require'lspconfig'.arduino_language_server.setup{}
- `capabilities` :
```lua
{
general = {
positionEncodings = { "utf-16" }
},
textDocument = {
callHierarchy = {
dynamicRegistration = false
},
codeAction = {
codeActionLiteralSupport = {
codeActionKind = {
valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
}
},
dataSupport = true,
dynamicRegistration = true,
isPreferredSupport = true,
resolveSupport = {
properties = { "edit" }
}
},
completion = {
completionItem = {
commitCharactersSupport = false,
deprecatedSupport = false,
documentationFormat = { "markdown", "plaintext" },
preselectSupport = false,
snippetSupport = false
},
completionItemKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
},
completionList = {
itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" }
},
contextSupport = false,
dynamicRegistration = false
},
declaration = {
linkSupport = true
},
definition = {
dynamicRegistration = true,
linkSupport = true
},
diagnostic = {
dynamicRegistration = false
},
documentHighlight = {
dynamicRegistration = false
},
documentSymbol = {
dynamicRegistration = false,
hierarchicalDocumentSymbolSupport = true,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
formatting = {
dynamicRegistration = true
},
hover = {
contentFormat = { "markdown", "plaintext" },
dynamicRegistration = true
},
implementation = {
linkSupport = true
},
inlayHint = {
dynamicRegistration = true,
resolveSupport = {
properties = { "textEdits", "tooltip", "location", "command" }
}
},
publishDiagnostics = {
dataSupport = true,
relatedInformation = true,
tagSupport = {
valueSet = { 1, 2 }
}
},
rangeFormatting = {
dynamicRegistration = true
},
references = {
dynamicRegistration = false
},
rename = {
dynamicRegistration = true,
prepareSupport = true
},
semanticTokens = vim.NIL,
signatureHelp = {
dynamicRegistration = false,
signatureInformation = {
activeParameterSupport = true,
documentationFormat = { "markdown", "plaintext" },
parameterInformation = {
labelOffsetSupport = true
}
}
},
synchronization = {
didSave = true,
dynamicRegistration = false,
willSave = true,
willSaveWaitUntil = true
},
typeDefinition = {
linkSupport = true
}
},
window = {
showDocument = {
support = true
},
showMessage = {
messageActionItem = {
additionalPropertiesSupport = false
}
},
workDoneProgress = true
semanticTokens = vim.NIL
},
workspace = {
applyEdit = true,
configuration = true,
didChangeConfiguration = {
dynamicRegistration = false
},
didChangeWatchedFiles = {
dynamicRegistration = false,
relativePatternSupport = true
},
inlayHint = {
refreshSupport = true
},
semanticTokens = vim.NIL,
symbol = {
dynamicRegistration = false,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
workspaceEdit = {
resourceOperations = { "rename", "create", "delete" }
},
workspaceFolders = true
semanticTokens = vim.NIL
}
}
```
@ -1405,7 +1267,7 @@ require'lspconfig'.biome.setup{}
```
- `filetypes` :
```lua
{ "javascript", "javascriptreact", "json", "jsonc", "typescript", "typescript.tsx", "typescriptreact", "astro", "svelte", "vue" }
{ "javascript", "javascriptreact", "json", "jsonc", "typescript", "typescript.tsx", "typescriptreact", "astro", "svelte", "vue", "css" }
```
- `root_dir` :
```lua
@ -1444,6 +1306,46 @@ require'lspconfig'.bitbake_language_server.setup{}
```
## bitbake_ls
https://github.com/yoctoproject/vscode-bitbake/tree/staging/server
https://www.npmjs.com/package/language-server-bitbake
Official Bitbake Language Server for the Yocto Project.
Can be installed from npm or github.
```
npm install -g language-server-bitbake
```
**Snippet to enable the language server:**
```lua
require'lspconfig'.bitbake_ls.setup{}
```
**Default values:**
- `cmd` :
```lua
{ "language-server-bitbake", "--stdio" }
```
- `filetypes` :
```lua
{ "bitbake" }
```
- `root_dir` :
```lua
util.find_git_ancestor
```
- `single_file_support` :
```lua
false
```
## blueprint_ls
https://gitlab.gnome.org/jwestman/blueprint-compiler
@ -3048,6 +2950,39 @@ require'lspconfig'.digestif.setup{}
```
## djlsp
https://github.com/fourdigits/django-template-lsp
`djlsp`, a language server for Django templates.
**Snippet to enable the language server:**
```lua
require'lspconfig'.djlsp.setup{}
```
**Default values:**
- `cmd` :
```lua
{ "djlsp" }
```
- `filetypes` :
```lua
{ "html", "htmldjango" }
```
- `root_dir` :
```lua
see source file
```
- `settings` :
```lua
{}
```
## docker_compose_language_service
https://github.com/microsoft/compose-language-service
@ -3552,6 +3487,12 @@ require'lspconfig'.elmls.setup{}
**Default values:**
- `capabilities` :
```lua
{
offsetEncoding = { "utf-8", "utf-16" }
}
```
- `cmd` :
```lua
{ "elm-language-server" }
@ -4049,171 +3990,7 @@ require'lspconfig'.fennel_ls.setup{}
- `capabilities` :
```lua
{
general = {
positionEncodings = { "utf-16" }
},
offsetEncoding = { "utf-8", "utf-16" },
textDocument = {
callHierarchy = {
dynamicRegistration = false
},
codeAction = {
codeActionLiteralSupport = {
codeActionKind = {
valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
}
},
dataSupport = true,
dynamicRegistration = true,
isPreferredSupport = true,
resolveSupport = {
properties = { "edit" }
}
},
completion = {
completionItem = {
commitCharactersSupport = false,
deprecatedSupport = false,
documentationFormat = { "markdown", "plaintext" },
preselectSupport = false,
snippetSupport = false
},
completionItemKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
},
completionList = {
itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" }
},
contextSupport = false,
dynamicRegistration = false
},
declaration = {
linkSupport = true
},
definition = {
dynamicRegistration = true,
linkSupport = true
},
diagnostic = {
dynamicRegistration = false
},
documentHighlight = {
dynamicRegistration = false
},
documentSymbol = {
dynamicRegistration = false,
hierarchicalDocumentSymbolSupport = true,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
formatting = {
dynamicRegistration = true
},
hover = {
contentFormat = { "markdown", "plaintext" },
dynamicRegistration = true
},
implementation = {
linkSupport = true
},
inlayHint = {
dynamicRegistration = true,
resolveSupport = {
properties = { "textEdits", "tooltip", "location", "command" }
}
},
publishDiagnostics = {
dataSupport = true,
relatedInformation = true,
tagSupport = {
valueSet = { 1, 2 }
}
},
rangeFormatting = {
dynamicRegistration = true
},
references = {
dynamicRegistration = false
},
rename = {
dynamicRegistration = true,
prepareSupport = true
},
semanticTokens = {
augmentsSyntaxTokens = true,
dynamicRegistration = false,
formats = { "relative" },
multilineTokenSupport = false,
overlappingTokenSupport = true,
requests = {
full = {
delta = true
},
range = false
},
serverCancelSupport = false,
tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },
tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
},
signatureHelp = {
dynamicRegistration = false,
signatureInformation = {
activeParameterSupport = true,
documentationFormat = { "markdown", "plaintext" },
parameterInformation = {
labelOffsetSupport = true
}
}
},
synchronization = {
didSave = true,
dynamicRegistration = false,
willSave = true,
willSaveWaitUntil = true
},
typeDefinition = {
linkSupport = true
}
},
window = {
showDocument = {
support = true
},
showMessage = {
messageActionItem = {
additionalPropertiesSupport = false
}
},
workDoneProgress = true
},
workspace = {
applyEdit = true,
configuration = true,
didChangeConfiguration = {
dynamicRegistration = false
},
didChangeWatchedFiles = {
dynamicRegistration = false,
relativePatternSupport = true
},
inlayHint = {
refreshSupport = true
},
semanticTokens = {
refreshSupport = true
},
symbol = {
dynamicRegistration = false,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
workspaceEdit = {
resourceOperations = { "rename", "create", "delete" }
},
workspaceFolders = true
}
offsetEncoding = { "utf-8", "utf-16" }
}
```
- `cmd` :
@ -4234,6 +4011,50 @@ require'lspconfig'.fennel_ls.setup{}
```
## fish_lsp
https://github.com/ndonfris/fish-lsp
A Language Server Protocol (LSP) tailored for the fish shell.
This project aims to enhance the coding experience for fish,
by introducing a suite of intelligent features like auto-completion,
scope aware symbol analysis, per-token hover generation, and many others.
[homepage](https://www.fish-lsp.dev/)
**Snippet to enable the language server:**
```lua
require'lspconfig'.fish_lsp.setup{}
```
**Default values:**
- `cmd` :
```lua
{ "fish-lsp", "start" }
```
- `cmd_env` :
```lua
{
fish_lsp_show_client_popups = false
}
```
- `filetypes` :
```lua
{ "fish" }
```
- `root_dir` :
```lua
util.find_git_ancestor
```
- `single_file_support` :
```lua
true
```
## flow
https://flow.org/
@ -10154,170 +9975,6 @@ require'lspconfig'.rust_analyzer.setup{}
{
experimental = {
serverStatusNotification = true
},
general = {
positionEncodings = { "utf-16" }
},
textDocument = {
callHierarchy = {
dynamicRegistration = false
},
codeAction = {
codeActionLiteralSupport = {
codeActionKind = {
valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
}
},
dataSupport = true,
dynamicRegistration = true,
isPreferredSupport = true,
resolveSupport = {
properties = { "edit" }
}
},
completion = {
completionItem = {
commitCharactersSupport = false,
deprecatedSupport = false,
documentationFormat = { "markdown", "plaintext" },
preselectSupport = false,
snippetSupport = false
},
completionItemKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
},
completionList = {
itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" }
},
contextSupport = false,
dynamicRegistration = false
},
declaration = {
linkSupport = true
},
definition = {
dynamicRegistration = true,
linkSupport = true
},
diagnostic = {
dynamicRegistration = false
},
documentHighlight = {
dynamicRegistration = false
},
documentSymbol = {
dynamicRegistration = false,
hierarchicalDocumentSymbolSupport = true,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
formatting = {
dynamicRegistration = true
},
hover = {
contentFormat = { "markdown", "plaintext" },
dynamicRegistration = true
},
implementation = {
linkSupport = true
},
inlayHint = {
dynamicRegistration = true,
resolveSupport = {
properties = { "textEdits", "tooltip", "location", "command" }
}
},
publishDiagnostics = {
dataSupport = true,
relatedInformation = true,
tagSupport = {
valueSet = { 1, 2 }
}
},
rangeFormatting = {
dynamicRegistration = true
},
references = {
dynamicRegistration = false
},
rename = {
dynamicRegistration = true,
prepareSupport = true
},
semanticTokens = {
augmentsSyntaxTokens = true,
dynamicRegistration = false,
formats = { "relative" },
multilineTokenSupport = false,
overlappingTokenSupport = true,
requests = {
full = {
delta = true
},
range = false
},
serverCancelSupport = false,
tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },
tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
},
signatureHelp = {
dynamicRegistration = false,
signatureInformation = {
activeParameterSupport = true,
documentationFormat = { "markdown", "plaintext" },
parameterInformation = {
labelOffsetSupport = true
}
}
},
synchronization = {
didSave = true,
dynamicRegistration = false,
willSave = true,
willSaveWaitUntil = true
},
typeDefinition = {
linkSupport = true
}
},
window = {
showDocument = {
support = true
},
showMessage = {
messageActionItem = {
additionalPropertiesSupport = false
}
},
workDoneProgress = true
},
workspace = {
applyEdit = true,
configuration = true,
didChangeConfiguration = {
dynamicRegistration = false
},
didChangeWatchedFiles = {
dynamicRegistration = false,
relativePatternSupport = true
},
inlayHint = {
refreshSupport = true
},
semanticTokens = {
refreshSupport = true
},
symbol = {
dynamicRegistration = false,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
workspaceEdit = {
resourceOperations = { "rename", "create", "delete" }
},
workspaceFolders = true
}
}
```
@ -10643,6 +10300,10 @@ require'lspconfig'.slint_lsp.setup{}
```lua
{ "slint" }
```
- `root_dir` :
```lua
see source file
```
- `single_file_support` :
```lua
true
@ -11153,7 +10814,7 @@ require'lspconfig'.sourcekit.setup{}
```
- `root_dir` :
```lua
root_pattern("buildServer.json", "*.xcodeproj", "*.xcworkspace", ".git", "compile_commands.json", "Package.swift")
root_pattern("buildServer.json", "*.xcodeproj", "*.xcworkspace", "compile_commands.json", "Package.swift", ".git")
```
@ -12589,7 +12250,7 @@ require'lspconfig'.tsserver.setup{}
```
- `root_dir` :
```lua
root_pattern("tsconfig.json", "package.json", "jsconfig.json", ".git")
root_pattern("tsconfig.json", "jsconfig.json", "package.json", ".git")
```
- `single_file_support` :
```lua

View File

@ -27,6 +27,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
- [bicep](#bicep)
- [biome](#biome)
- [bitbake_language_server](#bitbake_language_server)
- [bitbake_ls](#bitbake_ls)
- [blueprint_ls](#blueprint_ls)
- [bqnlsp](#bqnlsp)
- [bright_script](#bright_script)
@ -67,6 +68,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
- [dhall_lsp_server](#dhall_lsp_server)
- [diagnosticls](#diagnosticls)
- [digestif](#digestif)
- [djlsp](#djlsp)
- [docker_compose_language_service](#docker_compose_language_service)
- [dockerls](#dockerls)
- [dolmenls](#dolmenls)
@ -90,6 +92,7 @@ autogenerated from the Lua files. You can view this file in Nvim by running
- [facility_language_server](#facility_language_server)
- [fennel_language_server](#fennel_language_server)
- [fennel_ls](#fennel_ls)
- [fish_lsp](#fish_lsp)
- [flow](#flow)
- [flux_lsp](#flux_lsp)
- [foam_ls](#foam_ls)
@ -732,152 +735,11 @@ require'lspconfig'.arduino_language_server.setup{}
- `capabilities` :
```lua
{
general = {
positionEncodings = { "utf-16" }
},
textDocument = {
callHierarchy = {
dynamicRegistration = false
},
codeAction = {
codeActionLiteralSupport = {
codeActionKind = {
valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
}
},
dataSupport = true,
dynamicRegistration = true,
isPreferredSupport = true,
resolveSupport = {
properties = { "edit" }
}
},
completion = {
completionItem = {
commitCharactersSupport = false,
deprecatedSupport = false,
documentationFormat = { "markdown", "plaintext" },
preselectSupport = false,
snippetSupport = false
},
completionItemKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
},
completionList = {
itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" }
},
contextSupport = false,
dynamicRegistration = false
},
declaration = {
linkSupport = true
},
definition = {
dynamicRegistration = true,
linkSupport = true
},
diagnostic = {
dynamicRegistration = false
},
documentHighlight = {
dynamicRegistration = false
},
documentSymbol = {
dynamicRegistration = false,
hierarchicalDocumentSymbolSupport = true,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
formatting = {
dynamicRegistration = true
},
hover = {
contentFormat = { "markdown", "plaintext" },
dynamicRegistration = true
},
implementation = {
linkSupport = true
},
inlayHint = {
dynamicRegistration = true,
resolveSupport = {
properties = { "textEdits", "tooltip", "location", "command" }
}
},
publishDiagnostics = {
dataSupport = true,
relatedInformation = true,
tagSupport = {
valueSet = { 1, 2 }
}
},
rangeFormatting = {
dynamicRegistration = true
},
references = {
dynamicRegistration = false
},
rename = {
dynamicRegistration = true,
prepareSupport = true
},
semanticTokens = vim.NIL,
signatureHelp = {
dynamicRegistration = false,
signatureInformation = {
activeParameterSupport = true,
documentationFormat = { "markdown", "plaintext" },
parameterInformation = {
labelOffsetSupport = true
}
}
},
synchronization = {
didSave = true,
dynamicRegistration = false,
willSave = true,
willSaveWaitUntil = true
},
typeDefinition = {
linkSupport = true
}
},
window = {
showDocument = {
support = true
},
showMessage = {
messageActionItem = {
additionalPropertiesSupport = false
}
},
workDoneProgress = true
semanticTokens = vim.NIL
},
workspace = {
applyEdit = true,
configuration = true,
didChangeConfiguration = {
dynamicRegistration = false
},
didChangeWatchedFiles = {
dynamicRegistration = false,
relativePatternSupport = true
},
inlayHint = {
refreshSupport = true
},
semanticTokens = vim.NIL,
symbol = {
dynamicRegistration = false,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
workspaceEdit = {
resourceOperations = { "rename", "create", "delete" }
},
workspaceFolders = true
semanticTokens = vim.NIL
}
}
```
@ -1405,7 +1267,7 @@ require'lspconfig'.biome.setup{}
```
- `filetypes` :
```lua
{ "javascript", "javascriptreact", "json", "jsonc", "typescript", "typescript.tsx", "typescriptreact", "astro", "svelte", "vue" }
{ "javascript", "javascriptreact", "json", "jsonc", "typescript", "typescript.tsx", "typescriptreact", "astro", "svelte", "vue", "css" }
```
- `root_dir` :
```lua
@ -1444,6 +1306,46 @@ require'lspconfig'.bitbake_language_server.setup{}
```
## bitbake_ls
https://github.com/yoctoproject/vscode-bitbake/tree/staging/server
https://www.npmjs.com/package/language-server-bitbake
Official Bitbake Language Server for the Yocto Project.
Can be installed from npm or github.
```
npm install -g language-server-bitbake
```
**Snippet to enable the language server:**
```lua
require'lspconfig'.bitbake_ls.setup{}
```
**Default values:**
- `cmd` :
```lua
{ "language-server-bitbake", "--stdio" }
```
- `filetypes` :
```lua
{ "bitbake" }
```
- `root_dir` :
```lua
util.find_git_ancestor
```
- `single_file_support` :
```lua
false
```
## blueprint_ls
https://gitlab.gnome.org/jwestman/blueprint-compiler
@ -3048,6 +2950,39 @@ require'lspconfig'.digestif.setup{}
```
## djlsp
https://github.com/fourdigits/django-template-lsp
`djlsp`, a language server for Django templates.
**Snippet to enable the language server:**
```lua
require'lspconfig'.djlsp.setup{}
```
**Default values:**
- `cmd` :
```lua
{ "djlsp" }
```
- `filetypes` :
```lua
{ "html", "htmldjango" }
```
- `root_dir` :
```lua
see source file
```
- `settings` :
```lua
{}
```
## docker_compose_language_service
https://github.com/microsoft/compose-language-service
@ -3552,6 +3487,12 @@ require'lspconfig'.elmls.setup{}
**Default values:**
- `capabilities` :
```lua
{
offsetEncoding = { "utf-8", "utf-16" }
}
```
- `cmd` :
```lua
{ "elm-language-server" }
@ -4049,171 +3990,7 @@ require'lspconfig'.fennel_ls.setup{}
- `capabilities` :
```lua
{
general = {
positionEncodings = { "utf-16" }
},
offsetEncoding = { "utf-8", "utf-16" },
textDocument = {
callHierarchy = {
dynamicRegistration = false
},
codeAction = {
codeActionLiteralSupport = {
codeActionKind = {
valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
}
},
dataSupport = true,
dynamicRegistration = true,
isPreferredSupport = true,
resolveSupport = {
properties = { "edit" }
}
},
completion = {
completionItem = {
commitCharactersSupport = false,
deprecatedSupport = false,
documentationFormat = { "markdown", "plaintext" },
preselectSupport = false,
snippetSupport = false
},
completionItemKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
},
completionList = {
itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" }
},
contextSupport = false,
dynamicRegistration = false
},
declaration = {
linkSupport = true
},
definition = {
dynamicRegistration = true,
linkSupport = true
},
diagnostic = {
dynamicRegistration = false
},
documentHighlight = {
dynamicRegistration = false
},
documentSymbol = {
dynamicRegistration = false,
hierarchicalDocumentSymbolSupport = true,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
formatting = {
dynamicRegistration = true
},
hover = {
contentFormat = { "markdown", "plaintext" },
dynamicRegistration = true
},
implementation = {
linkSupport = true
},
inlayHint = {
dynamicRegistration = true,
resolveSupport = {
properties = { "textEdits", "tooltip", "location", "command" }
}
},
publishDiagnostics = {
dataSupport = true,
relatedInformation = true,
tagSupport = {
valueSet = { 1, 2 }
}
},
rangeFormatting = {
dynamicRegistration = true
},
references = {
dynamicRegistration = false
},
rename = {
dynamicRegistration = true,
prepareSupport = true
},
semanticTokens = {
augmentsSyntaxTokens = true,
dynamicRegistration = false,
formats = { "relative" },
multilineTokenSupport = false,
overlappingTokenSupport = true,
requests = {
full = {
delta = true
},
range = false
},
serverCancelSupport = false,
tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },
tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
},
signatureHelp = {
dynamicRegistration = false,
signatureInformation = {
activeParameterSupport = true,
documentationFormat = { "markdown", "plaintext" },
parameterInformation = {
labelOffsetSupport = true
}
}
},
synchronization = {
didSave = true,
dynamicRegistration = false,
willSave = true,
willSaveWaitUntil = true
},
typeDefinition = {
linkSupport = true
}
},
window = {
showDocument = {
support = true
},
showMessage = {
messageActionItem = {
additionalPropertiesSupport = false
}
},
workDoneProgress = true
},
workspace = {
applyEdit = true,
configuration = true,
didChangeConfiguration = {
dynamicRegistration = false
},
didChangeWatchedFiles = {
dynamicRegistration = false,
relativePatternSupport = true
},
inlayHint = {
refreshSupport = true
},
semanticTokens = {
refreshSupport = true
},
symbol = {
dynamicRegistration = false,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
workspaceEdit = {
resourceOperations = { "rename", "create", "delete" }
},
workspaceFolders = true
}
offsetEncoding = { "utf-8", "utf-16" }
}
```
- `cmd` :
@ -4234,6 +4011,50 @@ require'lspconfig'.fennel_ls.setup{}
```
## fish_lsp
https://github.com/ndonfris/fish-lsp
A Language Server Protocol (LSP) tailored for the fish shell.
This project aims to enhance the coding experience for fish,
by introducing a suite of intelligent features like auto-completion,
scope aware symbol analysis, per-token hover generation, and many others.
[homepage](https://www.fish-lsp.dev/)
**Snippet to enable the language server:**
```lua
require'lspconfig'.fish_lsp.setup{}
```
**Default values:**
- `cmd` :
```lua
{ "fish-lsp", "start" }
```
- `cmd_env` :
```lua
{
fish_lsp_show_client_popups = false
}
```
- `filetypes` :
```lua
{ "fish" }
```
- `root_dir` :
```lua
util.find_git_ancestor
```
- `single_file_support` :
```lua
true
```
## flow
https://flow.org/
@ -10154,170 +9975,6 @@ require'lspconfig'.rust_analyzer.setup{}
{
experimental = {
serverStatusNotification = true
},
general = {
positionEncodings = { "utf-16" }
},
textDocument = {
callHierarchy = {
dynamicRegistration = false
},
codeAction = {
codeActionLiteralSupport = {
codeActionKind = {
valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" }
}
},
dataSupport = true,
dynamicRegistration = true,
isPreferredSupport = true,
resolveSupport = {
properties = { "edit" }
}
},
completion = {
completionItem = {
commitCharactersSupport = false,
deprecatedSupport = false,
documentationFormat = { "markdown", "plaintext" },
preselectSupport = false,
snippetSupport = false
},
completionItemKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
},
completionList = {
itemDefaults = { "editRange", "insertTextFormat", "insertTextMode", "data" }
},
contextSupport = false,
dynamicRegistration = false
},
declaration = {
linkSupport = true
},
definition = {
dynamicRegistration = true,
linkSupport = true
},
diagnostic = {
dynamicRegistration = false
},
documentHighlight = {
dynamicRegistration = false
},
documentSymbol = {
dynamicRegistration = false,
hierarchicalDocumentSymbolSupport = true,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
formatting = {
dynamicRegistration = true
},
hover = {
contentFormat = { "markdown", "plaintext" },
dynamicRegistration = true
},
implementation = {
linkSupport = true
},
inlayHint = {
dynamicRegistration = true,
resolveSupport = {
properties = { "textEdits", "tooltip", "location", "command" }
}
},
publishDiagnostics = {
dataSupport = true,
relatedInformation = true,
tagSupport = {
valueSet = { 1, 2 }
}
},
rangeFormatting = {
dynamicRegistration = true
},
references = {
dynamicRegistration = false
},
rename = {
dynamicRegistration = true,
prepareSupport = true
},
semanticTokens = {
augmentsSyntaxTokens = true,
dynamicRegistration = false,
formats = { "relative" },
multilineTokenSupport = false,
overlappingTokenSupport = true,
requests = {
full = {
delta = true
},
range = false
},
serverCancelSupport = false,
tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" },
tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" }
},
signatureHelp = {
dynamicRegistration = false,
signatureInformation = {
activeParameterSupport = true,
documentationFormat = { "markdown", "plaintext" },
parameterInformation = {
labelOffsetSupport = true
}
}
},
synchronization = {
didSave = true,
dynamicRegistration = false,
willSave = true,
willSaveWaitUntil = true
},
typeDefinition = {
linkSupport = true
}
},
window = {
showDocument = {
support = true
},
showMessage = {
messageActionItem = {
additionalPropertiesSupport = false
}
},
workDoneProgress = true
},
workspace = {
applyEdit = true,
configuration = true,
didChangeConfiguration = {
dynamicRegistration = false
},
didChangeWatchedFiles = {
dynamicRegistration = false,
relativePatternSupport = true
},
inlayHint = {
refreshSupport = true
},
semanticTokens = {
refreshSupport = true
},
symbol = {
dynamicRegistration = false,
symbolKind = {
valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 }
}
},
workspaceEdit = {
resourceOperations = { "rename", "create", "delete" }
},
workspaceFolders = true
}
}
```
@ -10643,6 +10300,10 @@ require'lspconfig'.slint_lsp.setup{}
```lua
{ "slint" }
```
- `root_dir` :
```lua
see source file
```
- `single_file_support` :
```lua
true
@ -11153,7 +10814,7 @@ require'lspconfig'.sourcekit.setup{}
```
- `root_dir` :
```lua
root_pattern("buildServer.json", "*.xcodeproj", "*.xcworkspace", ".git", "compile_commands.json", "Package.swift")
root_pattern("buildServer.json", "*.xcodeproj", "*.xcworkspace", "compile_commands.json", "Package.swift", ".git")
```
@ -12589,7 +12250,7 @@ require'lspconfig'.tsserver.setup{}
```
- `root_dir` :
```lua
root_pattern("tsconfig.json", "package.json", "jsconfig.json", ".git")
root_pattern("tsconfig.json", "jsconfig.json", "package.json", ".git")
```
- `single_file_support` :
```lua

View File

@ -1,9 +1,5 @@
local util = require 'lspconfig.util'
local default_capabilities = vim.lsp.protocol.make_client_capabilities()
default_capabilities.textDocument.semanticTokens = vim.NIL
default_capabilities.workspace.semanticTokens = vim.NIL
return {
default_config = {
filetypes = { 'arduino' },
@ -11,7 +7,14 @@ return {
cmd = {
'arduino-language-server',
},
capabilities = default_capabilities,
capabilities = {
textDocument = {
semanticTokens = vim.NIL,
},
workspace = {
semanticTokens = vim.NIL,
},
},
},
docs = {
description = [[

View File

@ -14,6 +14,7 @@ return {
'astro',
'svelte',
'vue',
'css',
},
root_dir = util.root_pattern('biome.json', 'biome.jsonc'),
single_file_support = false,

View File

@ -1,9 +1,6 @@
local util = require 'lspconfig.util'
local lsp = vim.lsp
local api = vim.api
local default_capabilities = lsp.protocol.make_client_capabilities()
default_capabilities.offsetEncoding = { 'utf-8', 'utf-16' }
local elm_root_pattern = util.root_pattern 'elm.json'
return {
@ -23,6 +20,9 @@ return {
disableElmLSDiagnostics = false,
onlyUpdateDiagnosticsOnSave = false,
},
capabilities = {
offsetEncoding = { 'utf-8', 'utf-16' },
},
},
docs = {
description = [[

View File

@ -1,8 +1,5 @@
local util = require 'lspconfig.util'
local default_capabilities = vim.lsp.protocol.make_client_capabilities()
default_capabilities.offsetEncoding = { 'utf-8', 'utf-16' }
return {
default_config = {
cmd = { 'fennel-ls' },
@ -11,7 +8,9 @@ return {
return util.find_git_ancestor(dir)
end,
settings = {},
capabilities = default_capabilities,
capabilities = {
offsetEncoding = { 'utf-8', 'utf-16' },
},
},
docs = {
description = [[

View File

@ -32,14 +32,6 @@ local function is_library(fname)
end
end
local function register_cap()
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.experimental = {
serverStatusNotification = true,
}
return capabilities
end
return {
default_config = {
cmd = { 'rust-analyzer' },
@ -80,7 +72,11 @@ return {
or util.root_pattern 'rust-project.json'(fname)
or util.find_git_ancestor(fname)
end,
capabilities = register_cap(),
capabilities = {
experimental = {
serverStatusNotification = true,
},
},
},
commands = {
CargoReload = {

View File

@ -1,7 +1,10 @@
local util = require 'lspconfig.util'
return {
default_config = {
cmd = { 'slint-lsp' },
filetypes = { 'slint' },
root_dir = util.find_git_ancestor,
single_file_support = true,
},
docs = {

View File

@ -7,9 +7,9 @@ return {
root_dir = function(filename, _)
return util.root_pattern 'buildServer.json'(filename)
or util.root_pattern('*.xcodeproj', '*.xcworkspace')(filename)
or util.find_git_ancestor(filename)
-- better to keep it at the end, because some modularized apps contain multiple Package.swift files
or util.root_pattern('compile_commands.json', 'Package.swift')(filename)
or util.find_git_ancestor(filename)
end,
},
docs = {
@ -19,7 +19,7 @@ https://github.com/apple/sourcekit-lsp
Language server for Swift and C/C++/Objective-C.
]],
default_config = {
root_dir = [[root_pattern("buildServer.json", "*.xcodeproj", "*.xcworkspace", ".git", "compile_commands.json", "Package.swift")]],
root_dir = [[root_pattern("buildServer.json", "*.xcodeproj", "*.xcworkspace", "compile_commands.json", "Package.swift", ".git")]],
},
},
}

View File

@ -12,7 +12,7 @@ return {
'typescriptreact',
'typescript.tsx',
},
root_dir = util.root_pattern('tsconfig.json', 'package.json', 'jsconfig.json', '.git'),
root_dir = util.root_pattern('tsconfig.json', 'jsconfig.json', 'package.json', '.git'),
single_file_support = true,
},
docs = {
@ -82,7 +82,7 @@ require'lspconfig'.tsserver.setup{
`filetypes` is extended here to include Vue SFC.
]],
default_config = {
root_dir = [[root_pattern("tsconfig.json", "package.json", "jsconfig.json", ".git")]],
root_dir = [[root_pattern("tsconfig.json", "jsconfig.json", "package.json", ".git")]],
},
},
}

View File

@ -1,2 +1,2 @@
#!/nix/store/306znyj77fv49kwnkpxmb0j2znqpa8bj-bash-5.2p26/bin/sh
#!/nix/store/agkxax48k35wdmkhmmija2i2sxg8i7ny-bash-5.2p26/bin/sh
exec nvim -u NONE -E -R --headless +'set rtp+=$PWD' +'luafile scripts/docgen.lua' +q