- Notifications
You must be signed in to change notification settings - Fork15
Git Graph plugin for neovim
License
NotificationsYou must be signed in to change notification settings
isakbm/gitgraph.nvim
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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 spot merge commits and branch children
- ✔️ hooks for easy extension withdiffview.nvim etc
- ✔️ easily configurable date formats
- ✔️ easily configurable highlight groups
- ✔️ performant scrolling
- ✔️ easy to follow branch crossings
- auto updating graph
- performant load times for large repos


Note that this is still very early days and things may rapidly change in the beginning
{'isakbm/gitgraph.nvim',opts= {git_cmd="git",symbols= {merge_commit='M',commit='*', },format= {timestamp='%H:%M:%S %d-%m-%Y',fields= {'hash','timestamp','author','branch_name','tag'}, },hooks= {on_select_commit=function(commit)print('selected commit:',commit.hash)end,on_select_range_commit=function(from,to)print('selected range:',from.hash,to.hash)end, }, },keys= { {"<leader>gl",function()require('gitgraph').draw({}, {all=true,max_count=5000 })end,desc="GitGraph - Draw", }, }, },View commit withDiffview.nvim
When in the git graph buffer you can openDiffview on the commit under the cursor withEnter.
When in visual mode you get theDiffview for the selected range.
{'isakbm/gitgraph.nvim',dependencies= {'sindrets/diffview.nvim'},---@typeI.GGConfigopts= {hooks= {-- Check diff of a commiton_select_commit=function(commit)vim.notify('DiffviewOpen'..commit.hash..'^!')vim.cmd(':DiffviewOpen'..commit.hash..'^!')end,-- Check diff from commit a -> commit bon_select_range_commit=function(from,to)vim.notify('DiffviewOpen'..from.hash..'~1..'..to.hash)vim.cmd(':DiffviewOpen'..from.hash..'~1..'..to.hash)end, }, }, },For example, usekitty branch symbolsmore detail
symbols= {merge_commit='',commit='',merge_commit_end='',commit_end='',-- Advanced symbolsGVER='',GHOR='',GCLD='',GCRD='╭',GCLU='',GCRU='',GLRU='',GLRD='',GLUD='',GRUD='',GFORKU='',GFORKD='',GRUDCD='',GRUDCU='',GLUDCD='',GLUDCU='',GLRDCL='',GLRDCR='',GLRUCL='',GLRUCR='', },
... more keymaps to come ...
- 'GitGraphHash'
- 'GitGraphTimestamp'
- 'GitGraphAuthor'
- 'GitGraphBranchName'
- 'GitGraphBranchTag'
- 'GitGraphBranchMsg'
- 'GitGraphBranch1'
- 'GitGraphBranch2'
- 'GitGraphBranch3'
- 'GitGraphBranch4'
- 'GitGraphBranch5'
About
Git Graph plugin for neovim
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Contributors5
Uh oh!
There was an error while loading.Please reload this page.