gh.fish, which I wrote about yesterday,
actually sprang from something I initially wrote for Emacs. I’m often
spending my time switching between Emacs and the command line (which is fast
and easy – I normally work on macOS and have Emacs and
iTerm2 running full screen, and I can switch
between them without ever taking my hands off the keyboard), so it makes
sense to have some handy commands repeated in both places.
So, originally, I’d written
gitweb.el to open the current repo’s
“forge” in the web browser.
As with the fish version, how it works is quite simple. I use
to call git and find the origin URL for the current repo, and then
manipulate it a bit to turn it into a normal browser-friendly URL. Finally,
if I get something workable, I use
to have the resulting page open in the browsing environment of choice.
I have the command bound to a key combination that’s similar to the ones I use with magit and forge, so in terms of muscle-memory it’s easy for me to remember what to press when I quickly want to skip over from a magit view to the repo forge itself.
Similar to what I wrote a couple of days back, I think this again illustrates how handy Emacs is as a work environment. While it’s absolutely true that there are other development environments out there that offer similar extensibility, Emacs is the one I’m comfortable with, and it has a long history of offering this.