feat: add buffer mapping for gitsigns
This commit is contained in:
parent
27560319cc
commit
3fe07c88ef
2 changed files with 137 additions and 0 deletions
|
@ -404,4 +404,137 @@ M.blankline = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
M.gitsigns = {
|
||||||
|
plugin = true,
|
||||||
|
|
||||||
|
n = {
|
||||||
|
-- Navigation
|
||||||
|
["]c"] = {
|
||||||
|
function()
|
||||||
|
if vim.wo.diff then
|
||||||
|
return "]c"
|
||||||
|
end
|
||||||
|
vim.schedule(function()
|
||||||
|
require("gitsigns").next_hunk()
|
||||||
|
end)
|
||||||
|
return "<Ignore>"
|
||||||
|
end,
|
||||||
|
"Jump to next hunk",
|
||||||
|
opts = { expr = true },
|
||||||
|
},
|
||||||
|
["[c"] = {
|
||||||
|
function()
|
||||||
|
if vim.wo.diff then
|
||||||
|
return "[c"
|
||||||
|
end
|
||||||
|
vim.schedule(function()
|
||||||
|
require("gitsigns").prev_hunk()
|
||||||
|
end)
|
||||||
|
return "<Ignore>"
|
||||||
|
end,
|
||||||
|
"Jump to prev hunk",
|
||||||
|
opts = { expr = true },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Actions
|
||||||
|
["<leader>hs"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").stage_hunk()
|
||||||
|
end,
|
||||||
|
"Stage hunk",
|
||||||
|
},
|
||||||
|
["<leader>hr"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").reset_hunk()
|
||||||
|
end,
|
||||||
|
"Reset hunk",
|
||||||
|
},
|
||||||
|
["<leader>hS"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").stage_buffer()
|
||||||
|
end,
|
||||||
|
"Stage buffer",
|
||||||
|
},
|
||||||
|
["<leader>hu"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").undo_stage_hunk()
|
||||||
|
end,
|
||||||
|
"Undo stage hunk",
|
||||||
|
},
|
||||||
|
["<leader>hR"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").reset_buffer()
|
||||||
|
end,
|
||||||
|
"Reset buffer",
|
||||||
|
},
|
||||||
|
["<leader>hp"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").preview_hunk()
|
||||||
|
end,
|
||||||
|
"Preview hunk",
|
||||||
|
},
|
||||||
|
["<leader>hb"] = {
|
||||||
|
function()
|
||||||
|
package.loaded.gitsigns.blame_line { full = true }
|
||||||
|
end,
|
||||||
|
"Blame line",
|
||||||
|
},
|
||||||
|
["<leader>tb"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").toggle_current_line_blame()
|
||||||
|
end,
|
||||||
|
"Toggle current line blame",
|
||||||
|
},
|
||||||
|
["<leader>td"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").toggle_deleted()
|
||||||
|
end,
|
||||||
|
"Toggle deleted",
|
||||||
|
},
|
||||||
|
["<leader>hd"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").diffthis()
|
||||||
|
end,
|
||||||
|
"Diff against the index",
|
||||||
|
},
|
||||||
|
["<leader>hD"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").diffthis "~"
|
||||||
|
end,
|
||||||
|
"Diff against the last commit",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
v = {
|
||||||
|
-- Actions
|
||||||
|
["<leader>hs"] = {
|
||||||
|
function()
|
||||||
|
require("gitsigns").stage_hunk()
|
||||||
|
end,
|
||||||
|
"Stage hunk",
|
||||||
|
},
|
||||||
|
["<leader>hr"] = {
|
||||||
|
function ()
|
||||||
|
require("gitsigns").reset_hunk()
|
||||||
|
end,
|
||||||
|
"Reset hunk",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
x = {
|
||||||
|
["ih"] = {
|
||||||
|
function ()
|
||||||
|
require("gitsigns").select_hunk()
|
||||||
|
end,
|
||||||
|
"Reset hunk",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
o = {
|
||||||
|
["ih"] = {
|
||||||
|
function ()
|
||||||
|
require("gitsigns").select_hunk()
|
||||||
|
end,
|
||||||
|
"Reset hunk",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local load_override = require("core.utils").load_override
|
local load_override = require("core.utils").load_override
|
||||||
|
local utils = require "core.utils"
|
||||||
|
|
||||||
M.autopairs = function()
|
M.autopairs = function()
|
||||||
local present1, autopairs = pcall(require, "nvim-autopairs")
|
local present1, autopairs = pcall(require, "nvim-autopairs")
|
||||||
|
@ -145,6 +146,9 @@ M.gitsigns = function()
|
||||||
topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" },
|
topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" },
|
||||||
changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" },
|
changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" },
|
||||||
},
|
},
|
||||||
|
on_attach = function (bufnr)
|
||||||
|
utils.load_mappings("gitsigns", { buffer = bufnr })
|
||||||
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
options = load_override(options, "lewis6991/gitsigns.nvim")
|
options = load_override(options, "lewis6991/gitsigns.nvim")
|
||||||
|
|
Loading…
Reference in a new issue