diff --git a/.config/nvim/lua/plugins/extras/editor/git/gitgraph.lua b/.config/nvim/lua/plugins/extras/editor/git/gitgraph.lua new file mode 100644 index 00000000..ab73461e --- /dev/null +++ b/.config/nvim/lua/plugins/extras/editor/git/gitgraph.lua @@ -0,0 +1,40 @@ +return { + "isakbm/gitgraph.nvim", + opts = { + symbols = { + merge_commit = "", + commit = "", + }, + format = { + timestamp = "%H:%M:%S %d-%m-%Y", + fields = { "hash", "timestamp", "author", "branch_name", "tag" }, + }, + hooks = { + on_select_commit = function(commit) + if LazyVim.has("diffview.nvim") then + vim.notify("DiffviewOpen " .. commit.hash .. "^!") + vim.cmd(":DiffviewOpen " .. commit.hash .. "^!") + else + print("selected commit:", commit.hash) + end + end, + on_select_range_commit = function(from, to) + if LazyVim.has("diffview.nvim") then + vim.notify("DiffviewOpen " .. from.hash .. "~1.." .. to.hash) + vim.cmd(":DiffviewOpen " .. from.hash .. "~1.." .. to.hash) + else + print("selected range:", from.hash, to.hash) + end + end, + }, + }, + keys = { + { + "gl", + function() + require("gitgraph").draw({}, { all = true, max_count = 5000 }) + end, + desc = "Graph", + }, + }, +}