Clean up raw terminal output by stripping escape sequences, optionally preserving color.
Get it: go get github.com/lunixbochs/vtclean/vtclean
API:
import "github.com/lunixbochs/vtclean" vtclean.Clean(line string, color bool) string
Command line example:
$ echo -e '\x1b[1;32mcolor example color forced to stop at end of line backspace is ba\b\bgood no beeps!\x07\x07' | ./vtclean -color color example color forced to stop at end of line backspace is good no beeps!
Go example:
package main
import (
"fmt"
"github.com/lunixbochs/vtclean"
)
func main() {
line := vtclean.Clean(
"\033[1;32mcolor, " +
"curs\033[Aor, " +
"backspace\b\b\b\b\b\b\b\b\b\b\b\033[K", false)
fmt.Println(line)
}
Output:
color, cursor