# README
term

term 包含了终端控制相关的包:ansi 和 colors 和 prompt。
- ansi 定义了 ansi 转码;
- colors 定义了控制台的彩色字符串输出功能;
- prompt 定义了控制台的交互接口;
// 向 stderr 终端输出蓝底红字的字符串:"colors"
colors.Print(colors.Normal, colors.Stdout, colors.Red, colors.Blue, "colors")
// 输出蓝底红字的字符串
c := colors.New(colors.Normal, colors.Stdout, colors.Red, colors.Blue)
c.Println("colors")
// 仅输出普通文本,颜色信息会被过滤
file := os.Create("path/file")
colors.Fprint(file, colors.Normal, colors.Red, colors.Blue, "colors")
安装
go get github.com/issue9/term/v2
兼容性
colors 兼容 windows 控制台、mingw 和其它所有支持 ansi 控制符的软件
iterm2
windows-terminal
版权
# Packages
Package ansi 输出 ansi 控制码
windows 系统默认情况下不支持 ansi 控制码。 若仅仅是需要输出彩色字符到控制台,请使用 term/colors 包。
fmt.Printf("%v这是红色的字", term.FRed) fmt.Printf("%v这是红色字,绿色背景", term.SGR(term.SGRFRed,term.SGRBGreen)) fmt.Printf("%v%v这是红色字,绿色背景", term.FRed,term.BGreen)
// 包装一个stderr。 w := term.NewWriter(os.Stderr) w.Left(5) w.SGR(term.SGRFRed) w.Printf("%s", "string") w.Move(1,1)
ansi 的相关文档,可参考以下内容: https://en.wikipedia.org/wiki/ANSI_escape_code https://zh.wikipedia.org/wiki/ANSI%E8%BD%AC%E4%B9%89%E5%BA%8F%E5%88%97.
Package colors 带色彩的控制台文本输出包
兼容 windows 平台。 // 输出段蓝底红字:foreground:Red;background:Blue colors.Printf(colors.Red, colors.Blue, "foreground:%v;background:%v", colors.Red, colors.Blue)
// 功能同上,但是可以重复调用 Print* 系列函数输出内容。 c := colors.New(colors.Red, colors.Yellow) c.Print("foreground:%v;background:%v") c.Print(colors.Red, colors.Blue).
Package prompt 简单的终端交互界面.