-
-
Notifications
You must be signed in to change notification settings - Fork 679
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.goAny colored text produced by the ls command will be displayed in the same color in tview.