nix-community.nixvim/modules/lsp/server.nix
2025-04-28 18:04:11 +01:00

50 lines
1 KiB
Nix

{ lib, ... }:
let
inherit (lib) types;
in
{
options = {
enable = lib.mkEnableOption "the language server";
activate = lib.mkOption {
type = types.bool;
description = ''
Whether to call `vim.lsp.enable()` for this server.
'';
default = true;
example = false;
};
package = lib.mkOption {
type = with types; nullOr package;
default = null;
description = ''
Package to use for this language server.
Alternatively, the language server should be available on your `$PATH`.
'';
};
config = lib.mkOption {
type = with types; attrsOf anything;
description = ''
Configurations for each language server.
'';
default = { };
example = {
cmd = [
"clangd"
"--background-index"
];
root_markers = [
"compile_commands.json"
"compile_flags.txt"
];
filetypes = [
"c"
"cpp"
];
};
};
};
}