the ahead and behind wasnt working in the branch view, also pulling didnt work so the entire feature was broken, this is now fixed and works as expected atleast for the small test case i gave it
the view pane was working good and scrolling was fine, but it was impossible to know which line you were on because there was no cursor. this is now added, scrolling with j k ctrl d and ctrl u now works just like in vim (I LOVE VIM) this is just a change for satisfaction for now but will come in handy in the future when i make line by line and hunk staging and commitng. as comitting is onlyy possible file by file right now
had a problem where the commit info was cluttered together with only 1 new line between eachother making it hard to read, fixed this with some propper formatting and now things are actually readable
ever messed up a feature and its not working, and you just dont want to work on that shit anymore, well thats how i use stash. all the changes into the stash so that i can fix it in the future (will never get worked on in the future)
when renaming a commit the program was unable to Push because the local branch had diverged from the remote branch. now there is a divergance handler that asks you if you want to force push anyway, which is very nice!
this change is aiming to fix the files still appearing in unstaged files even though it was just comitted. also the Pushing command would say synced! when done, this was just a filler from the fetching feature. this now has a Pushed! status, the same has been added to pulling
this is a change that makes it able to have this view open without having any changes in the code. also makes it able to go into the commits pane and hit p to pull that commit
- Add ncurses-based interactive git diff viewer (gg dd command)
- Create three-pane layout: file list, commit history, and diff
content
- Implement file staging system with space/A keys for marking files
- Add commit workflow with C key and title input dialog
- Add push functionality with P key for individual commits
- Create dynamic status bar with context-sensitive keybindings
- Implement character-by-character text animations for status messages
- Add auto-sync functionality to refresh files/commits every 30
seconds
- Add spinning progress indicators for fetch/push operations
- Fix cursor flickering and improve window layout spacing
- Support number key navigation (1=files, 2=view, 3=commits)
- Add proper window clearing to prevent content overlap issues
- Add comprehensive diff_viewer module with split-panel interface
- Replace simple `git diff` in `gg d` command with interactive viewer
- Implement two-mode navigation system:
* File list mode: navigate files with j/k, Enter to view
* Content mode: scroll diff content with j/k, ESC to return
- Support both tracked and untracked file diffs with proper handling
- Add color-coded diff display (green additions, red deletions)
- Include terminal raw mode handling for responsive keyboard input
- Add test files for diff viewer functionality