Git Graph plugin for neovim.
NOTE: this project is still very WIP and there is no help documentation aside from this README.md.
- 100% lua
- temporal topological order
- branches stick to their lane
- easy to follow branch crossings
- easy to spot merge commits and branch children
- compatible with sindrets.diffview
- easily configurable date formats
- easily configurable highlight groups
Note that this is still very early days and things may rapidly change in the beginning
{
'isakbm/gitgraph.nvim',
dependencies = { 'sindrets/diffview.nvim' },
---@type I.GGConfig
opts = {
symbols = {
merge_commit = 'M',
commit = '*',
},
format = {
timestamp = '%H:%M:%S %d-%m-%Y',
fields = { 'hash', 'timestamp', 'author', 'branch_name', 'tag' },
},
},
init = function()
vim.keymap.set('n', '<leader>gl', function()
require('gitgraph').draw({}, { all = true, max_count = 5000 })
end, { desc = 'new git graph' })
end,
},
When in the git graph buffer you can open diffview on the commit under the cursor with Enter
.
... moreke ymaps to come ...
- 'GitGraphHash'
- 'GitGraphTimestamp'
- 'GitGraphAuthor'
- 'GitGraphBranchName'
- 'GitGraphBranchTag'
- 'GitGraphBranchMsg'
- 'GitGraphBranch1'
- 'GitGraphBranch2'
- 'GitGraphBranch3'
- 'GitGraphBranch4'
- 'GitGraphBranch5'