From 3ad034a1b5755bd5d8ebed71637dedb9089a7dce Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Wed, 12 Mar 2025 22:50:12 +0800 Subject: feat(nvim): improve configs a lot. --- .../config/nvim/lua/setup/plugins/gitsigns.lua | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 store/home/config/nvim/lua/setup/plugins/gitsigns.lua (limited to 'store/home/config/nvim/lua/setup/plugins/gitsigns.lua') diff --git a/store/home/config/nvim/lua/setup/plugins/gitsigns.lua b/store/home/config/nvim/lua/setup/plugins/gitsigns.lua new file mode 100644 index 0000000..957c661 --- /dev/null +++ b/store/home/config/nvim/lua/setup/plugins/gitsigns.lua @@ -0,0 +1,40 @@ +local function setup() + local gitsigns = require('gitsigns') + + gitsigns.setup { + 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 + 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) + + -- Actions + map('n', 'gc', gitsigns.preview_hunk) + map('n', 'gt', gitsigns.toggle_deleted) + map('n', 'gd', gitsigns.diffthis) + map('n', 'gb', function() gitsigns.blame_line { full = true } end) + end + } +end + +return { + setup = setup +} -- cgit v1.2.3