nvim: improve git integration (diffview, gitsigns)
This commit is contained in:
@ -11,9 +11,11 @@
|
||||
"diffview.nvim": { "branch": "main", "commit": "86bf6182e2ea767c21711de8a3c396d9b635d970" },
|
||||
"formatter.nvim": { "branch": "master", "commit": "fa4f2729cc2909db599169f22d8e55632d4c8d59" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "0dd6114bea08276d9111d58c5dce5e256bbc8921" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "256569c2fe697a3003dbd49ff474e5935af9066c" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "e6bf3a0d9c4899dcf832270f79bb1cee8fbc506e" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "d381fcb78d7a562c3244e1c8f76406954649db36" },
|
||||
"mason.nvim": { "branch": "main", "commit": "7d7efc738e08fc5bee822857db45cb6103f0b0c1" },
|
||||
"mbc-colorscheme.nvim": { "branch": "main", "commit": "6d74768526fc36d057c393b5aaa174c688b23a10" },
|
||||
"mini.bracketed": { "branch": "main", "commit": "4d5d8d8cfadb82b4e2d9196da2ecd5cd938a9c48" },
|
||||
|
||||
@ -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