lsp.servers
LSP servers to enable and/or configure.
This option is implemented using neovim’s vim.lsp
lua API.
You may also want to use nvim-lspconfig to install default configs for many language servers.
This can be installed using plugins.lspconfig.enable
.
Type: open submodule of attribute set of (submodule)
Default:
{ }
Example:
{
"*" = {
config = {
capabilities = {
textDocument = {
semanticTokens = {
multilineTokenSupport = true;
};
};
};
root_markers = [
".git"
];
};
};
clangd = {
config = {
cmd = [
"clangd"
"--background-index"
];
filetypes = [
"c"
"cpp"
];
root_markers = [
"compile_commands.json"
"compile_flags.txt"
];
};
enable = true;
};
lua_ls = {
enable = true;
};
}
Declared by:
lsp.servers.<name>.enable
Whether to enable the language server.
Type: boolean
Default:
false
Example:
true
Declared by:
lsp.servers.<name>.package
The language server package to use.
Alternatively, the language server should be installed on your $PATH
.
Type: null or package
Default:
null
Declared by:
lsp.servers.<name>.packageFallback
When enabled, the language server package will be added to the end of the PATH
(suffix) instead of the beginning (prefix).
This can be useful if you want local versions of the language server (e.g. from a devshell) to override the nixvim version.
Type: boolean
Default:
false
Declared by:
lsp.servers.<name>.activate
Whether to call vim.lsp.enable()
for the language server.
Type: boolean
Default:
true
, unless the server’s name
is *
Example:
false
Declared by:
lsp.servers.<name>.config
Configurations for the language server.
Type: attribute set of anything
Default:
{ }
Example:
{
cmd = [
"clangd"
"--background-index"
];
filetypes = [
"c"
"cpp"
];
root_markers = [
"compile_commands.json"
"compile_flags.txt"
];
}
Declared by:
lsp.servers.<name>.name
The name to use for the language server.
Supplied to functions like vim.lsp.enable()
.
Type: string or raw lua code
Default: the attribute name
Declared by: