mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-30 08:36:46 +00:00
a452a0b0e7
mkEnableOption already adds the phrase "Whether to enable ..." to the beginning of the option description, such that the string argument should only be "thing to be enabled"
63 lines
1.7 KiB
Nix
63 lines
1.7 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
with builtins; {
|
|
options.vim.projects.project-nvim = {
|
|
enable = mkEnableOption "project-nvim for project management";
|
|
|
|
manualMode = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = "don't automatically change the root directory so the user has the option to manually do so using `:ProjectRoot` command";
|
|
};
|
|
|
|
# detection methods should accept one or more strings from a list
|
|
detectionMethods = mkOption {
|
|
type = types.listOf types.str;
|
|
default = ["lsp" "pattern"];
|
|
description = "Detection methods to use";
|
|
};
|
|
|
|
# patterns
|
|
patterns = mkOption {
|
|
type = types.listOf types.str;
|
|
default = [".git" "_darcs" ".hg" ".bzr" ".svn" "Makefile" "package.json" "flake.nix" "cargo.toml"];
|
|
description = "Patterns to use for pattern detection method";
|
|
};
|
|
|
|
# table of lsp servers to ignore by name
|
|
lspIgnored = mkOption {
|
|
type = types.listOf types.str;
|
|
default = [];
|
|
description = "LSP servers no ignore by name";
|
|
};
|
|
|
|
excludeDirs = mkOption {
|
|
type = types.listOf types.str;
|
|
default = [];
|
|
description = "Directories to exclude from project root search";
|
|
};
|
|
|
|
showHidden = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = "Show hidden files in telescope picker";
|
|
};
|
|
|
|
silentChdir = mkOption {
|
|
type = types.bool;
|
|
default = true;
|
|
description = "Silently change directory when changing project";
|
|
};
|
|
|
|
scopeChdir = mkOption {
|
|
type = types.enum ["global" "tab" "win"];
|
|
default = "global";
|
|
description = "What scope to change the directory";
|
|
};
|
|
};
|
|
}
|