aboutsummaryrefslogtreecommitdiffstats
path: root/hm/soispha/conf/nvim
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2024-01-19 18:55:21 +0100
committerSoispha <soispha@vhack.eu>2024-01-19 18:55:21 +0100
commit849cd60632c2da99a4035e614266b0aa86612f4f (patch)
tree55372bc6c1f6424d84c75085ca0a3b4d12b4dabb /hm/soispha/conf/nvim
parentfeat(flake): Add `pkgs` subattribute (diff)
downloadnixos-config-849cd60632c2da99a4035e614266b0aa86612f4f.zip
feat(hm/conf/nvim/plgs/treesitter): Add custom parser for `yts`
Diffstat (limited to 'hm/soispha/conf/nvim')
-rw-r--r--hm/soispha/conf/nvim/plgs/treesitter/default.nix74
1 files changed, 45 insertions, 29 deletions
diff --git a/hm/soispha/conf/nvim/plgs/treesitter/default.nix b/hm/soispha/conf/nvim/plgs/treesitter/default.nix
index bbee4690..fe43ddd7 100644
--- a/hm/soispha/conf/nvim/plgs/treesitter/default.nix
+++ b/hm/soispha/conf/nvim/plgs/treesitter/default.nix
@@ -1,39 +1,55 @@
-{...}: {
- programs.nixvim.plugins.treesitter = {
- enable = true;
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}: {
+ programs.nixvim = {
+ plugins.treesitter = {
+ enable = true;
- ensureInstalled = "all";
- indent = true;
+ ensureInstalled = "all";
+ indent = true;
- # inject nixvim specific highlighting (eg in extraConfigLua).
- nixvimInjections = true;
+ # inject nixvim specific highlighting (eg in extraConfigLua).
+ nixvimInjections = true;
- disabledLanguages = [];
+ grammarPackages =
+ config.programs.nixvim.plugins.treesitter.package.passthru.allGrammars
+ ++ [pkgs.yts-grammar];
- /*
- # TODO: this is not supported by the nixVim modlue, nixNeovim supports this though ..
- highlight = {
- # `false` will disable the whole extension
- enable = true;
- disable = ["latex"];
+ disabledLanguages = [];
- # Setting this to true will run `:h syntax` and tree-sitter at the same time.
- # Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
- # Using this option may slow down your editor; and you may see some duplicate highlights.
- # Instead of true it can also be a list of languages
- additionalVimRegexHighlighting = [""];
- };
- */
+ /*
+ # TODO: this is not supported by the NixVim module, NixNeovim supports this though..
+ highlight = {
+ # `false` will disable the whole extension
+ enable = true;
+ disable = ["latex"];
- incrementalSelection = {
- enable = true;
- keymaps = {
- # TODO: include these in the which-key description
- initSelection = "gnn"; # set to `false` to disable one of the mappings
- nodeIncremental = "grn";
- scopeIncremental = "grc";
- nodeDecremental = "grm";
+ # Setting this to true will run `:h syntax` and tree-sitter at the same time.
+ # Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
+ # Using this option may slow down your editor; and you may see some duplicate highlights.
+ # Instead of true it can also be a list of languages
+ additionalVimRegexHighlighting = [""];
};
+ */
+
+ incrementalSelection = {
+ enable = true;
+ keymaps = {
+ # TODO: include these in the which-key description
+ initSelection = "gnn"; # set to `false` to disable one of the mappings
+ nodeIncremental = "grn";
+ scopeIncremental = "grc";
+ nodeDecremental = "grm";
+ };
+ };
+ };
+ extraFiles = {
+ "queries/yts/highlights.scm" = ''
+ ${lib.strings.fileContents "${pkgs.yts-grammar}/queries/highlights.scm"}
+ '';
};
};
}