forked from Mirrors/bubbletea
82e641ef63 | ||
---|---|---|
.github/workflows | ||
examples | ||
tutorials | ||
.gitignore | ||
LICENSE | ||
README.md | ||
commands.go | ||
go.mod | ||
go.sum | ||
key.go | ||
logging.go | ||
mouse.go | ||
renderer.go | ||
screen.go | ||
signals_unix.go | ||
signals_windows.go | ||
tea.go | ||
tty_unix.go | ||
tty_windows.go |
README.md
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 paradigms of The Elm Architecture by Evan Czaplicki et alia and the excellent go-tea by TJ Holowaychuk.
License
A Charm project.
Charm热爱开源!