From 972f67a8a0ad16fb0e410f6e6ca35c2d149f1ddd Mon Sep 17 00:00:00 2001 From: Damjan 9000 Date: Mon, 4 Dec 2023 02:06:31 +0100 Subject: [PATCH] Add gitsigns keymap descriptions --- init.lua | 47 ++++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/init.lua b/init.lua index a5491b38..76ddd45a 100644 --- a/init.lua +++ b/init.lua @@ -143,7 +143,7 @@ require('lazy').setup({ gs.next_hunk() end) return '' - end, { expr = true }) + end, { expr = true, desc = 'Jump to next hunk' }) map({ 'n', 'v' }, '[c', function() if vim.wo.diff then @@ -153,35 +153,37 @@ require('lazy').setup({ gs.prev_hunk() end) return '' - end, { expr = true }) + end, { expr = true, desc = 'Jump to previous hunk' }) -- Actions + -- visual mode map('v', 'hs', function() gs.stage_hunk { vim.fn.line '.', vim.fn.line 'v' } - end) + end, { desc = 'stage git hunk' }) map('v', 'hr', function() gs.reset_hunk { vim.fn.line '.', vim.fn.line 'v' } - end) - - map('n', 'hs', gs.stage_hunk) - map('n', 'hr', gs.reset_hunk) - map('n', 'hS', gs.stage_buffer) - map('n', 'hu', gs.undo_stage_hunk) - map('n', 'hR', gs.reset_buffer) - map('n', 'hp', gs.preview_hunk) + end, { desc = 'reset git hunk' }) + -- normal mode + map('n', 'hs', gs.stage_hunk, { desc = 'git stage hunk' }) + map('n', 'hr', gs.reset_hunk, { desc = 'git reset hunk' }) + map('n', 'hS', gs.stage_buffer, { desc = 'git Stage buffer' }) + map('n', 'hu', gs.undo_stage_hunk, { desc = 'undo stage hunk' }) + map('n', 'hR', gs.reset_buffer, { desc = 'git Reset buffer' }) + map('n', 'hp', gs.preview_hunk, { desc = 'preview git hunk' }) map('n', 'hb', function() - gs.blame_line { full = true } - end) - map('n', 'hd', gs.diffthis) + gs.blame_line { full = false } + end, { desc = 'git blame line' }) + map('n', 'hd', gs.diffthis, { desc = 'git diff against index' }) map('n', 'hD', function() gs.diffthis '~' - end) + end, { desc = 'git diff against last commit' }) - map('n', 'tb', gs.toggle_current_line_blame) - map('n', 'td', gs.toggle_deleted) + -- Toggles + map('n', 'tb', gs.toggle_current_line_blame, { desc = 'toggle git blame line' }) + map('n', 'td', gs.toggle_deleted, { desc = 'toggle git show deleted' }) -- Text object - map({ 'o', 'x' }, 'ih', ':Gitsigns select_hunk') + map({ 'o', 'x' }, 'ih', ':Gitsigns select_hunk', { desc = 'select git hunk' }) end, }, }, @@ -525,11 +527,18 @@ require('which-key').register { ['c'] = { name = '[C]ode', _ = 'which_key_ignore' }, ['d'] = { name = '[D]ocument', _ = 'which_key_ignore' }, ['g'] = { name = '[G]it', _ = 'which_key_ignore' }, - ['h'] = { name = 'More git', _ = 'which_key_ignore' }, + ['h'] = { name = 'Git [H]unk', _ = 'which_key_ignore' }, ['r'] = { name = '[R]ename', _ = 'which_key_ignore' }, ['s'] = { name = '[S]earch', _ = 'which_key_ignore' }, + ['t'] = { name = '[T]oggle', _ = 'which_key_ignore' }, ['w'] = { name = '[W]orkspace', _ = 'which_key_ignore' }, } +-- register which-key VISUAL mode +-- required for visual hs (hunk stage) to work +require('which-key').register({ + [''] = { name = 'VISUAL ' }, + ['h'] = { 'Git [H]unk' }, +}, { mode = 'v' }) -- mason-lspconfig requires that these setup functions are called in this order -- before setting up the servers.