A static code analysis tool for Crystal
RuleConfig#properties
accept only Call
nodes by @Sija in https://github.com/crystal-ameba/ameba/pull/436
error
to the RescuedExceptionsVariableName#allowed_names
by @Sija in https://github.com/crystal-ameba/ameba/pull/438
Lint/SharedVarInFiber
rule account for loop { ... }
by @Sija in https://github.com/crystal-ameba/ameba/pull/439
Lint/UselessAssign
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/430
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.6.0...v1.6.1
Lucky Number Release (1+6+0 = 7
) 🍀
Documentation/DocumentationAdmonition
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/380
Lint/Typos
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/381
Lint/SpecFilename
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/420
Naming/Filename
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/416
Naming/AccessorMethodName
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/415
Naming/AsciiIdentifiers
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/414
Naming/RescuedExceptionsVariableName
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/418
Naming/BlockParameterName
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/419
Naming/BinaryOperatorParameterName
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/421
This brings total number of rules to 77
.
Lint/LiteralsComparison
by @Sija in https://github.com/crystal-ameba/ameba/pull/417
ShadowingOuterLocalVar
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/426
Performance/ExcessiveAllocations
to exclude each
calls without a block" by @Sija in https://github.com/crystal-ameba/ameba/pull/428
--rules
CLI switch output + add --describe <rule-name>
CLI switch by @Sija in https://github.com/crystal-ameba/ameba/pull/390
Naming/AsciiIdentifiers
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/424
Lint/NotNilAfterNoBang
report calls to #match
by @Sija in https://github.com/crystal-ameba/ameba/pull/423
README.md
by @Sija in https://github.com/crystal-ameba/ameba/pull/427
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.5.0...v1.6.0
Lint/NotNilAfterNoBang
report calls to #rindex
by @Sija in https://github.com/crystal-ameba/ameba/pull/323
SeverityYamlConverter.from_yaml
by @Sija in https://github.com/crystal-ameba/ameba/pull/373
Lint/Documentation
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/374
AST::NodeVisitor::Category
simplifying code a bit by @Sija in https://github.com/crystal-ameba/ameba/pull/378
Style/VerboseBlock
rule to work with binary operations by @Sija in https://github.com/crystal-ameba/ameba/pull/384
Performance/ExcessiveAllocations
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/386
Performance/MinMaxAfterMap
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/387
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.4.3...v1.5.0
--gen-config
by @zw963 in https://github.com/crystal-ameba/ameba/pull/363
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.4.2...v1.4.3
Lint/UnusedBlockArgument
is triggered by abstract def by @veelenga in https://github.com/crystal-ameba/ameba/pull/355
Style/ParenthesesAroundCondition
rule doc by @veelenga in https://github.com/crystal-ameba/ameba/pull/357
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.4.1...v1.4.2
README.md
by @Sija in https://github.com/crystal-ameba/ameba/pull/348
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.4.0...v1.4.1
Lint/LiteralAssignmentsInExpressions
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/303
Lint/UnusedBlockArgument
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/320
Lint/MissingBlockArgument
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/321
Lint/Formatting
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/326
Style/ParenthesesAroundCondition
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/301, https://github.com/crystal-ameba/ameba/pull/302
Style/QueryBoolMethods
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/314
Severity#color
by @Sija in https://github.com/crystal-ameba/ameba/pull/311
AST::Util#literal?
helper by @Sija in https://github.com/crystal-ameba/ameba/pull/304
Lint/UnusedArgument
by @Sija in https://github.com/crystal-ameba/ameba/pull/319
Lint/UnusedArgument
and Lint/UnusedBlockArgument
rules with corrections by @Sija in https://github.com/crystal-ameba/ameba/pull/324
Style/UnlessElse
by @FnControlOption in https://github.com/crystal-ameba/ameba/pull/325
Performance/AnyInsteadOfEmpty
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/341
Makefile
refactor by @Sija in https://github.com/crystal-ameba/ameba/pull/339
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.3.1...v1.4.0
alpine:edge
for ameba builder image in Dockerfile
by @Sija in https://github.com/crystal-ameba/ameba/pull/296
Lint/LiteralsComparison
false positive on macro generic comparisons by @Sija in https://github.com/crystal-ameba/ameba/pull/297
Style/PredicateName
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/299
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.3.0...v1.3.1
Lint/LiteralsComparison
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/292, https://github.com/crystal-ameba/ameba/pull/293
Lint/NotNil
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/288
Lint/NotNilAfterNoBang
rule by @Sija in https://github.com/crystal-ameba/ameba/pull/291
Lint/EmptyExpression
by default by @Sija in https://github.com/crystal-ameba/ameba/pull/287
Style/VerboseBlock
configuration example by @Sija in https://github.com/crystal-ameba/ameba/pull/280
Source::Corrector#remove_{leading,trailing}
methods by @Sija in https://github.com/crystal-ameba/ameba/pull/289
Rule::Base+.parsed_doc
on compile time by @Sija in https://github.com/crystal-ameba/ameba/pull/282
Object#not_nil!
by @Sija in https://github.com/crystal-ameba/ameba/pull/281
String#hash
instead of Digest::SHA1.hexdigest
by @Sija in https://github.com/crystal-ameba/ameba/pull/286
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.2.0...v1.3.0
RedundantBegin
rule in https://github.com/crystal-ameba/ameba/commit/60bf8e13ce81bf43baa52b5e3be24f61846443ec
Full Changelog: https://github.com/crystal-ameba/ameba/compare/v1.1.0...v1.2.0