Tweet
I can't just keep polishing and adding little features to my diff view forever, so today, I had to put my foot down and continue.
This is the basic structure for what Gitonium's Commit view will look like.
#buildinpublic
Continuing to iterate on Gitonium's diff view. I have added a lot more color. It was nice to get the code syntax highlighted. I'm using Highlightr, and it's working quite well! (thanks, @RaspuM ❀️)
I will color the full changed lines next...
github.com/raspu/Highligh… #buildinpublic
I finally figured out diffing!πŸ’ͺ This was way more complicated than it looks. My diff view is butt ugly! Though at least functionally... uh, functional.😬

Next up: Finish line numbering, add syntax highlighting, and generally make it look more pleasing.
#buildinpublic #swiftui
I've now replaced SwiftGit2 with Objective-Git, and it all works just like it did before. It didn't take very long, actually. I fell into the trap of renaming all my models for name cleanliness, but I think it was worth it.
#buildinpublic
So just like SwiftGit2, Objective-Git does not support M1 either. And just like SwiftGit2, it hasn't been updated in a year. Come on, what's with these Git libraries? They all seem like abandoned projects?

#buildinpublic
Let's try the path of least resistance, to begin with.
Next library: Objective-Git! It's been around a little longer than SwiftGit.

The first thing to verify: does it support patches and hunks?
-Check! βœ…

#buildinpublic
What should I do now? Give up? Find another Git library, or extend SwiftGit2 myself? πŸ€” The twists and turns of app development...
#buildinpublic
Good progress on Gitonium in the last couple of days! πŸ’ͺ It's getting closer and closer to something I can actually use. I'm having so much fun with this! ❀️🀠
#buildinpublic #SwiftUI
Did you know that Swift has a person name formatter?
I didn't! It works just like a date formatter.
It can, for example, turn a name like "Dr. John Albert Appleseed Jr" into the initials "JA". I love learning new stuff like this! ❀️
#buildinpublic
Forging on with Gitonium! I wrote a branch reducer, and the UI now shows actual Git branches.πŸŽ‰ (The rest is dummy data, though πŸ˜…)
Complete unit test coverage, too, thanks to TCA! πŸ§ͺ
#buildinpublic #SwiftUI
Here's how I made the menu. πŸ’ͺ
#buildinpublic
Sandboxing working well enough for now! πŸ”“πŸ“‚ NSOpenPanel is straightforward and does what it says on the tin. It's a bit laborious to re-load the read permissions on every app launch, but it works. πŸ€·β€β™‚οΈ
Now, can I make an "Open Recent" sub-menu somehow...
#buildinpublic