From c18b62f6758abcb70c6695c0a8f5d91e56942c5a Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Tue, 1 Oct 2024 09:34:25 -0700 Subject: [PATCH] vim-signify => gitsigns.nvim --- .gitmodules | 6 ++--- lua/config/plugins.lua | 45 ++++++++++++++++++++++++++++++++ pack/plugins/start/gitsigns.nvim | 1 + pack/plugins/start/vim-signify | 1 - 4 files changed, 49 insertions(+), 4 deletions(-) create mode 160000 pack/plugins/start/gitsigns.nvim delete mode 160000 pack/plugins/start/vim-signify diff --git a/.gitmodules b/.gitmodules index d353960..27d38e2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,9 +28,6 @@ [submodule ".vim/bundle/vim-dirvish"] path = pack/plugins/start/vim-dirvish url = https://github.com/justinmk/vim-dirvish.git -[submodule ".vim/bundle/vim-signify"] - path = pack/plugins/start/vim-signify - url = https://github.com/mhinz/vim-signify.git [submodule ".vim/bundle/vim-angry"] path = pack/plugins/start/vim-angry url = https://github.com/b4winckler/vim-angry.git @@ -97,3 +94,6 @@ [submodule "pack/plugins/start/argonaut.nvim"] path = pack/plugins/start/argonaut.nvim url = https://git.foosoft.net/alex/argonaut.nvim.git +[submodule "pack/plugins/start/gitsigns.nvim"] + path = pack/plugins/start/gitsigns.nvim + url = https://github.com/lewis6991/gitsigns.nvim.git diff --git a/lua/config/plugins.lua b/lua/config/plugins.lua index d6966ea..638335e 100644 --- a/lua/config/plugins.lua +++ b/lua/config/plugins.lua @@ -47,6 +47,51 @@ if vim.fn.executable('fzf') == 1 then vim.keymap.set('n', 'fs', live_grep) end +-- gitsigns.nvim +require('gitsigns').setup({ + on_attach = function(bufnr) + local gitsigns = require('gitsigns') + + local function map(mode, l, r, opts) + opts = opts or {} + opts.buffer = bufnr + vim.keymap.set(mode, l, r, opts) + end + + map('n', ']c', function() + if vim.wo.diff then + vim.cmd.normal({']c', bang = true}) + else + gitsigns.nav_hunk('next') + end + end) + + map('n', '[c', function() + if vim.wo.diff then + vim.cmd.normal({'[c', bang = true}) + else + gitsigns.nav_hunk('prev') + end + end) + + map('n', 'hs', gitsigns.stage_hunk) + map('n', 'hr', gitsigns.reset_hunk) + map('v', 'hs', function() gitsigns.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end) + map('v', 'hr', function() gitsigns.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end) + map('n', 'hS', gitsigns.stage_buffer) + map('n', 'hu', gitsigns.undo_stage_hunk) + map('n', 'hR', gitsigns.reset_buffer) + map('n', 'hp', gitsigns.preview_hunk) + map('n', 'hb', function() gitsigns.blame_line{full=true} end) + map('n', 'tb', gitsigns.toggle_current_line_blame) + map('n', 'hd', gitsigns.diffthis) + map('n', 'hD', function() gitsigns.diffthis('~') end) + map('n', 'td', gitsigns.toggle_deleted) + + map({'o', 'x'}, 'ih', ':Gitsigns select_hunk') + end +}) + -- guid.nvim require('guid').setup({ comma_space = true diff --git a/pack/plugins/start/gitsigns.nvim b/pack/plugins/start/gitsigns.nvim new file mode 160000 index 0000000..8639036 --- /dev/null +++ b/pack/plugins/start/gitsigns.nvim @@ -0,0 +1 @@ +Subproject commit 863903631e676b33e8be2acb17512fdc1b80b4fb diff --git a/pack/plugins/start/vim-signify b/pack/plugins/start/vim-signify deleted file mode 160000 index 8670143..0000000 --- a/pack/plugins/start/vim-signify +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8670143f9e12ed1cd3c9b2c54f345cdd9a4baac3