From d60aea102f80bc9b8cfb938b7a549f626029a14c Mon Sep 17 00:00:00 2001 From: Vitalii Elenhaupt Date: Mon, 13 Aug 2018 00:04:39 +0300 Subject: [PATCH] Add --no-color cli flag closes #72 --- spec/ameba/cli/cmd_spec.cr | 10 ++++++++++ src/ameba/cli/cmd.cr | 7 ++++++- src/ameba/config.cr | 3 ++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/spec/ameba/cli/cmd_spec.cr b/spec/ameba/cli/cmd_spec.cr index 5e34cfbf..f4202697 100644 --- a/spec/ameba/cli/cmd_spec.cr +++ b/spec/ameba/cli/cmd_spec.cr @@ -57,6 +57,16 @@ module Ameba::Cli c.formatter.should eq :todo end + it "accepts --no-color flag" do + c = Cli.parse_args %w(--no-color) + c.colors?.should be_false + end + + it "doesn't disable colors by default" do + c = Cli.parse_args %w(--all) + c.colors?.should be_true + end + it "ignores --config if --gen-config flag passed" do c = Cli.parse_args %w(--gen-config --config my_config.yml) c.formatter.should eq :todo diff --git a/src/ameba/cli/cmd.cr b/src/ameba/cli/cmd.cr index 52ba8b7a..159e7926 100644 --- a/src/ameba/cli/cmd.cr +++ b/src/ameba/cli/cmd.cr @@ -7,7 +7,7 @@ module Ameba::Cli def run(args) opts = parse_args args - config = Config.load opts.config + config = Config.load opts.config, opts.colors? config.files = opts.files configure_formatter(config, opts) @@ -26,6 +26,7 @@ module Ameba::Cli property only : Array(String)? property except : Array(String)? property? all = false + property? colors = true end def parse_args(args, opts = Opts.new) @@ -66,6 +67,10 @@ module Ameba::Cli opts.formatter = :todo opts.config = "" end + + parser.on("--no-color", "Disable colors") do + opts.colors = false + end end opts diff --git a/src/ameba/config.cr b/src/ameba/config.cr index 0891b230..2f9a8504 100644 --- a/src/ameba/config.cr +++ b/src/ameba/config.cr @@ -46,7 +46,8 @@ class Ameba::Config # config = Ameba::Config.load # ``` # - def self.load(path = PATH) + def self.load(path = PATH, colors? = true) + Colorize.enabled = colors? content = File.exists?(path) ? File.read path : "" Config.new YAML.parse(content) rescue e