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?

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.