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: attribute set of (submodule)
Default:
{ }
Example:
{
"*" = {
settings = {
capabilities = {
textDocument = {
semanticTokens = {
multilineTokenSupport = true;
};
};
};
root_markers = [
".git"
];
};
};
clangd = {
enable = true;
settings = {
cmd = [
"clangd"
"--background-index"
];
filetypes = [
"c"
"cpp"
];
root_markers = [
"compile_commands.json"
"compile_flags.txt"
];
};
};
luals = {
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>.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>.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:
lsp.servers.<name>.settings
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: