neovim/queries: init and add an example injection

This commit is contained in:
Snoweuph 2026-04-19 15:26:48 +02:00
commit 6fe9ecd995
No known key found for this signature in database
GPG key ID: BEFC41DA223CEC55
6 changed files with 181 additions and 4 deletions

View file

@ -4,7 +4,25 @@
...
}: let
inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.types) listOf nullOr package bool str oneOf;
inherit (lib.types) listOf nullOr package bool str lines enum submodule oneOf;
queriesType = submodule {
options = {
type = mkOption {
type = enum ["injections" "highlights" "folds" "locals" "indents"];
description = "The kind of query to register.";
};
filetypes = mkOption {
type = listOf str;
default = [];
description = "The filetypes for which the query should be registered.";
};
content = mkOption {
type = lines;
description = "The queries scm script.";
};
};
};
in {
options.vim.treesitter = {
enable = mkEnableOption "treesitter, also enabled automatically through language options";
@ -87,5 +105,11 @@ in {
};
highlight = {enable = mkEnableOption "highlighting with treesitter" // {default = true;};};
queries = mkOption {
type = listOf queriesType;
default = [];
description = "A list of Neovim treesitter queries to be registered.";
};
};
}