Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

derailed/tview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

456 Commits

Repository files navigation

Rich Interactive Widgets for Terminal UIs

Godoc Reference Go Report

This Go package provides commonly needed components for terminal based user interfaces.

Screenshot

Among these components are:

  • Input forms (include input/password fields, drop-down selections, checkboxes, and buttons)
  • Navigable multi-color text views
  • Sophisticated navigable table views
  • Flexible tree views
  • Selectable lists
  • Grid, Flexbox and page layouts
  • Modal message windows
  • An application wrapper

They come with lots of customization options and can be easily extended to fit your needs.

Installation

go get github.com/rivo/tview

Hello World

This basic example creates a box titled "Hello, World!" and displays it in your terminal:

package main
import (
	"github.com/rivo/tview"
)
func main() {
	box := tview.NewBox().SetBorder(true).SetTitle("Hello, world!")
	if err := tview.NewApplication().SetRoot(box, true).Run(); err != nil {
		panic(err)
	}
}

Check out the GitHub Wiki for more examples along with screenshots. Or try the examples in the "demos" subdirectory.

For a presentation highlighting this package, compile and run the program found in the "demos/presentation" subdirectory.

Documentation

Refer to https://godoc.org/github.com/rivo/tview for the package's documentation.

Dependencies

This package is based on github.com/gdamore/tcell (and its dependencies) as well as on github.com/rivo/uniseg.

Your Feedback

Add your issue here on GitHub. Feel free to get in touch if you have any questions.

Version History

(There are no corresponding tags in the project. I only keep such a history in this README.)

  • v0.20 (2019年07月08日)
    • Added autocomplete functionality to InputField.
  • v0.19 (2018年10月28日)
    • Added QueueUpdate() and QueueEvent() to Application to help with modifications to primitives from goroutines.
  • v0.18 (2018年10月18日)
    • InputField elements can now be navigated freely.
  • v0.17 (2018年06月20日)
    • Added TreeView.
  • v0.15 (2018年05月02日)
    • Flex and Grid don't clear their background per default, thus allowing for custom modals. See the Wiki for an example.
  • v0.14 (2018年04月13日)
    • Added an Escape() function which keep strings like color or region tags from being recognized as such.
    • Added ANSIWriter() and TranslateANSI() which convert ANSI escape sequences to tview color tags.
  • v0.13 (2018年04月01日)
    • Added background colors and text attributes to color tags.
  • v0.12 (2018年03月13日)
    • Added "suspended mode" to Application.
  • v0.11 (2018年03月02日)
    • Added a RemoveItem() function to Grid and Flex.
  • v0.10 (2018年02月22日)
    • Direct access to the screen object through callback in Box (i.e. for all primitives).
  • v0.9 (2018年02月20日)
    • Introduced Grid layout.
    • Direct access to the screen object through callbacks in Application.
  • v0.8 (2018年01月17日)
    • Color tags can now be used almost everywhere.
  • v0.7 (2018年01月16日)
    • Forms can now also have a horizontal layout.
  • v0.6 (2018年01月14日)
    • All primitives can now intercept all key events when they have focus.
    • Key events can also be intercepted globally (changed to a more general, consistent handling)
  • v0.5 (2018年01月13日)
    • TextView now has word wrapping and text alignment
  • v0.4 (2018年01月12日)
    • TextView now accepts color tags with any W3C color (including RGB hex values).
    • Support for wide unicode characters.
  • v0.3 (2018年01月11日)
    • Added masking to InputField and password entry to Form.
  • v0.2 (2018年01月10日)
    • Added Styles variable with default colors for primitives.
    • Completed some missing InputField functions.
  • v0.1 (2018年01月06日)
    • First Release.

About

Rich interactive widgets for terminal-based UIs written in Go

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%

AltStyle によって変換されたページ (->オリジナル) /