summaryrefslogtreecommitdiff
path: root/nvim/lua/git.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/git.lua')
-rw-r--r--nvim/lua/git.lua56
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
+ },
+}