modules: add hop-nvim
This commit is contained in:
parent
782c380023
commit
439437402d
4 changed files with 116 additions and 8 deletions
|
@ -254,6 +254,7 @@
|
||||||
nvim-treesitter = { };
|
nvim-treesitter = { };
|
||||||
gitsigns-nvim = { };
|
gitsigns-nvim = { };
|
||||||
neoformat = { };
|
neoformat = { };
|
||||||
|
hop-nvim = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
plugins = with prev.nix2lua.lib; {
|
plugins = with prev.nix2lua.lib; {
|
||||||
|
@ -272,6 +273,9 @@
|
||||||
lualine_z = [ "location" "mode" ];
|
lualine_z = [ "location" "mode" ];
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
nvim-colorizer = pipe1
|
||||||
|
(require "colorizer")
|
||||||
|
(call0 "setup");
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
with nix2lua.lib;
|
with nix2lua.lib;
|
||||||
|
|
||||||
{ configs ? { }
|
let
|
||||||
, keymaps ? [
|
defaultKeymaps = [
|
||||||
{ mode = "n"; bind = "]h"; command = raw "next_hunk"; }
|
{ mode = "n"; bind = "]h"; command = raw "next_hunk"; }
|
||||||
{ mode = "n"; bind = "[h"; command = raw "prev_hunk"; }
|
{ mode = "n"; bind = "[h"; command = raw "prev_hunk"; }
|
||||||
{ mode = "n"; bind = "<leader>gs"; command = raw "gs.stage_hunk"; }
|
{ mode = "n"; bind = "<leader>gs"; command = raw "gs.stage_hunk"; }
|
||||||
|
@ -15,11 +15,18 @@ with nix2lua.lib;
|
||||||
{ mode = "n"; bind = "<leader>gD"; command = lambda0 (call "gs.diffthis" "~"); }
|
{ mode = "n"; bind = "<leader>gD"; command = lambda0 (call "gs.diffthis" "~"); }
|
||||||
{ mode = "n"; bind = "<leader>gtb"; command = raw "gs.toggle_current_line_blame"; }
|
{ mode = "n"; bind = "<leader>gtb"; command = raw "gs.toggle_current_line_blame"; }
|
||||||
{ mode = "n"; bind = "<leader>gtd"; command = raw "gs.toggle_deleted"; }
|
{ mode = "n"; bind = "<leader>gtd"; command = raw "gs.toggle_deleted"; }
|
||||||
]
|
];
|
||||||
|
in
|
||||||
|
|
||||||
|
{ configs ? { }
|
||||||
|
, keymaps ? defaultKeymaps
|
||||||
|
, extraKeymaps ? [ ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
bufferedKeymaps = map (args: lib.recursiveUpdate args { opts.buffer = var "bufnr"; }) keymaps;
|
bufferedKeymaps = map
|
||||||
|
(args: lib.recursiveUpdate args { opts.buffer = var "bufnr"; })
|
||||||
|
(keymaps ++ extraKeymaps);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
gitsigns-nvim = [
|
gitsigns-nvim = [
|
||||||
|
|
92
modules/hop-nvim.nix
Normal file
92
modules/hop-nvim.nix
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
{ nix2lua, vim, ... }:
|
||||||
|
|
||||||
|
with nix2lua.lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
hintDirAfter = var "hint.HintDirection.AFTER_CURSOR";
|
||||||
|
hintDirBefore = var "hint.HintDirection.BEFORE_CURSOR";
|
||||||
|
|
||||||
|
defaultKeymaps = [
|
||||||
|
{ mode = ""; bind = "<leader>hc"; command = "<CMD>HopChar1<CR>"; }
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hf";
|
||||||
|
command = lambda0 (call "hop.hint_char1" {
|
||||||
|
direction = hintDirAfter;
|
||||||
|
current_line_only = true;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hF";
|
||||||
|
command = lambda0 (call "hop.hint_char1" {
|
||||||
|
direction = hintDirBefore;
|
||||||
|
current_line_only = true;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hbc";
|
||||||
|
command = lambda0 (call "hop.hint_char1" { direction = hintDirAfter; });
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>htc";
|
||||||
|
command = lambda0 (call "hop.hint_char1" { direction = hintDirBefore; });
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hw";
|
||||||
|
command = "<Cmd>HopWord<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hbw";
|
||||||
|
command = lambda0 (call "hop.hint_words" { direction = hintDirAfter; });
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>htw";
|
||||||
|
command = lambda0 (call "hop.hint_words" { direction = hintDirBefore; });
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hp";
|
||||||
|
command = "<CMD>HopPattern<CR>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hbp";
|
||||||
|
command = lambda0 (call "hop.hint_patterns" { direction = hintDirAfter; });
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>htp";
|
||||||
|
command = lambda0 (call "hop.hint_patterns" { direction = hintDirBefore; });
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>hbv";
|
||||||
|
command = lambda0 (call "hop.hint_vertical" { direction = hintDirAfter; });
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "";
|
||||||
|
bind = "<leader>htv";
|
||||||
|
command = lambda0 (call "hop.hint_vertical" { direction = hintDirBefore; });
|
||||||
|
}
|
||||||
|
];
|
||||||
|
in
|
||||||
|
|
||||||
|
{ configs ? { }
|
||||||
|
, keymaps ? defaultKeymaps
|
||||||
|
, extraKeymaps ? [ ]
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
hop-nvim = [
|
||||||
|
(local (set "hop" (require "hop")))
|
||||||
|
(pipe1 (var "hop") (call "setup" configs))
|
||||||
|
|
||||||
|
(local (set "hint" (require "hop.hint")))
|
||||||
|
] ++ map vim.keymap.set (keymaps ++ extraKeymaps);
|
||||||
|
}
|
|
@ -1,10 +1,15 @@
|
||||||
{ nix2lua, vim, ... }:
|
{ nix2lua, vim, ... }:
|
||||||
|
|
||||||
{ configs ? { }
|
let
|
||||||
, keymaps ? [
|
defaultKeymaps = [
|
||||||
{ mode = "n"; bind = "<leader>nt"; command = "<CMD>NvimTreeToggle<CR>"; }
|
{ mode = "n"; bind = "<leader>nt"; command = "<CMD>NvimTreeToggle<CR>"; }
|
||||||
{ mode = "n"; bind = "<leader>nf"; command = "<CMD>NvimTreeFindFile<CR>"; }
|
{ mode = "n"; bind = "<leader>nf"; command = "<CMD>NvimTreeFindFile<CR>"; }
|
||||||
]
|
];
|
||||||
|
in
|
||||||
|
|
||||||
|
{ configs ? { }
|
||||||
|
, keymaps ? defaultKeymaps
|
||||||
|
, extraKeymaps ? [ ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with nix2lua.lib;
|
with nix2lua.lib;
|
||||||
|
@ -45,6 +50,6 @@ let isEmptyVar = name: eq "" (var name); in
|
||||||
|
|
||||||
(vim.api.nvim_create_autocmd [ "VimEnter" ] { callback = var "open_nvim_tree"; })
|
(vim.api.nvim_create_autocmd [ "VimEnter" ] { callback = var "open_nvim_tree"; })
|
||||||
]
|
]
|
||||||
++ (map vim.keymap.set keymaps)
|
++ map vim.keymap.set (keymaps ++ extraKeymaps)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue