1
0
Fork 0
numbers/nvim/lua/plugins/gitsigns_nvim.lua

34 lines
1.6 KiB
Lua

require("gitsigns").setup({
signcolumn = true,
current_line_blame_opts = { delay = 2000, virt_text_pos = "right_align" },
signs = {
add = { hl = "GitSignsAdd", text = "", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
change = { hl = "GitSignsChange", text = "", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" },
delete = { hl = "GitSignsDelete", text = "", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
topdelete = { hl = "GitSignsDelete", text = "", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" },
changedelete = {
hl = "GitSignsChange",
text = "",
numhl = "GitSignsChangeNr",
linehl = "GitSignsChangeLn",
},
},
update_debounce = 200,
keymaps = {
noremap = true,
["n <leader>}g"] = { expr = true, "&diff ? '}c' : '<cmd>lua require\"gitsigns\".next_hunk()<CR>'" },
["n <leader>{g"] = { expr = true, "&diff ? '{c' : '<cmd>lua require\"gitsigns\".prev_hunk()<CR>'" },
},
})
vim.g.fugitive_summary_format = "%an\t%s"
local default_opts = { noremap = true, silent = true }
vim.api.nvim_set_keymap("n", "<Leader>tt", ":Gitsigns toggle_signs<CR>", default_opts)
vim.api.nvim_set_keymap("n", "<Leader>tb", ":Gitsigns toggle_current_line_blame<CR>", default_opts)
vim.api.nvim_set_keymap("n", "<Leader>ff", ":G<CR>", default_opts)
vim.api.nvim_set_keymap("n", "<Leader>fc", ":GCheckout<CR>", default_opts)
vim.api.nvim_set_keymap("n", "<Leader>fd", ":Gvdiffsplit!<CR>", default_opts)
vim.api.nvim_set_keymap("n", "<Leader>fh", ":diffget //2<CR>", default_opts)
vim.api.nvim_set_keymap("n", "<Leader>fl", ":diffget //3<CR>", default_opts)