nix-config/modules/home-manager/nvim/treesitter/default.nix

59 lines
1.4 KiB
Nix
Raw Normal View History

2024-03-24 17:39:49 -05:00
{
config,
pkgs,
lib,
...
}: {
options.user.nvim.enable-treesitter = lib.mkEnableOption "enable nvim treesitter";
2024-03-24 17:39:49 -05:00
config =
lib.mkIf (config.user.nvim.enable-treesitter && config.user.nvim.enable)
2024-03-24 17:39:49 -05:00
{
user.nvim.enable-completions = true;
2024-03-24 17:39:49 -05:00
programs.nixvim = {
opts.foldmethod = "expr";
2024-03-24 17:39:49 -05:00
plugins.treesitter = {
enable = true;
folding = true;
settings.indent.enable = true;
2024-03-24 17:39:49 -05:00
nixvimInjections = true;
};
plugins.treesitter-context.enable = true;
plugins.indent-blankline.enable = true;
extraPlugins = with pkgs.vimPlugins; [
treesj
];
2024-04-23 11:04:37 -05:00
extraConfigLua = ''
require("treesj").setup({
use_default_keymaps=false,
})
'';
keymaps = [
2024-06-16 14:52:04 -05:00
{
action = ":TSContextToggle<CR>";
key = "<leader>x";
mode = "n";
options = {
silent = true;
desc = "tree context toggle";
};
}
2024-04-23 11:04:37 -05:00
{
action = ":TSJToggle<CR>";
key = "<leader>j";
mode = "n";
options = {
silent = true;
desc = "tree sitter join toggle";
};
}
];
2024-03-24 17:39:49 -05:00
};
};
imports = [
./rainbow-delimiters.nix
./arial.nix
./tree-sitter-nu.nix
2024-03-24 17:39:49 -05:00
];
}