
ansies 文本样式大全15种ANSI样式打造惊艳终端效果【免费下载链接】ansies4cjANSI转义序列生成以及基于ANSI转义序列的输出文本颜色和样式、光标操作、屏幕擦除等控制。项目地址: https://gitcode.com/Cangjie-SIG/ansies4cj终端文字只能黑白其实不是。ansies是一个基于 ECMA-48 / ISO 6429 标准的仓颉语言库专门生成 ANSI 转义序列内置15 种文本样式——粗体、斜体、下划线、双下划线、删除线、闪烁、反转等配合颜色即可让命令行输出焕然一新。本文带你快速认识这 15 种 ANSI 样式、终端兼容性差异以及如何用几行代码组合出惊艳效果。 15种ANSI样式速查表所有样式都定义在AnsiStyle枚举中源码位于 src/core/ansi_style.cj。每个样式对应一个 SGR选择性图形渲染参数码样式SGR 码效果描述终端支持BOLD1粗体文字更醒目✅ 全平台DIM2弱化显示降低亮度✅ 全平台ITALIC3斜体✅ 全平台UNDERLINE4单下划线✅ 全平台BLINK5闪烁适合警告提示✅ 全平台REVERSE7前景/背景色反转✅ 全平台CONCEAL8隐藏文字占位不可见✅ 全平台STRIKETHROUGH9删除线✅ 全平台DOUBLEUNDERLINE21双下划线kitty / iTerm2 / footFRAMED51文字加边框有限支持ENCIRCLED52文字加圈有限支持OVERLINE53上划线kitty / iTerm2 / footSUPERSCRIPT73上标如 x²有限支持SUBSCRIPT74下标如 H₂O有限支持DELETEDLINE—已废弃请用STRIKETHROUGH替代— 小技巧基础 9 种样式几乎所有终端都能显示扩展样式双下划线、上划线等在 kitty、iTerm2、foot 等现代终端上效果最好。⚡ 三步上手设置、组合、重置ansies 把写转义序列这件麻烦事封装成了语义化 API核心就三个函数定义在 src/api/style.cj函数作用Style.set(style)开启某种样式Style.reset(style)关闭该样式SGR([...])一次性组合多个 SGR 参数完整示例见 examples/demo/src/main.cj其中演示程序会依次展示每种样式// 单个样式设置 文本 重置 env.getStdOut().write(Style.set(AnsiStyle.BOLD) Bold Style.reset(AnsiStyle.BOLD)) // 组合样式粗体 红字 蓝底一条搞定 env.getStdOut().write(SGR([1, 31, 44]) 粗体红字蓝底 SGR([0])) 进阶用 StyledText 打造多段样式文本一段输出里既要红色粗体、又要蓝色斜体用StyledText链式 API 即可源码在 src/utils/styled_text.cjlet st StyledText( 红色粗体 ) .color(white, red).bold() .then( 蓝色斜体 ) .color(white, blue).italic() .then( 默认 ) env.getStdOut().write(st.toString())每个段落独立管理颜色与样式调用.then()分段最后toString()自动追加重置序列无需担心样式污染后续输出。 样式聚合TextStyle 位域编码需要把样式传给其他函数、存入变量或做序列化TextStyle用64 位位域统一管理前景色、背景色和全部 15 种样式支持toInteger()/fromInteger()无损往返详见 src/api/text_style.cjlet ts TextStyle(fg: Some(AnsiColor.Red), bg: Some(AnsiColor.White), styles: [AnsiStyle.BOLD, AnsiStyle.ITALIC]) println(ts.toEscapedString()) // → \033[31;47;3;1m 常见问题样式不生效怎么办扩展样式无效FRAMED、ENCIRCLED、SUPERSCRIPT、SUBSCRIPT终端支持有限属于正常现象闪烁看不到部分终端默认关闭BLINK属预期行为样式串到后面记得用SGR(0)全部重置或使用StyledText自动收尾 快速体验全部效果仓库自带一个覆盖全部功能的演示项目一条命令跑起来cd examples/demo cjpm run更多 API 细节可查阅 doc/feature_api.md 与 doc/design.md。小结场景推荐用法高亮警告信息BOLDBLINK 高亮色表格/重点标注UNDERLINE/DOUBLEUNDERLINE删除内容展示STRIKETHROUGH多段富文本StyledText链式 API样式传递/序列化TextStyle位域编码掌握这 15 种 ANSI 样式你的终端输出就能从素面朝天变身颜值担当。动手试试吧【免费下载链接】ansies4cjANSI转义序列生成以及基于ANSI转义序列的输出文本颜色和样式、光标操作、屏幕擦除等控制。项目地址: https://gitcode.com/Cangjie-SIG/ansies4cj创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考