ANSI 终端

ANSI终端

ansi_term-badge cat-command-line-badge

这个程序描述了[ansi_term箱子]的用法,以及它是如何用于控制ANSI终端上的颜色和格式,例如,蓝色粗体文本或带黄色下划线的文本。

[ansi_term]有两个主要的数据结构:ANSIStringStyle。一个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"));
}