Categorygithub.com/issue9/term/v2
modulepackage
2.1.5
Repository: https://github.com/issue9/term.git
Documentation: pkg.go.dev

# README

term Go Go Report Card license codecov PkgGoDev

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 iterm2

windows-terminal windows-terminal

版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

# 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 简单的终端交互界面.