better Git integration with diffview

This commit is contained in:
Oliver Ladner 2024-05-14 14:45:27 +02:00
commit 9509babd9e
6 changed files with 33 additions and 12 deletions

View file

@ -4,9 +4,8 @@
vim.g.mapleader = " "
--vim.keymap.set("n", "<leader>r", vim.cmd.Ex, { noremap = true, desc = "netrw File Browser" }) -- netrw file explorer
--vim.keymap.set("n", "<leader>e", ":Oil<CR>", { desc = "File navigation" })
vim.keymap.set("n", "<leader>e", ":Oil --float<CR>", { desc = "Oil" })
--vim.keymap.set("n", "<leader>e", "<cmd>lua require('oil').toggle_float('.')<CR>", { noremap = true, silent = true })
vim.keymap.set("n", "<leader>e", ":Oil --float<CR>", { desc = "Oil" })
-- List recently opened files
vim.keymap.set("n", "<leader>fo", ":Telescope oldfiles<CR>", { noremap = true, desc = "File history" })
@ -27,7 +26,7 @@ vim.keymap.set(
vim.keymap.set("n", "<leader><leader>", ":Telescope buffers<CR>", { noremap = true, desc = "Show open buffers" })
-- todo-comments.nvim
vim.keymap.set("n", "<leader>ft", ":TodoTelescope<CR>", { noremap = true, desc = "Find TODOs" })
vim.keymap.set("n", "<leader>gs", ":Telescope git_status<CR>", { noremap = true, desc = "Git status" })
--vim.keymap.set("n", "<leader>gs", ":Telescope git_status<CR>", { noremap = true, desc = "Git status" })
vim.keymap.set(
"n",
"<leader>gla",
@ -35,7 +34,22 @@ vim.keymap.set(
{ noremap = true, desc = "Git log (across all files)" }
)
vim.keymap.set("n", "<leader>glf", ":Telescope git_bcommits<CR>", { noremap = true, desc = "Git log (this file)" })
vim.keymap.set("n", "<leader>gdp", ":Gitsigns diffthis<CR>", { noremap = true, desc = "Git diff previous (this file)" })
--vim.keymap.set("n", "<leader>gdp", ":Gitsigns diffthis<CR>", { noremap = true, desc = "Git diff previous (this file)" })
--vim.keymap.set("n", "<leader>gd", ":Gitsigns diffthis<CR>", { noremap = true, desc = "Git diff previous (this file)" })
vim.keymap.set("n", "<leader>gd", function()
if next(require("diffview.lib").views) == nil then
vim.cmd("DiffviewOpen")
else
vim.cmd("DiffviewClose")
end
--end, { noremap = true, desc = "Diff this shit" })
end, { noremap = true, desc = "Toggle diff/stage UI " })
vim.keymap.set(
"n",
"<leader>gb",
":Gitsigns toggle_current_line_blame<CR>",
{ noremap = true, desc = "Toggle git blame" }
)
-- Remapping of existing Vim key binds
vim.keymap.set("n", "w", "W") -- skip punctuation when moving to start of next word