A powerful little TUI framework 🏗
Go to file
Christian Muehlhaeuser d26cfb6b38
Make golint happy
2020-08-22 12:34:03 +02:00
.github/workflows Add Go 1.14 to CI 2020-07-29 17:12:10 -04:00
examples go mod tidy 2020-08-22 12:33:48 +02:00
tutorials go mod tidy 2020-08-22 12:33:48 +02:00
.gitignore Ignore .envrc 2020-04-22 09:53:18 -04:00
LICENSE Add MIT license 2020-01-24 15:07:54 -05:00
README.md Another tiny update to header image in README 2020-08-03 13:27:56 -04:00
commands.go Improve examples in docs 2020-07-30 11:30:33 -04:00
go.mod Bump Termenv to 0.7.0 2020-08-19 14:11:02 -04:00
go.sum Bump Termenv to 0.7.0 2020-08-19 14:11:02 -04:00
key.go Make golint happy 2020-08-22 12:34:03 +02:00
logging.go Improve GoDocs 2020-07-29 20:50:00 -04:00
mouse.go Some comments on mouse stuff 2020-07-13 11:26:57 -04:00
renderer.go Make golint happy 2020-08-22 12:34:03 +02:00
screen.go Remove cursor save/restore as it was wrecking things 2020-06-18 20:10:20 -04:00
signals_unix.go Use a buffered channel for OS signals 2020-08-19 23:59:12 +02:00
signals_windows.go Disable resize listening on windows since it's not supported 2020-06-17 12:27:16 -04:00
tea.go Fix typo 2020-08-19 23:54:42 +02:00
tty_unix.go Rename to Bubble Tea (with the import name tea) 2020-05-25 19:48:36 -04:00
tty_windows.go Rename to Bubble Tea (with the import name tea) 2020-05-25 19:48:36 -04:00

README.md

Bubble Tea

Bubble Tea Title Treatment
GoDoc Build Status

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

MIT


A Charm project.

the Charm logo

Charm热爱开源!