feat: add gitsigns keybindings

This commit is contained in:
n3oney 2023-04-22 18:47:19 +02:00
commit 4adb03cd1d
No known key found for this signature in database
GPG key ID: C786693DE727850E
2 changed files with 73 additions and 37 deletions

View file

@ -1,19 +1,34 @@
{
pkgs,
config,
lib,
...
}:
{lib, ...}:
with lib;
with builtins; let
cfg = config.vim.git;
in {
with builtins; {
options.vim.git = {
enable = mkEnableOption "Git support";
gitsigns = {
enable = mkEnableOption "gitsigns";
mappings = {
nextHunk = mkMappingOption "Next hunk [Gitsigns]" "]c";
previousHunk = mkMappingOption "Previous hunk [Gitsigns]" "[c";
stageHunk = mkMappingOption "Stage hunk [Gitsigns]" "<leader>hs";
undoStageHunk = mkMappingOption "Undo stage hunk [Gitsigns]" "<leader>hu";
resetHunk = mkMappingOption "Reset hunk [Gitsigns]" "<leader>hr";
stageBuffer = mkMappingOption "Stage buffer [Gitsigns]" "<leader>hS";
resetBuffer = mkMappingOption "Reset buffer [Gitsigns]" "<leader>hR";
previewHunk = mkMappingOption "Preview hunk [Gitsigns]" "<leader>hP";
blameLine = mkMappingOption "Blame line [Gitsigns]" "<leader>hb";
toggleBlame = mkMappingOption "Toggle blame [Gitsigns]" "<leader>tb";
diffThis = mkMappingOption "Diff this [Gitsigns]" "<leader>hd";
diffProject = mkMappingOption "Diff project [Gitsigns]" "<leader>hD";
toggleDeleted = mkMappingOption "Toggle deleted [Gitsigns]" "<leader>td";
};
codeActions = mkEnableOption "gitsigns codeactions through null-ls";
};
};