gitsigns: toggle preview after moving to next hunk
This commit is contained in:
parent
03c3e0afe0
commit
b7505e4d1b
2 changed files with 2 additions and 1 deletions
70
config/gitsigns.nix
Normal file
70
config/gitsigns.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
{ helpers, ... }:
|
||||
|
||||
{
|
||||
plugins.gitsigns = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
# Navigate through hunks
|
||||
{
|
||||
mode = [ "n" ];
|
||||
key = "]c";
|
||||
action = helpers.mkRaw ''
|
||||
function()
|
||||
if vim.wo.diff then
|
||||
vim.cmd.normal({']c', bang = true})
|
||||
else
|
||||
require("gitsigns").nav_hunk('next')
|
||||
require("gitsigns").preview_hunk()
|
||||
end
|
||||
end
|
||||
'';
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
key = "[c";
|
||||
action = helpers.mkRaw ''
|
||||
function()
|
||||
if vim.wo.diff then
|
||||
vim.cmd.normal({'[c', bang = true})
|
||||
else
|
||||
require("gitsigns").nav_hunk('prev')
|
||||
end
|
||||
end
|
||||
'';
|
||||
}
|
||||
{
|
||||
mode = [ "v" ];
|
||||
key = "<leader>hs";
|
||||
action = helpers.mkRaw ''
|
||||
function()
|
||||
require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "Stage Hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
key = "<leader>hu";
|
||||
action = helpers.mkRaw ''
|
||||
require("gitsigns").undo_stage_hunk
|
||||
'';
|
||||
options = {
|
||||
desc = "Undo Stage Hunk";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = [ "n" ];
|
||||
key = "<leader>hp";
|
||||
action = helpers.mkRaw ''
|
||||
require("gitsigns").preview_hunk
|
||||
'';
|
||||
options = {
|
||||
desc = "Preview Hunk";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue