{...}: { keymaps = [ # Git namespace indicator for whichkey { mode = ["n"]; key = "g"; action = ""; options = { desc = "+git"; }; } # Git list namespace indicator for whichkey { mode = ["n"]; key = "gl"; action = ""; options = { desc = "+list"; }; } # Git staging (from gitsigns) { mode = ["n" "v"]; key = "gs"; action = "Gitsigns stage_hunk"; options = { desc = "Stage hunk"; silent = true; }; } { mode = ["n"]; key = "gS"; action = "Gitsigns stage_buffer"; options = { desc = "Stage buffer"; silent = true; }; } # Git reset (from gitsigns) { mode = ["n" "v"]; key = "gr"; action = "Gitsigns reset_hunk"; options = { desc = "Reset hunk"; silent = true; }; } { mode = ["n"]; key = "gR"; action = "Gitsigns reset_buffer"; options = { desc = "Reset buffer"; silent = true; }; } # Git blame (from gitsigns) { mode = ["n"]; key = "gb"; action = "Gitsigns toggle_current_line_blame"; options = { desc = "Toggle blame"; silent = true; }; } { mode = ["n"]; key = "gB"; action = "Gitsigns blame"; options = { desc = "View blame"; silent = true; }; } # Git commit (from fugitive) { mode = ["n"]; key = "gc"; action = "Git commit"; options = { desc = "Commit changes"; silent = true; }; } { mode = ["n"]; key = "gC"; action = "Git commit --amend"; options = { desc = "Amend changes"; silent = true; }; } # Git diff (from fugitive) { mode = ["n"]; key = "gd"; action = "Git diff"; options = { desc = "View diff"; silent = true; }; } # Git unstage (from fugitive) { mode = ["n"]; key = "gu"; action = "Git restore --staged ."; options = { desc = "Unstage all changes"; silent = true; }; } # Git push (from fugitive) { mode = ["n"]; key = "gp"; action = "Git push"; options = { desc = "Push changes to remote"; silent = true; }; } # Git list operations (from telescope) { mode = ["n"]; key = "glc"; action = "Telescope git_commits"; options = { desc = "List git commits"; silent = true; }; } { mode = ["n"]; key = "glb"; action = "Telescope git_branches"; options = { desc = "List git branches"; silent = true; }; } { mode = ["n"]; key = "gld"; action = "Telescope git_status"; options = { desc = "List git diff"; silent = true; }; } { mode = ["n"]; key = "gls"; action = "Telescope git_stash"; options = { desc = "List git stash"; silent = true; }; } ]; }