diff options
| author | jdhao <jdhao@hotmail.com> | 2022-09-08 20:33:06 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-08 20:33:06 +0800 |
| commit | 5c63ade4a05dc02d9e644080ef1f1c98c3f859e0 (patch) | |
| tree | 6d1b02d5ae33bbe9996b1b29027aab55c4434b48 /lua | |
| parent | a39befff93a33bb41c5320024d4970147f3d1878 (diff) | |
| parent | b504c932e613cf782a4346393eff1fc7ce2537f9 (diff) | |
Merge pull request #97 from jdhao/gitsigns
use gitsigns instead of signify
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/config/gitsigns.lua | 44 | ||||
| -rw-r--r-- | lua/plugins.lua | 6 |
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')]]}) |
