commit 1fe8e24c15a572638ab3e3ac8543e53053a81109
parent 1a19a55766cbb61be54cc0cc8fcef712e668d270
Author: Tomas Nemec <nemi@skaut.cz>
Date: Thu, 1 Dec 2022 09:27:00 +0100
update
Diffstat:
M | after/plugin/git.lua | | | 159 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
1 file changed, 85 insertions(+), 74 deletions(-)
diff --git a/after/plugin/git.lua b/after/plugin/git.lua
@@ -1,89 +1,100 @@
if vim.g.loaded_git_messenger == 1 then
- vim.g.git_messenger_floating_win_opts = { border = 'single' }
- vim.keymap.set('n', '<leader>gm', '<plug>(git-messenger)', { desc = 'Git Message' })
+ vim.g.git_messenger_floating_win_opts = {border = 'single'}
+ vim.keymap.set('n', '<leader>gm', '<plug>(git-messenger)',
+ {desc = 'Git Message'})
end
if vim.g.loaded_fugitive then
- vim.keymap.set('n', '<leader>gg', '<cmd>G<cr>', { desc = 'Git Status' })
- vim.keymap.set('n', '<leader>gc', '<cmd>G commit<cr>', { desc = 'Git Commit' })
- vim.keymap.set('n', '<leader>gb', '<cmd>Git blame<cr>', { desc = 'Git Blame' })
+ vim.keymap.set('n', '<leader>gg', '<cmd>G<cr>', {desc = 'Git Status'})
+ vim.keymap
+ .set('n', '<leader>gc', '<cmd>G commit<cr>', {desc = 'Git Commit'})
+ vim.keymap
+ .set('n', '<leader>gb', '<cmd>Git blame<cr>', {desc = 'Git Blame'})
end
local has_igit, igit = pcall(require, 'igit')
if has_igit then
- igit.setup({
- command = 'IG',
- -- branch = { open_cmd = 'botright' },
- -- log = { open_cmd = 'botright' },
- -- status = { open_cmd = 'botright' },
- })
+ igit.setup({
+ command = 'IG'
+ -- branch = { open_cmd = 'botright' },
+ -- log = { open_cmd = 'botright' },
+ -- status = { open_cmd = 'botright' },
+ })
end
local has_gsigns, gsigns = pcall(require, 'gitsigns')
if has_gsigns then
- local get_theme = function()
- local dark_theme = { add = '│', change = '│', delete = '│', topdelete = '‾', changedel = '│' }
- local light_theme = { add = ' ', change = ' ', delete = ' ', topdelete = ' ', changedel = ' ' }
- local theme = dark_theme
- if vim.opt.background:get() == 'light' then theme = light_theme end
- return theme
- end
+ local get_theme = function()
+ local dark_theme = {
+ add = '│',
+ change = '│',
+ delete = '│',
+ topdelete = '‾',
+ changedel = '│'
+ }
+ local light_theme = {
+ add = ' ',
+ change = ' ',
+ delete = ' ',
+ topdelete = ' ',
+ changedel = ' '
+ }
+ local theme = dark_theme
+ if vim.opt.background:get() == 'light' then theme = light_theme end
+ return theme
+ end
- local theme = get_theme()
- gsigns.setup {
- signs = {
- add = {
- hl = 'GitSignsAdd',
- text = theme.add,
- -- text = ' ',
- numhl = 'GitSignsAddNr',
- linehl = 'GitSignsAddLn',
- },
- change = {
- hl = 'GitSignsChange',
- text = theme.change,
- -- text = ' ',
- numhl = 'GitSignsChangeNr',
- linehl = 'GitSignsChangeLn',
- },
- delete = {
- hl = 'GitSignsDelete',
- text = theme.delete,
- -- text = ' ',
- numhl = 'GitSignsDeleteNr',
- linehl = 'GitSignsDeleteLn',
- },
- topdelete = {
- hl = 'GitSignsDelete',
- text = theme.topdelete,
- -- text = ' ',
- numhl = 'GitSignsDeleteNr',
- linehl = 'GitSignsDeleteLn',
- },
- changedelete = {
- hl = 'GitSignsChange',
- text = theme.changedel,
- -- text = ' ',
- numhl = 'GitSignsChangeNr',
- linehl = 'GitSignsChangeLn',
- },
- },
- keymaps = {},
- }
+ local theme = get_theme()
+ gsigns.setup {
+ signs = {
+ add = {
+ text = theme.add
+ -- text = ' ',
+ },
+ change = {
+ text = theme.change
+ -- text = ' ',
+ },
+ delete = {
+ text = theme.delete
+ -- text = ' ',
+ },
+ topdelete = {
+ -- text = ' ',
+ },
+ changedelete = {
+ text = theme.changedel
+ -- text = ' ',
+ }
+ },
+ keymaps = {}
+ }
- vim.keymap.set('n', '>c', function() gsigns.next_hunk() end, { desc = 'Git Next Hunk' })
- vim.keymap.set('n', '>[', function() gsigns.next_hunk() end, { desc = 'Git Next Hunk' })
- vim.keymap.set('n', '<c', function() gsigns.prev_hunk() end, { desc = 'Git Previous Hunk' })
- vim.keymap.set('n', '<[', function() gsigns.prev_hunk() end, { desc = 'Git Previous Hunk' })
- vim.keymap.set('n', '<leader>hs', function() gsigns.stage_hunk() end, { desc = 'Git Stage Hunk' })
- vim.keymap.set('n', '<leader>hu', function() gsigns.undo_stage_hunk() end, { desc = 'Git Undo Stage Hunk' })
- vim.keymap.set('n', '<leader>hr', function() gsigns.reset_hunk() end, { desc = 'Git Reset Hunk' })
- vim.keymap.set('n', '<leader>hR', function() gsigns.reset_buffer() end, { desc = 'Git Reset Buffer' })
- vim.keymap.set('n', '<leader>hp', function() gsigns.preview_hunk() end, { desc = 'Git Preview Hunk' })
- vim.keymap.set('n', '<leader>hb', function() gsigns.toggle_current_line_blame() end,
- { desc = 'Git Toggle Blame Line' })
- vim.keymap.set('n', '<leader>hl', function() gsigns.toggle_linehl() end, { desc = 'Git Highlight Lines' })
- vim.keymap.set('n', '<leader>hn', function() gsigns.toggle_numhl() end, { desc = 'Git Highlight Num' })
- vim.keymap.set('o', 'ig', ':<C-U>lua require("gitsigns").select_hunk()<cr>')
- vim.keymap.set('x', 'ig', ':<C-U>lua require("gitsigns").select_hunk()<cr>')
+ vim.keymap.set('n', '>c', function() gsigns.next_hunk() end,
+ {desc = 'Git Next Hunk'})
+ vim.keymap.set('n', '>[', function() gsigns.next_hunk() end,
+ {desc = 'Git Next Hunk'})
+ vim.keymap.set('n', '<c', function() gsigns.prev_hunk() end,
+ {desc = 'Git Previous Hunk'})
+ vim.keymap.set('n', '<[', function() gsigns.prev_hunk() end,
+ {desc = 'Git Previous Hunk'})
+ vim.keymap.set('n', '<leader>hs', function() gsigns.stage_hunk() end,
+ {desc = 'Git Stage Hunk'})
+ vim.keymap.set('n', '<leader>hu', function() gsigns.undo_stage_hunk() end,
+ {desc = 'Git Undo Stage Hunk'})
+ vim.keymap.set('n', '<leader>hr', function() gsigns.reset_hunk() end,
+ {desc = 'Git Reset Hunk'})
+ vim.keymap.set('n', '<leader>hR', function() gsigns.reset_buffer() end,
+ {desc = 'Git Reset Buffer'})
+ vim.keymap.set('n', '<leader>hp', function() gsigns.preview_hunk() end,
+ {desc = 'Git Preview Hunk'})
+ vim.keymap.set('n', '<leader>hb',
+ function() gsigns.toggle_current_line_blame() end,
+ {desc = 'Git Toggle Blame Line'})
+ vim.keymap.set('n', '<leader>hl', function() gsigns.toggle_linehl() end,
+ {desc = 'Git Highlight Lines'})
+ vim.keymap.set('n', '<leader>hn', function() gsigns.toggle_numhl() end,
+ {desc = 'Git Highlight Num'})
+ vim.keymap.set('o', 'ig', ':<C-U>lua require("gitsigns").select_hunk()<cr>')
+ vim.keymap.set('x', 'ig', ':<C-U>lua require("gitsigns").select_hunk()<cr>')
end