nvim: improve git integration (diffview, gitsigns)
This commit is contained in:
@ -65,6 +65,42 @@ vim.keymap.set("n", "<leader>gn", function()
|
||||
vim.lsp.buf.rename()
|
||||
end, { desc = "Rename" })
|
||||
|
||||
-- vcs
|
||||
vim.keymap.set("n", "<leader>vs", function()
|
||||
require("gitsigns").stage_hunk()
|
||||
end, { desc = "Stage Hunk" })
|
||||
vim.keymap.set("n", "<leader>vr", function()
|
||||
require("gitsigns").reset_hunk()
|
||||
end, { desc = "Reset Hunk" })
|
||||
vim.keymap.set("v", "<leader>vs", function()
|
||||
require("gitsigns").stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
||||
end, { desc = "Stage Hunk" })
|
||||
vim.keymap.set("v", "<leader>vr", function()
|
||||
require("gitsigns").reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
||||
end, { desc = "Reset Hunk" })
|
||||
vim.keymap.set("n", "<leader>va", function()
|
||||
require("gitsigns").stage_buffer()
|
||||
end, { desc = "Stage Buffer" })
|
||||
vim.keymap.set("n", "<leader>vu", function()
|
||||
require("gitsigns").undo_stage_hunk()
|
||||
end, { desc = "Undo Stage Hunk" })
|
||||
vim.keymap.set("n", "<leader>vx", function()
|
||||
require("gitsigns").reset_buffer()
|
||||
end, { desc = "Reset Buffer" })
|
||||
vim.keymap.set("n", "<leader>vp", function()
|
||||
require("gitsigns").preview_hunk()
|
||||
end, { desc = "Preview Hunk" })
|
||||
vim.keymap.set("n", "<leader>vb", function()
|
||||
require("gitsigns").blame_line({ full = true })
|
||||
end, { desc = "Blame Line" })
|
||||
vim.keymap.set("n", "<leader>vB", function()
|
||||
require("gitsigns").toggle_current_line_blame()
|
||||
end, { desc = "Toggle Blame" })
|
||||
vim.keymap.set("n", "<leader>vt", function()
|
||||
require("gitsigns").toggle_deleted()
|
||||
end, { desc = "Toggle Deleted" })
|
||||
vim.keymap.set("n", "<leader>vd", "<cmd>DiffviewToggle<CR>", { desc = "Diff" })
|
||||
|
||||
-- neotest
|
||||
vim.keymap.set("n", "<leader>na", function()
|
||||
require("neotest").run.attach()
|
||||
|
||||
14
.config/nvim/lua/plugins/diffview.lua
Normal file
14
.config/nvim/lua/plugins/diffview.lua
Normal file
@ -0,0 +1,14 @@
|
||||
return {
|
||||
"sindrets/diffview.nvim",
|
||||
config = function()
|
||||
vim.api.nvim_create_user_command("DiffviewToggle", function(e)
|
||||
local view = require("diffview.lib").get_current_view()
|
||||
|
||||
if view then
|
||||
vim.cmd("DiffviewClose")
|
||||
else
|
||||
vim.cmd("DiffviewOpen " .. e.args)
|
||||
end
|
||||
end, { nargs = "*" })
|
||||
end,
|
||||
}
|
||||
6
.config/nvim/lua/plugins/gitsigns.lua
Normal file
6
.config/nvim/lua/plugins/gitsigns.lua
Normal file
@ -0,0 +1,6 @@
|
||||
return {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
require("gitsigns").setup()
|
||||
end,
|
||||
}
|
||||
Reference in New Issue
Block a user