diff options
| author | Josh Rahm <rahm@josher.dev> | 2026-10-18 15:54:35 -0600 |
|---|---|---|
| committer | Josh Rahm <rahm@josher.dev> | 2026-10-18 15:54:35 -0600 |
| commit | 457674c5b25b9f4be84f0f0ddf0cea7c1811174a (patch) | |
| tree | 69ce27a62afabd7a3d66830201c4d2d40a28e500 /lua/config/99-gitsigns-config.lua | |
| parent | 715fd8b957d7c553f2df3070b430784517fc78ae (diff) | |
| download | config.vim-457674c5b25b9f4be84f0f0ddf0cea7c1811174a.tar.gz config.vim-457674c5b25b9f4be84f0f0ddf0cea7c1811174a.tar.bz2 config.vim-457674c5b25b9f4be84f0f0ddf0cea7c1811174a.zip | |
Redesign my vim config.
Now uses Lua primarily
Breaks apart the configuration into rc-service style configuration
files.
Deletes a ton of the cruft with old LSP settings.
Diffstat (limited to 'lua/config/99-gitsigns-config.lua')
| -rw-r--r-- | lua/config/99-gitsigns-config.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lua/config/99-gitsigns-config.lua b/lua/config/99-gitsigns-config.lua new file mode 100644 index 0000000..4687668 --- /dev/null +++ b/lua/config/99-gitsigns-config.lua @@ -0,0 +1,27 @@ +-- Adapted from the original init.vim; mappings are buffer-local. +local gs = require('gitsigns') +gs.setup({ + on_attach = function(bufnr) + local function map(mode, lhs, rhs) + vim.keymap.set(mode, lhs, rhs, { buffer = bufnr, silent = true }) + end + + map({ 'o', 'x' }, 'ih', ':<C-U>Gitsigns select_hunk<CR>') + map('n', ']h', function() + if vim.wo.diff then vim.cmd.normal({ ']c', bang = true }) + else gs.nav_hunk('next') end + end) + map('n', '[h', function() + if vim.wo.diff then vim.cmd.normal({ '[c', bang = true }) + else gs.nav_hunk('prev') end + end) + map('n', '<leader>hs', gs.stage_hunk) + map('n', '<leader>hr', gs.reset_hunk) + map('v', '<leader>hs', function() gs.stage_hunk({ vim.fn.line('.'), vim.fn.line('v') }) end) + map('v', '<leader>hr', function() gs.reset_hunk({ vim.fn.line('.'), vim.fn.line('v') }) end) + map('n', '<leader>hS', gs.stage_buffer) + map('n', '<leader>hR', gs.reset_buffer) + map('n', '<leader>hp', gs.preview_hunk) + map('n', '<leader>hi', gs.preview_hunk_inline) + end, +}) |