summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-08-22 18:11:00 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-08-23 19:40:56 +0900
commit129663c4a8e1522a862a26b99e997854186bafac (patch)
treed7f0a2c952d6ad766cd0b9064929cba79b1d0444 /tool
parentde4a1ca792996a682dc2fcf83093dd002a731a5e (diff)
tool/lib/output.rb: Make `--color` option like GNU coreutils
Diffstat (limited to 'tool')
-rw-r--r--tool/lib/output.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/tool/lib/output.rb b/tool/lib/output.rb
index 25c6b47397..5c645daca6 100644
--- a/tool/lib/output.rb
+++ b/tool/lib/output.rb
@@ -10,12 +10,17 @@ class Output
@vpath = VPath.new
end
+ COLOR_WHEN = {
+ 'always' => true, 'auto' => nil, 'never' => false,
+ nil => true, false => false,
+ }
+
def def_options(opt)
opt.separator(" Output common options:")
opt.on('-o', '--output=PATH') {|v| @path = v}
opt.on('-t', '--timestamp[=PATH]') {|v| @timestamp = v || true}
opt.on('-c', '--[no-]if-change') {|v| @ifchange = v}
- opt.on('--[no-]color') {|v| @color = v}
+ opt.on('--[no-]color=[WHEN]', COLOR_WHEN.keys) {|v| @color = COLOR_WHEN[v]}
opt.on('--[no-]create-only') {|v| @create_only = v}
opt.on('--[no-]overwrite') {|v| @overwrite = v}
@vpath.def_options(opt)