diff options
Diffstat (limited to 'nvim/lua/git.lua')
-rw-r--r-- | nvim/lua/git.lua | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nvim/lua/git.lua b/nvim/lua/git.lua new file mode 100644 index 0000000..8bc3c56 --- /dev/null +++ b/nvim/lua/git.lua @@ -0,0 +1,56 @@ +require('gitsigns').setup { + signs = { + add = {hl = 'GitSignsAdd' , text = '+', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'}, + change = {hl = 'GitSignsChange', text = '+', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, + delete = {hl = 'GitSignsDelete', text = '-', numhl='GitSignsDele.setup()teNr', linehl='GitSignsDeleteLn'}, + topdelete = {hl = 'GitSignsDelete', text = '-', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, + changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, + }, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + keymaps = { + -- Default keymap options + noremap = true, + + ['n ]c'] = { expr = true, "&diff ? ']c' : '<cmd>lua require\"gitsigns.actions\".next_hunk()<CR>'"}, + ['n [c'] = { expr = true, "&diff ? '[c' : '<cmd>lua require\"gitsigns.actions\".prev_hunk()<CR>'"}, + + ['n hs'] = '<cmd>lua require"gitsigns".stage_hunk()<CR>', + ['v hs'] = '<cmd>lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})<CR>', + ['n hS'] = '<cmd>lua require"gitsigns".stage_buffer()<CR>', + ['n hu'] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>', + ['n hp'] = '<cmd>lua require"gitsigns".preview_hunk()<CR>', + ['n hb'] = '<cmd>lua require"gitsigns".blame_line(true)<CR>', + }, + watch_gitdir = { + interval = 1000, + follow_files = true + }, + attach_to_untracked = true, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + }, + current_line_blame_formatter_opts = { + relative_time = false + }, + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, + preview_config = { + -- Options passed to nvim_open_win + border = 'single', + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, + yadm = { + enable = false + }, +} |