feat(nvim): add treesitter-textobjects
This commit is contained in:
parent
a793777d5d
commit
a12ae9cb3f
1 changed files with 91 additions and 0 deletions
91
modules/programs/nvim/new_plugins/treesitter-textobjects.nix
Normal file
91
modules/programs/nvim/new_plugins/treesitter-textobjects.nix
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption mkIf readFile;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.users.moritz.programs.nixvim = {
|
||||||
|
plugins.treesitter-textobjects = {
|
||||||
|
enable = true;
|
||||||
|
move = {
|
||||||
|
enable = true;
|
||||||
|
gotoNext = {
|
||||||
|
"]f" = {
|
||||||
|
desc = "Next function";
|
||||||
|
query = "@function.outer";
|
||||||
|
};
|
||||||
|
"]c" = {
|
||||||
|
desc = "Next class";
|
||||||
|
query = "@class.outer";
|
||||||
|
};
|
||||||
|
"]b" = {
|
||||||
|
desc = "Next block";
|
||||||
|
query = "@block.outer";
|
||||||
|
};
|
||||||
|
"]P" = {
|
||||||
|
desc = "Next parameter";
|
||||||
|
query = "@parameter.outer";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gotoPrevious = {
|
||||||
|
"[f" = {
|
||||||
|
desc = "Previous function";
|
||||||
|
query = "@function.outer";
|
||||||
|
};
|
||||||
|
"[c" = {
|
||||||
|
desc = "Previous class";
|
||||||
|
query = "@class.outer";
|
||||||
|
};
|
||||||
|
"[b" = {
|
||||||
|
desc = "Previous block";
|
||||||
|
query = "@block.outer";
|
||||||
|
};
|
||||||
|
"[P" = {
|
||||||
|
desc = "Previous parameter";
|
||||||
|
query = "@parameter.outer";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
select = {
|
||||||
|
enable = true;
|
||||||
|
keymaps = {
|
||||||
|
"af" = {
|
||||||
|
desc = "function";
|
||||||
|
query = "@function.outer";
|
||||||
|
};
|
||||||
|
"if" = {
|
||||||
|
desc = "inner function";
|
||||||
|
query = "@function.inner";
|
||||||
|
};
|
||||||
|
"ac" = {
|
||||||
|
desc = "class";
|
||||||
|
query = "@class.outer";
|
||||||
|
};
|
||||||
|
"ic" = {
|
||||||
|
desc = "inner class";
|
||||||
|
query = "@class.inner";
|
||||||
|
};
|
||||||
|
"ab" = {
|
||||||
|
desc = "block";
|
||||||
|
query = "@block.outer";
|
||||||
|
};
|
||||||
|
"ib" = {
|
||||||
|
desc = "inner block";
|
||||||
|
query = "@block.inner";
|
||||||
|
};
|
||||||
|
"aP" = {
|
||||||
|
desc = "parameter";
|
||||||
|
query = "@parameter.outer";
|
||||||
|
};
|
||||||
|
"iP" = {
|
||||||
|
desc = "inner parameter";
|
||||||
|
query = "@parameter.inner";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
performance.combinePlugins.standalonePlugins = [
|
||||||
|
"nvim-treesitter-textobjects"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue