forked from Mirrors/bubbletea
2.5 KiB
2.5 KiB
Bubble Tea
The fun, functional and stateful way to build terminal apps. A Go framework based on The Elm Architecture.
Bubble Tea is well-suited for simple and complex terminal applications, either inline, full-window, or a mix of both. It's been battle-tested in several large projects and is production-ready.
It features a standard framerate-based renderer which is used by default as well as a renderer for high-performance scrollable regions, which works alongside the main renderer.
To get started, see the tutorials and examples.
Bubble Tea in the Wild
For some Bubble Tea programs in production, see:
- Glow: a markdown reader, browser and online markdown stash
- The Charm Tool: the Charm user account manager
Libraries we use with Bubble Tea
- Bubbles various Bubble Tea components we've built
- Termenv: Advanced ANSI styling for terminal applications
- Reflow: ANSI-aware methods for reflowing blocks of text
- go-runewidth: Get the physical width of strings in terms of terminal cells. Many runes, such as East Asian charcters and emojis, are two cells wide, so measuring a layout with
len()
often won't cut it!
Acknowledgments
Based on The Elm Architecture by Evan Czaplicki et alia and go-tea by TJ Holowaychuk.
License
A Charm project.
Charm热爱开源!