[![ansi_term-badge]][ansi_term] [![cat-command-line-badge]][cat-command-line]
这个程序描述了[ansi_term
箱子]的用法,以及它是如何用于控制ANSI终端上的颜色和格式,例如,蓝色粗体文本或带黄色下划线的文本。
[ansi_term
]有两个主要的数据结构:ANSIString
和Style
。一个Style
保存风格信息:颜色,文本应该是粗体,还是闪烁,或者其他什么的。还有Colour
变体代表简单的前景色样式。一个ANSIString
是与一个Style
配对的字符串。
**注意:**英国英语,要使用Colour代替Color,不要混淆
extern crate ansi_term;
use ansi_term::Colour;
fn main() {
println!("This is {} in color, {} in color and {} in color",
Colour::Red.paint("red"),
Colour::Blue.paint("blue"),
Colour::Green.paint("green"));
}
比普通前景色更改更复杂的事情,相关代码需要构造Style
结构。用Style::new()
创建结构,和要链接的属性。
extern crate ansi_term;
use ansi_term::Style;
fn main() {
println!("{} and this is not",
Style::new().bold().paint("This is Bold"));
}
Colour
实现了许多与Style
类似的函数,并且可以链式方法。
extern crate ansi_term;
use ansi_term::Colour;
use ansi_term::Style;
fn main(){
println!("{}, {} and {}",
Colour::Yellow.paint("This is colored"),
Style::new().bold().paint("this is bold"),
Colour::Yellow.bold().paint("this is bold and colored"));
}