Skip to content

nanohard/tui-go

 
 

Repository files navigation

tui: Terminal UI for Go

Build Status GoDoc Go Report Card License MIT stability-experimental

A UI library for terminal applications.

tui (pronounced tooey) provides a higher-level programming model for building rich terminal applications. It lets you build layout-based user interfaces that (should) gracefully handle resizing for you.

Screenshot

Status

This project is highly experimental and will change a lot. Use at your own risk.

Installation

go get github.com/marcusolsson/tui-go

Usage

package main

import "github.com/marcusolsson/tui-go"

func main() {
	box := tui.NewVBox(
		tui.NewLabel("tui-go"),
	)

	ui := tui.New(box)
	ui.SetKeybinding("Esc", func() { ui.Quit() })

	if err := ui.Run(); err != nil {
		panic(err)
	}
}

If you want to know what it is like to build terminal applications with tui-go, check out some of the examples.

Documentation

The documentation is rather bare at the moment due to the API changing pretty frequently. You can however explore the API in its current form at godoc.org.

For now, the best way to learn tui-go is to study and learn from the examples.

Contributing

If you're using tui-go for your application, please let me know what works well for you, and especially what doesn't (bug reports are greatly appreciated!).

Pull requests are very much welcome! Check out the current issues to find out how you can help. If you do find anything interesting, please assign yourself to that issue so that others know you're working on it. If you want to contribute a feature not currently not listed, please create a new issue with a description of what you want to do.

Please post any feature requests you might have. Smaller requests might end up being implemented rather quickly and larger ones will be considered for the road map.

Contributors

Related projects

tui-go is mainly influenced by Qt and offers a similar programming model that has been adapted to Go and the terminal.

For an overview of the alternatives for writing terminal user interfaces, check out this article by AppliedGo.

License

tui-go is released under the MIT License.

About

A UI library for terminal applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Go 100.0%