-
-
Notifications
You must be signed in to change notification settings - Fork 574
ANSI
rivo edited this page Jul 27, 2018
·
1 revision
tview
provides the functions ANSIWriter()
and TranslateANSI()
which translate common ANSI escape sequences into color tags used by tview
. This can be useful when you want to display colorized output from other programs in tview
.
Here is an example that displays output from stdin
:
package main
import (
"io"
"os"
"github.com/rivo/tview"
)
func main() {
app := tview.NewApplication()
textView := tview.NewTextView().
SetDynamicColors(true).
SetChangedFunc(func() {
app.Draw()
})
textView.SetBorder(true).SetTitle("Stdin")
go func() {
w := tview.ANSIWriter(textView)
if _, err := io.Copy(w, os.Stdin); err != nil {
panic(err)
}
}()
if err := app.SetRoot(textView, true).Run(); err != nil {
panic(err)
}
}
When you run this program, you must pipe text into it. To illustrate the handling of ANSI escape sequences, you could do the following on Linux:
ls -l --color=always | go run main.go
Any colored text produced by the ls
command will be displayed in the same color in tview
.