Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

CLIツールの色指定。役割・用途・具体例のまとめ

f:id:tbpg:20170131232431p:plain

CLIツールの色指定について、その役割・典型的な用途・具体的なプロダクトでの利用例をまとめました。

色の役割

コントラスト

色のコントラストによって意識的に一部の情報を目立たせることができる。

意味の識別

対象の意味によって色分けをする。

例えばエラーとワーニング。
例えばキーと値。

CLIにおける色の用途の代表例

Color Mean
Green 成功
Yellow 警告
Red エラー

具体例

Ruby の静的解析ツール「 RuboCop 」の例をみてみます。
RuboCopでは出力フォーマットを指定できます。
ここでは、「SimpleTextFormatter」の例をみてみましょう。

Color Mean
Yellow refactor
Yellow convention
Red warning
Red error
Red fatal
COLOR_FOR_SEVERITY = {
  refactor:   :yellow,
  convention: :yellow,
  warning:    :magenta,
  error:      :red,
  fatal:      :red
}.freeze

rubocop/lib/rubocop/formatter/simple_text_formatter.rb L15-21 - bbatsov/rubocop

試行

以下のファイルに rubocop を使用しました

  • 1回目実行時
def hoge(a)
  puts "hoge"
end

hoge("hige")
  • 2回目実行時
def hoge(a)
  puts "hoge"
end

hoge("hige")
def

f:id:tbpg:20170131232453p:plain

関連資料