about summary refs log tree commit diff stats
path: root/home-manager/soispha/config/neovim/nixvim/plugins/treesitter/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/soispha/config/neovim/nixvim/plugins/treesitter/default.nix')
-rw-r--r--home-manager/soispha/config/neovim/nixvim/plugins/treesitter/default.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/home-manager/soispha/config/neovim/nixvim/plugins/treesitter/default.nix b/home-manager/soispha/config/neovim/nixvim/plugins/treesitter/default.nix
new file mode 100644
index 00000000..7a8a3a26
--- /dev/null
+++ b/home-manager/soispha/config/neovim/nixvim/plugins/treesitter/default.nix
@@ -0,0 +1,35 @@
+{...}: {
+  programs.nixvim.plugins.treesitter = {
+    enable = true;
+    #  A list of parser names; or "all"
+    #  ensure_installed = [ "c" "lua" "rust" ];
+    ensure_installed = "all";
+
+    # TODO make this work
+    highlight = {
+      #  `false` will disable the whole extension
+      enable = true;
+      disable = ["latex"];
+
+      #  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
+      additional_vim_regex_highlighting = [""];
+    };
+
+    indent = {
+      enable = true;
+    };
+    incremental_selection = {
+      enable = true;
+      keymaps = {
+        # TODO include these
+        init_selection = "gnn"; #  set to `false` to disable one of the mappings
+        node_incremental = "grn";
+        scope_incremental = "grc";
+        node_decremental = "grm";
+      };
+    };
+  };
+}