mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
NeoVim: Use Neogit + Diffview for git operations instead of fugitive
This commit is contained in:
@@ -88,6 +88,3 @@ vim.keymap.set("n", "]e", diagnostic_goto(true, "ERROR"), { desc = "Next Error"
|
|||||||
vim.keymap.set("n", "[e", diagnostic_goto(false, "ERROR"), { desc = "Prev Error" })
|
vim.keymap.set("n", "[e", diagnostic_goto(false, "ERROR"), { desc = "Prev Error" })
|
||||||
vim.keymap.set("n", "]w", diagnostic_goto(true, "WARN"), { desc = "Next Warning" })
|
vim.keymap.set("n", "]w", diagnostic_goto(true, "WARN"), { desc = "Next Warning" })
|
||||||
vim.keymap.set("n", "[w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" })
|
vim.keymap.set("n", "[w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" })
|
||||||
|
|
||||||
-- Git
|
|
||||||
vim.keymap.set("n", "<leader>gg", "<Cmd>0G<cr>", { desc = "Git: Open fugitive in a new buffer" })
|
|
||||||
|
|||||||
@@ -1,16 +1,30 @@
|
|||||||
return {
|
return {
|
||||||
-- Fugitive
|
-- Better fugitive: neogit
|
||||||
{ "tpope/vim-fugitive" },
|
|
||||||
|
|
||||||
-- Git worktree
|
|
||||||
{
|
{
|
||||||
"ThePrimeagen/git-worktree.nvim",
|
"NeogitOrg/neogit",
|
||||||
config = function()
|
dependencies = {
|
||||||
-- FIX: Open files do NOT get replaced with the changed branch
|
"nvim-lua/plenary.nvim",
|
||||||
require("telescope").load_extension("git_worktree")
|
"sindrets/diffview.nvim",
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
},
|
||||||
|
config = true,
|
||||||
|
keys = {
|
||||||
|
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Git: Open Neogit", mode = { "n" } },
|
||||||
|
{ "<leader>gL", "<cmd>Neogit log<cr>", desc = "Git: Open Neogit Log", mode = { "n" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>gw", "<cmd> lua require('telescope').extensions.git_worktree.git_worktrees()<CR>")
|
-- Git Diffview
|
||||||
end,
|
{
|
||||||
|
"sindrets/diffview.nvim",
|
||||||
|
keys = {
|
||||||
|
|
||||||
|
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview", mode = { "n" } },
|
||||||
|
{ "<leader>gD", "<cmd>DiffviewOpen<cr>", desc = "Git: Open Diffview against master", mode = { "n" } },
|
||||||
|
{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "Git: Show file history", mode = { "n" } },
|
||||||
|
},
|
||||||
|
-- TODO:
|
||||||
|
-- Toggle Diffview keymap
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Adds git related signs to the gutter, as well as utilities for managing changes
|
-- Adds git related signs to the gutter, as well as utilities for managing changes
|
||||||
@@ -77,18 +91,29 @@ return {
|
|||||||
|
|
||||||
-- normal mode
|
-- normal mode
|
||||||
map("n", "<leader>gp", gs.preview_hunk, { desc = "Git: Preview hunk" })
|
map("n", "<leader>gp", gs.preview_hunk, { desc = "Git: Preview hunk" })
|
||||||
map("n", "<leader>gD", gs.diffthis, { desc = "Git: diff against index" })
|
-- map("n", "<leader>gD", gs.diffthis, { desc = "Git: diff against index" })
|
||||||
map("n", "<leader>gd", function()
|
-- map("n", "<leader>gd", function()
|
||||||
gs.diffthis("~")
|
-- gs.diffthis("~")
|
||||||
end, { desc = "Git: diff against last commit" })
|
-- end, { desc = "Git: diff against last commit" })
|
||||||
|
|
||||||
-- Toggles
|
-- Toggles
|
||||||
map("n", "<leader>gtb", gs.toggle_current_line_blame, { desc = "Git: toggle blame line" })
|
map("n", "<leader>gtb", gs.toggle_current_line_blame, { desc = "Git: toggle blame line" })
|
||||||
map("n", "<leader>gtd", gs.toggle_deleted, { desc = "Git: toggle show deleted" })
|
map("n", "<leader>gtd", gs.toggle_deleted, { desc = "Git: toggle show deleted" })
|
||||||
|
|
||||||
-- Text object
|
-- Text object
|
||||||
map({ "o", "x" }, "gih", ":<C-U>Gitsigns select_hunk<CR>", { desc = "Git: Visual select hunk" })
|
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", { desc = "Git: Visual select hunk" })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
-- Git worktree
|
||||||
|
{
|
||||||
|
"ThePrimeagen/git-worktree.nvim",
|
||||||
|
config = function()
|
||||||
|
-- FIX: Open files do NOT get replaced with the changed branch
|
||||||
|
require("telescope").load_extension("git_worktree")
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>gw", "<cmd> lua require('telescope').extensions.git_worktree.git_worktrees()<CR>")
|
||||||
|
end,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user