This repository has been archived on 2025-01-07. You can view files and clone it, but cannot push or open issues or pull requests.
opdavies.nvim/after/plugin/gitsigns.lua

31 lines
1 KiB
Lua
Raw Normal View History

local gitsigns_status_ok, gitsigns = pcall(require, "gitsigns")
if not gitsigns_status_ok then
return
end
gitsigns.setup {
linehl = false,
numhl = true,
2023-01-23 18:12:25 +00:00
}
2023-08-10 23:26:36 +00:00
local bufnr = vim.api.nvim_get_current_buf()
local map = require "opdavies.keymap".map
local nmap = require "opdavies.keymap".nmap
local vmap = require "opdavies.keymap".vmap
nmap { '[h', "&diff ? '[c' : '<cmd>Gitsigns prev_hunk<CR>'", { expr = true, buffer = bufnr }}
nmap { ']h', "&diff ? ']c' : '<cmd>Gitsigns next_hunk<CR>'", { expr = true, buffer = bufnr }}
nmap { '<leader>hR', gitsigns.reset_buffer }
nmap { '<leader>hS', gitsigns.stage_buffer }
nmap { '<leader>hp', gitsigns.preview_hunk }
nmap { '<leader>hr', gitsigns.reset_hunk }
nmap { '<leader>hs', gitsigns.stage_hunk }
nmap { '<leader>hu', gitsigns.undo_stage_hunk }
vmap { '<leader>hr', function() gitsigns.reset_hunk { vim.fn.line('.'), vim.fn.line('v') } end }
vmap { '<leader>hs', function() gitsigns.stage_hunk { vim.fn.line('.'), vim.fn.line('v')} end }
-- Text object.
map{ {'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>' }