2024-03-24 23:39:49 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}: {
|
|
|
|
options = {
|
|
|
|
host.nvim.enable-treesitter = lib.mkOption {
|
|
|
|
default = false;
|
|
|
|
type = lib.types.bool;
|
|
|
|
description = ''
|
|
|
|
enable nvim treesitter
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
config =
|
|
|
|
lib.mkIf config.host.nvim.enable-treesitter
|
|
|
|
{
|
|
|
|
host.nvim.enable-completions = true;
|
|
|
|
programs.nixvim = {
|
|
|
|
plugins.treesitter = {
|
|
|
|
enable = true;
|
|
|
|
folding = true;
|
|
|
|
indent = true;
|
|
|
|
nixvimInjections = true;
|
|
|
|
};
|
|
|
|
plugins.treesitter-context.enable = true;
|
|
|
|
plugins.indent-blankline.enable = true;
|
|
|
|
extraPlugins = with pkgs.vimPlugins; [
|
|
|
|
treesj
|
|
|
|
];
|
2024-04-23 18:04:37 +02:00
|
|
|
extraConfigLua = ''
|
|
|
|
require("treesj").setup({
|
|
|
|
use_default_keymaps=false,
|
|
|
|
})
|
|
|
|
'';
|
|
|
|
keymaps = [
|
|
|
|
{
|
|
|
|
action = ":TSJToggle<CR>";
|
|
|
|
key = "<leader>j";
|
|
|
|
mode = "n";
|
|
|
|
options = {
|
|
|
|
silent = true;
|
|
|
|
desc = "tree sitter join toggle";
|
|
|
|
};
|
|
|
|
}
|
|
|
|
];
|
2024-03-24 23:39:49 +01:00
|
|
|
};
|
|
|
|
};
|
|
|
|
imports = [
|
|
|
|
./rainbow-delimiters.nix
|
|
|
|
./arial.nix
|
2024-03-30 14:31:36 +01:00
|
|
|
./tree-sitter-nu.nix
|
2024-03-24 23:39:49 +01:00
|
|
|
];
|
|
|
|
}
|