mirror of
https://gitea.invidious.io/iv-org/shard-ameba.git
synced 2024-08-15 00:53:29 +00:00
Merge pull request #179 from crystal-ameba/feature/cli-show-all-rules
Add --rules switch to the CLI
This commit is contained in:
commit
9d85e731f5
2 changed files with 28 additions and 2 deletions
|
@ -42,6 +42,16 @@ module Ameba::Cli
|
|||
c.except.should eq %w(RULE1 RULE2)
|
||||
end
|
||||
|
||||
it "defaults rules? flag to false" do
|
||||
c = Cli.parse_args %w(file.cr)
|
||||
c.rules?.should eq false
|
||||
end
|
||||
|
||||
it "accepts --rules flag" do
|
||||
c = Cli.parse_args %w(--rules)
|
||||
c.rules?.should eq true
|
||||
end
|
||||
|
||||
it "defaults all? flag to false" do
|
||||
c = Cli.parse_args %w(file.cr)
|
||||
c.all?.should eq false
|
||||
|
|
|
@ -14,6 +14,10 @@ module Ameba::Cli
|
|||
configure_formatter(config, opts)
|
||||
configure_rules(config, opts)
|
||||
|
||||
if opts.rules?
|
||||
print_rules(config)
|
||||
end
|
||||
|
||||
runner = Ameba.run(config)
|
||||
|
||||
if location = opts.location_to_explain
|
||||
|
@ -34,6 +38,7 @@ module Ameba::Cli
|
|||
property except : Array(String)?
|
||||
property location_to_explain : NamedTuple(file: String, line: Int32, column: Int32)?
|
||||
property fail_level : Severity?
|
||||
property? rules = false
|
||||
property? all = false
|
||||
property? colors = true
|
||||
property? without_affected_code = false
|
||||
|
@ -44,7 +49,8 @@ module Ameba::Cli
|
|||
parser.banner = "Usage: ameba [options] [file1 file2 ...]"
|
||||
|
||||
parser.on("-v", "--version", "Print version") { print_version }
|
||||
parser.on("-h", "--help", "Show this help") { show_help parser }
|
||||
parser.on("-h", "--help", "Show this help") { print_help(parser) }
|
||||
parser.on("-r", "--rules", "Show all available rules") { opts.rules = true }
|
||||
parser.on("-s", "--silent", "Disable output") { opts.formatter = :silent }
|
||||
parser.unknown_args do |f|
|
||||
if f.size == 1 && f.first =~ /.+:\d+:\d+/
|
||||
|
@ -145,8 +151,18 @@ module Ameba::Cli
|
|||
exit 0
|
||||
end
|
||||
|
||||
private def show_help(parser)
|
||||
private def print_help(parser)
|
||||
puts parser
|
||||
exit 0
|
||||
end
|
||||
|
||||
private def print_rules(config)
|
||||
config.rules.each do |rule|
|
||||
puts \
|
||||
"#{rule.name.colorize(:white)} " \
|
||||
"[#{rule.severity.symbol.to_s.colorize(:green)}] - " \
|
||||
"#{rule.description.colorize(:dark_gray)}"
|
||||
end
|
||||
exit 0
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue