u
This commit is contained in:
parent
74d86327e5
commit
7164843855
1 changed files with 80 additions and 16 deletions
96
init.lua
96
init.lua
|
|
@ -194,6 +194,7 @@ require("lazy").setup({
|
|||
on_attach = function(bufnr)
|
||||
local gitsigns = require('gitsigns')
|
||||
|
||||
|
||||
local function map(mode, l, r, opts)
|
||||
opts = opts or {}
|
||||
opts.buffer = bufnr
|
||||
|
|
@ -208,7 +209,6 @@ require("lazy").setup({
|
|||
gitsigns.nav_hunk('next')
|
||||
end
|
||||
end)
|
||||
|
||||
map('n', '[c', function()
|
||||
if vim.wo.diff then
|
||||
vim.cmd.normal({ '[c', bang = true })
|
||||
|
|
@ -218,22 +218,86 @@ require("lazy").setup({
|
|||
end)
|
||||
|
||||
-- Actions
|
||||
map('n', '<leader>hs', gitsigns.stage_hunk)
|
||||
local wk = require("which-key")
|
||||
|
||||
map('n', '<leader>hr', gitsigns.reset_hunk)
|
||||
map('v', '<leader>hs',
|
||||
function() gitsigns.stage_hunk { vim.fn.line('.'), vim.fn.line('v') } end)
|
||||
map('v', '<leader>hr',
|
||||
function() gitsigns.reset_hunk { vim.fn.line('.'), vim.fn.line('v') } end)
|
||||
map('n', '<leader>hS', gitsigns.stage_buffer)
|
||||
map('n', '<leader>hu', gitsigns.undo_stage_hunk)
|
||||
map('n', '<leader>hR', gitsigns.reset_buffer)
|
||||
map('n', '<leader>hp', gitsigns.preview_hunk)
|
||||
map('n', '<leader>hb', function() gitsigns.blame_line { full = true } end)
|
||||
map('n', '<leader>tb', gitsigns.toggle_current_line_blame)
|
||||
map('n', '<leader>hd', gitsigns.diffthis)
|
||||
map('n', '<leader>hD', function() gitsigns.diffthis('~') end)
|
||||
map('n', '<leader>td', gitsigns.toggle_deleted)
|
||||
wk.add({
|
||||
{
|
||||
|
||||
'<leader>h',
|
||||
group = "hunks",
|
||||
mode = "n",
|
||||
{
|
||||
{ '<leader>hs', gitsigns.stage_hunk, desc = "Stage Hunk" },
|
||||
{ '<leader>hr', gitsigns.reset_hunk, desc = "Reset Hunk" },
|
||||
{
|
||||
'<leader>hS',
|
||||
gitsigns.stage_buffer,
|
||||
desc = "Stage Buffer"
|
||||
},
|
||||
{
|
||||
'<leader>hu',
|
||||
gitsigns.undo_stage_hunk,
|
||||
desc = "Undo Stage Hunk"
|
||||
},
|
||||
{
|
||||
'<leader>hR',
|
||||
gitsigns.reset_buffer,
|
||||
desc = "Reset Buffer"
|
||||
},
|
||||
{
|
||||
'<leader>hp',
|
||||
gitsigns.preview_hunk,
|
||||
desc = "Preview Hunk"
|
||||
},
|
||||
{
|
||||
'<leader>hb',
|
||||
function() gitsigns.blame_line { full = true } end,
|
||||
desc = "Blame line"
|
||||
},
|
||||
{
|
||||
'<leader>tb',
|
||||
gitsigns.toggle_current_line_blame,
|
||||
desc = "Toggle current line blame"
|
||||
},
|
||||
{
|
||||
'<leader>hd',
|
||||
gitsigns.diffthis,
|
||||
desc = "Diff this"
|
||||
},
|
||||
{
|
||||
'<leader>hD',
|
||||
function() gitsigns.diffthis('~') end,
|
||||
desc = "Diff this ~"
|
||||
},
|
||||
{
|
||||
'<leader>ht',
|
||||
gitsigns.toggle_deleted,
|
||||
desc = "Toggle deleted"
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'<leader>h',
|
||||
group = "vhunks",
|
||||
mode = "v",
|
||||
{
|
||||
'<leader>hs',
|
||||
function()
|
||||
gitsigns.stage_hunk { vim.fn.line('.'),
|
||||
vim.fn.line('v') }
|
||||
end,
|
||||
desc = "Stage Hunk",
|
||||
},
|
||||
{
|
||||
'<leader>hr',
|
||||
function()
|
||||
gitsigns.reset_hunk { vim.fn.line('.'),
|
||||
vim.fn.line('v') }
|
||||
end,
|
||||
desc = "Reset Hunk",
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
-- Text object
|
||||
map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
||||
|
|
|
|||
Loading…
Reference in a new issue