Comment by zahlman
1 month ago
Does the Go standard library have unusually good TUI support or something? Am I just imagining the pattern of new TUIs being written in Go?
1 month ago
Does the Go standard library have unusually good TUI support or something? Am I just imagining the pattern of new TUIs being written in Go?
It compiles fast, starts up fast, and doesn't have a ton of hoops to jump through (ie borrower/checker in rust).
No, it really doesn't have anything TUI focused in stdlib. I get the reason why but it would be cool if they had something foundational in golang.org/x/
This project appears to be using github.com/rivo/tview which is is really solid.
The standard library doesn't have much for this, but Bubble Tea https://github.com/charmbracelet/bubbletea is behind many of the better Go TUIs. This one is using https://github.com/rivo/tview.
Bubbletea has the unfortunate side effect of enforcing style/architecture on a project
Much like cobra (or was it viper) did for CLI switches
This is cool if that's what you like, but if you have your own thinking on layout/architecture then you're in for a world of pain.
I use rivo/tview in my projects, and like it, but it's not without its "quirks"
The charmbracelet folk are quite, um, charming, but when I tried to work with bubble tea on a multi pane project I found it unwieldy -- tview seemed much more straightforward.
Bubbletea can spell Go, an encouraging indicator vs tview.