Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ANSI ターミナル

ANSI ターミナル

ansi_term-badge cat-command-line-badge

このプログラムは、ansi_term クレートの使用方法と、ANSI ターミナル上で青の太字テキストや黄色の下線付きテキストのような色や書式を制御するためにそれがどのように使われるかを示します。

ansi_term には 2 つの主要なデータ構造があります: ANSIStringStyle です。Style は、色、テキストを太字にするか、点滅させるか、といったスタイル情報を保持します。さらに、単純な前景色のスタイルを表す Colour バリアントもあります。ANSIStringStyle と組みになった文字列です。

注: イギリス英語では Color ではなく Colour を使うので、混同しないでください

ターミナルに色付きテキストを出力する

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() はこの構造体を作成し、 プロパティをチェーンして指定できます。

use ansi_term::Style;

fn main() {
    println!("{} and this is not",
             Style::new().bold().paint("This is Bold"));
}

ターミナルで太字かつ色付きのテキスト

ColourStyle と同様の関数を多数実装しており、メソッドをチェーンできます。

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"));
}