ANSI 终端
ansi_term 包可以帮我们控制终端上的输出样式,例如使用颜色文字、控制输出格式等,当然,前提是在 ANSI 终端上。
ansi_term
中有两个主要数据结构:ANSIString 和 Style。
Style
用于控制样式:颜色、加粗、闪烁等,而前者是一个带有样式的字符串。
颜色字体
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
结构体:
use ansi_term::Style; fn main() { println!("{} and this is not", Style::new().bold().paint("This is Bold")); }
加粗和颜色
Colour
实现了很多跟 Style
类似的函数,因此可以实现链式调用。
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 也可以使用 bold 方法进行加粗 Colour::Yellow.bold().paint("this is bold and colored")); }