aboutsummaryrefslogtreecommitdiffstats
path: root/modules/home.legacy/conf/nvim/plgs/treesitter
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-18 17:07:46 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-18 17:07:46 +0200
commitc52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c (patch)
treee8b947710b467b32740598ff574982097836f66c /modules/home.legacy/conf/nvim/plgs/treesitter
parentchore(pkgs/yt): 1.2.1 -> 1.3.0 (diff)
downloadnixos-config-c52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c.zip
refactor(modules): Move all system modules to `by-name`
From now on all modules should be added to the new `by-name` directory. This should help remove the (superficial and utterly useless) distinction between `home-manager` and `NixOS` modules.
Diffstat (limited to 'modules/home.legacy/conf/nvim/plgs/treesitter')
-rw-r--r--modules/home.legacy/conf/nvim/plgs/treesitter/default.nix59
1 files changed, 59 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix b/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix
new file mode 100644
index 00000000..b4b20388
--- /dev/null
+++ b/modules/home.legacy/conf/nvim/plgs/treesitter/default.nix
@@ -0,0 +1,59 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}: {
+ programs.nixvim = {
+ plugins.treesitter = {
+ enable = true;
+
+ # NOTE: These are required to build grammars, but I already use the nix grammars <2024-07-13>
+ gccPackage = null;
+ nodejsPackage = null;
+ treesitterPackage = null;
+
+ # inject nixvim specific highlighting (eg in extraConfigLua).
+ nixvimInjections = true;
+
+ nixGrammars = true;
+ grammarPackages =
+ config.programs.nixvim.plugins.treesitter.package.passthru.allGrammars
+ ++ [pkgs.tree-sitter-yts];
+
+ settings = {
+ auto_install = false;
+ ensureInstalled = "all";
+ indent.enable = true;
+ disabledLanguages = [];
+
+ highlight = {
+ enable = true;
+ disable = [];
+
+ # 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 = ["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";
+ };
+ };
+ };
+ };
+ extraFiles = {
+ "queries/yts/highlights.scm".text = ''
+ ${lib.strings.fileContents "${pkgs.tree-sitter-yts}/queries/highlights.scm"}
+ '';
+ };
+ };
+}