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

@ -5,6 +5,7 @@
"conform.nvim": { "branch": "master", "commit": "3d59cbd01a4b74124c5a6fb23b8cc63e5c2db3d5" },
"copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" },
"copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" },
"diffview.nvim": { "branch": "main", "commit": "3dc498c9777fe79156f3d32dddd483b8b3dbd95f" },
"gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" },
"kanagawa.nvim": { "branch": "master", "commit": "860e4f80df71221d18bf2cd9ef1deb4d364274d2" },
"lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },

View file

@ -0,0 +1,6 @@
return {
"sindrets/diffview.nvim",
tag = "main",
--event = "VeryLazy",
opts = {},
}

View file

@ -11,12 +11,12 @@ return {
changedelete = { text = "~" },
},
on_attach = function(bufnr)
vim.keymap.set(
"n",
"<leader>ggh",
require("gitsigns").preview_hunk,
{ buffer = bufnr, desc = "Preview git hunk" }
)
--vim.keymap.set(
-- "n",
-- "<leader>ggh",
-- require("gitsigns").preview_hunk,
-- { buffer = bufnr, desc = "Preview git hunk" }
--)
-- don't override the built-in and fugitive keymaps
local gs = package.loaded.gitsigns

View file

@ -56,7 +56,8 @@ return {
{ "searchcount" },
{
"buffers",
show_filename_only = false,
--show_filename_only = false,
show_filename_only = true,
--fmt = function(str)
-- return str:sub(1, 1)
--end,

View file

@ -27,7 +27,6 @@ return {
["<leader>f"] = { name = "find shit" },
["<leader>g"] = { name = "git" },
["<leader>gl"] = { name = "git log" },
["<leader>gd"] = { name = "git diff" },
["<leader>q"] = { name = "trouble this buffer" },
["<leader>Q"] = { name = "trouble all buffers" },
},

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