aboutsummaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorjdhao <jdhao@hotmail.com>2022-09-08 20:31:33 +0800
committerjdhao <jdhao@hotmail.com>2022-09-08 20:31:33 +0800
commitb504c932e613cf782a4346393eff1fc7ce2537f9 (patch)
tree6d1b02d5ae33bbe9996b1b29027aab55c4434b48 /lua
parenta39befff93a33bb41c5320024d4970147f3d1878 (diff)
use gitsigns instead of signify
Diffstat (limited to 'lua')
-rw-r--r--lua/config/gitsigns.lua44
-rw-r--r--lua/plugins.lua6
2 files changed, 46 insertions, 4 deletions
diff --git a/lua/config/gitsigns.lua b/lua/config/gitsigns.lua
new file mode 100644
index 0000000..0543412
--- /dev/null
+++ b/lua/config/gitsigns.lua
@@ -0,0 +1,44 @@
+local gs = require "gitsigns"
+
+gs.setup {
+ signs = {
+ add = { hl = "GitSignsAdd", text = "+", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
+ change = { hl = "GitSignsChange", text = "~", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" },
+ delete = { hl = "GitSignsDelete", text = "_", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
+ topdelete = { hl = "GitSignsDelete", text = "‾", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
+ changedelete = { hl = "GitSignsChange", text = "│", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" },
+ },
+ word_diff = true, -- Toggle with `:Gitsigns toggle_word_diff`
+ on_attach = function(bufnr)
+ local function map(mode, l, r, opts)
+ opts = opts or {}
+ opts.buffer = bufnr
+ vim.keymap.set(mode, l, r, opts)
+ end
+
+ -- Navigation
+ map("n", "]c", function()
+ if vim.wo.diff then
+ return "]c"
+ end
+ vim.schedule(function()
+ gs.next_hunk()
+ end)
+ return "<Ignore>"
+ end, { expr = true, desc = 'next hunk' })
+
+ map("n", "[c", function()
+ if vim.wo.diff then
+ return "[c"
+ end
+ vim.schedule(function()
+ gs.prev_hunk()
+ end)
+ return "<Ignore>"
+ end, { expr = true, desc = 'previous hunk' })
+
+ -- Actions
+ map("n", "<leader>hp", gs.preview_hunk)
+ map("n", "<leader>hb", function() gs.blame_line { full = true } end)
+ end,
+}
diff --git a/lua/plugins.lua b/lua/plugins.lua
index 5e771ef..5575430 100644
--- a/lua/plugins.lua
+++ b/lua/plugins.lua
@@ -132,10 +132,6 @@ packer.startup({
use({"rebelot/kanagawa.nvim", opt = true})
use({"catppuccin/nvim", as = "catppuccin", opt = true})
- -- Show git change (change, delete, add) signs in vim sign column
- use({"mhinz/vim-signify", event = 'BufEnter'})
- -- Another similar plugin
- -- use 'airblade/vim-gitgutter'
use {'kyazdani42/nvim-web-devicons', event = 'VimEnter'}
@@ -244,6 +240,8 @@ packer.startup({
}
use({ "kevinhwang91/nvim-bqf", ft = "qf", config = [[require('config.bqf')]] })
+ -- Show git change (change, delete, add) signs in vim sign column
+ use({ 'lewis6991/gitsigns.nvim', config = [[require('config.gitsigns')]] })
-- Better git commit experience
use({"rhysd/committia.vim", opt = true, setup = [[vim.cmd('packadd committia.vim')]]})