概要
書籍 Build Awesome Command-Line Applications in Ruby2
章
Add Color Formatting and Interactivity
いつ色付きの出力を使うか
状態を表す
Cucumberは色を効果的に使ったCLI Toolの良い例です。
テストが失敗していれば、赤。
成功していれば緑で表示します。
これにより、テストの成否の状況が一目でわかります。
このように、何かしらのステータスを色で表すとユーザーにとってわかりやすいUIとなります。
ユーザーは詳細の出力内容を読む前に、色から全体的な結果を読み取ることができるのです。
一部を注目させたい場合
例えば検索結果の中でマッチした用語を色付きで表示して目立たせたい場合。
どうやって色を使うか
色付きの出力をするには ANSI escape sequences を利用します。
ほとんどのターミナルは ANSI escape sequences を利用した色表示に対応しています。
ただし、これらのコードを手動で記述するのは難しく面倒です。
そこで、 rainbow gem を利用します。
(他にも highline gemなどがあります)
rainbowを試してみる。
まずはインストール。
gem i rainbow
サンプル
require 'rainbow/ext/string' %w{black red green yellow blue magenta cyan white}.each do |color_name| color_name_sym = color_name.to_sym puts color_name.color(color_name_sym) puts "background is #{color_name}".background(color_name_sym) end puts "underline".underline.bright puts "bright".bright puts "inverse".inverse puts "hide".hide puts "italic".italic