dagit
- 5 Devlogs
- 13 Total hours
Visualize your Git repository in your terminal!
Visualize your Git repository in your terminal!
yoo once again!
I’ve worked on the features I’ve been delaying and let’s see the progress
I first worked on the idea i got yesterday A status panel to see staged/modified files
Then I tried to work on scrollbars in the git log and the visualizer but I failed to do so I just scrapped it completely and reset the repo to the after status panel state
After scrapping that, I worked on the tick rate selection Intervals of time at which we update the data displayed in the TUI
The status panel idea had come when I was surfing git hub and was just looking at lazygit (A far better project than dagit btw). I saw the same panel there and thought of adding it here because it would make more sense, although dagit is different from lazygit (dagit is only trying to visualze git not become a workflow)
The scrollbars were out of my league I already knew that but still gave a try. I dont think I would be giving up on the idea. I’ll just watch some tutorials on bubbletea and scrollbars specifically before working on it again
At first, I thought I would make the tick rate selector a separate panel where we would just scroll through different intervals of time, but as I consider myself lazy I just thought of adding it in such a way that instead of scrolling we change the tick rate with the press of buttons. Although the max tickrate is already small(10sec) I recommend using 1sec on small projects
Yoo!
I’ve made soo many updates and the resizing /clipping issues are still eating my brain like bugs

Decreased the sizes of reference being displayed also truncated lines in the gitlog so that the vertical clipping stops
I completely styled the UI using lipgloss and it looks soo much better now

Added highlighting to the head of the repo that pops a little more
Refactored the old way of refreshing the data
Refactored the code to increase readability
The git logs were looking odd because when the commit messages were long , the log that should only take the space of one line was now also taking space in the second line. So we fixed it using truncateMessages() function
As we are pushig to multiple tags . The reference also gets long and causes a clipping issue again. So we again simply dosent let the refs be that long[But the current implementation can cause the line to break suddenly that may not look good all the time]-
// Stop 'refs' being too long
if lipgloss.Width(refs) > 30 {
refs = refs[:27] + "..."
}
dagit is a live visualizer, I removed the old way of refreshing the data[clicking [r] to refresh]. Now what we do is use tea.Tick and the time library to refresh the data every 1 second.
Yay!
we have got the release workflow up and running
what we do is make new binaries name dagit-linux-amd64.tar.gz and dagit-darwin-arm64.tar.gz
and push them to our releases page with the tag given while pushing to the repo
We also push to the AUR!!
. So all the I use arch btw people can download it easily 
yay -S dagit-bin
dagit
We’ve improved the TUI soo much!! 
gitlog working with hash, commit message and the contibutergit visualizer and fixed the horizontal and vertical border issue caused by big lines (reference mainly)git visualizer with charm’s lipgloss
footer and git log toodagit resize when the user makes the terminal window larger but idk why it doesnt work when the terminal window is shortenedr to reload the data in the TUI so that the user does not need to stop it and run again for it to update to latest infoI haven’t faced any big issue in particular but figuring out resizing is the only thing that eats my brain
I have spent the most time making the visualizer, lemme explain a little of it’s woking !!
git log graph from git and then we spread the graph by using SpreadGraph function in graph.go to make it look a little betterlipgloss [Man charm’s tool are soo cool and make CLI/TUI look soo good]. Although we don’t see all the 15 lines as we dont have a scroll feature for nowgit visualizergit log -Not sureWhen I was planning to make dagit, I felt it’ll be different and will attract people towards it but it’s not upto my expectation.
I thinking to adding some feature that will make more people use it
(BTW WHOEVER ADDED EMOJIS OPTION SHOULD BE PROMOTED
)
Hii,
I’m making a TUI application that beautifully visualizes your GitHub repo inside your terminal!!
Note -> This devlog is a compilation of 2 days of work that I’ll explain
I started working on dagit with first:
Today the fun began 
left panel/middle(visualizer)/ bottom(git log) along with the footer like nvim
I forgot about the resizing problem and idk anything about how I’m going to fix it like other TUI’s do so I’m donna leave it like tat for now