Commit graph

421 commits

Author SHA1 Message Date
Stuart Frost
3b9c442e09 Raise error when passed invalid file paths 2023-07-26 15:01:59 +01:00
Stuart Frost
88e0437902 Move fixture file to spec/fixtures directory 2023-07-25 10:00:16 +01:00
Stuart Frost
4741c9f4c4 Reword generic error message on config load 2023-07-25 08:46:13 +01:00
Stuart Frost
d9b2d69055 Reword error when file doesn't exist
Applied suggestion from PR

Co-authored-by: Vitalii Elenhaupt <3624712+veelenga@users.noreply.github.com>
2023-07-25 08:43:49 +01:00
Stuart Frost
5f878fb40f Move missing config file check into Ameba::Config 2023-07-24 19:10:52 +01:00
Stuart Frost
01a943d0d6 Raise error when passed invalid config file path 2023-07-24 15:30:38 +01:00
Sijawusz Pur Rahnama
a33f98624a
Merge pull request #376 from crystal-ameba/update-to-work-with-crystal-nightly 2023-07-11 23:50:14 +02:00
Sijawusz Pur Rahnama
327ed546b9
Apply suggestions from code review
Co-authored-by: Vitalii Elenhaupt <3624712+veelenga@users.noreply.github.com>
2023-07-10 16:09:01 +02:00
Sijawusz Pur Rahnama
ddff8d226b Add Performance/MinMaxAfterMap rule 2023-07-10 15:46:17 +02:00
Sijawusz Pur Rahnama
29e29b8e1d Fix Performance/ExcessiveAllocations to exclude each calls without a block 2023-06-30 21:44:47 +02:00
Sijawusz Pur Rahnama
abe5237802 Add Performance/ExcessiveAllocations rule 2023-06-30 15:17:40 +02:00
Sijawusz Pur Rahnama
4d0125a0f3 Fix Style/VerboseBlock rule to work with binary operations 2023-06-29 08:15:39 +02:00
Sijawusz Pur Rahnama
596b0dd9d0 Misc tweaks and refactors 2023-06-14 15:06:24 +02:00
Sijawusz Pur Rahnama
db59b23f9b Fix specs against Crystal nightly 2023-06-10 01:11:21 +02:00
Sijawusz Pur Rahnama
e12d72cc88 Set the ASTNode#visibility as well 2023-06-08 04:28:17 +02:00
Sijawusz Pur Rahnama
4d8346509e Implement Documentation rule on top of the ScopeVisitor 2023-06-08 02:04:06 +02:00
Sijawusz Pur Rahnama
4c740f394a Implement Scope#visibility 2023-06-08 01:58:58 +02:00
Sijawusz Pur Rahnama
1a9a58b3cd Add Lint/Documentation rule 2023-05-29 16:32:51 +02:00
Sijawusz Pur Rahnama
14f6ba0c0b
Merge pull request #323 from crystal-ameba/Sija/lint-not-nil-after-no-bang-reports-rindex-calls
Make `Lint/NotNilAfterNoBang` report calls to `#rindex`
2023-05-01 11:16:42 +02:00
Johannes Müller
c7f2cba409
Fix severity type for YAML converter spec 2023-04-05 11:20:44 +02:00
Billy.Zheng
e2528d93dd Refactor spec to use be_false replace eq false 2023-03-09 12:39:25 +08:00
Billy.Zheng
48c7a2bde6 Add spec for verifying skip_reading_config? flag defaults to false. 2023-03-09 02:23:48 +08:00
Billy.Zheng
d45285d1c9 Skip all config when use with --gen-config. 2023-03-08 22:34:46 +08:00
Sijawusz Pur Rahnama
749da0984c Rename Config::PATH to Config::DEFAULT_PATH 2023-03-06 20:54:35 +01:00
Sijawusz Pur Rahnama
9534104942 Support hierarchical loading of the config file 2023-03-06 20:54:17 +01:00
Vitalii Elenhaupt
81177dc7e4
Merge pull request #356 from crystal-ameba/chore/crystal-nightly
chore: fix crystal-nightly compatibility
2023-02-19 18:06:31 +02:00
Vitalii Elenhaupt
d03f058cae
Add semicolon to the error message 2023-02-19 17:39:25 +02:00
Vitalii Elenhaupt
be8862837f
Improve error message reported to end user 2023-02-19 14:45:07 +02:00
Vitalii Elenhaupt
17e9566c7e
fix(lint): Lint/UnusedBlockArgument is triggered by abstract def
closes #352
2023-02-19 10:51:52 +02:00
Vitalii Elenhaupt
031c1daf58
chore: fix crystal-nightly compatibility 2023-02-19 09:30:05 +02:00
Vitalii Elenhaupt
e7f4bb6ae3
Fix wording 2023-02-07 22:24:52 +02:00
Vitalii Elenhaupt
61a45d4321
Rework tests 2023-02-07 22:21:09 +02:00
Vitalii Elenhaupt
d20cc212b9
Styling changes 2023-02-07 20:03:52 +02:00
Vitalii Elenhaupt
6b2ddcb1d9
Address feedback, add tests 2023-02-07 17:19:04 +02:00
Vitalii Elenhaupt
14a9ec3a75
Incorporate changes for shadowing outer local var 2023-02-04 20:53:41 +02:00
Vitalii Elenhaupt
ddbcf5cb3f
fix(lint): useless assignment for type definition
closes #342
2023-02-04 16:57:46 +02:00
Sijawusz Pur Rahnama
ce4dd7236a Make Lint/NotNilAfterNoBang report calls to #rindex 2023-01-10 13:37:28 +01:00
Sijawusz Pur Rahnama
8e86374d08 Remove outdated spec 2023-01-10 13:10:05 +01:00
Sijawusz Pur Rahnama
d31e41b8a7 Fix specs on Crystal nightly (soon to be v1.7.0) 2023-01-10 13:10:05 +01:00
Sijawusz Pur Rahnama
6f0b6ffcd0 Remove buggy auto-correction from Performance/AnyInsteadOfEmpty rule 2023-01-04 02:40:07 +01:00
Sijawusz Pur Rahnama
bbbfdfc5a2 Tweak reported location for Lint/UnusedBlockArgument 2022-12-23 14:46:23 +01:00
Sijawusz Pur Rahnama
2d9e328d97
Merge pull request #325 from FnControlOption/unless_else
Add autocorrect for `Style/UnlessElse`
2022-12-22 21:43:49 +01:00
Sijawusz Pur Rahnama
2cedd72b09 Apply review sugggestions 2022-12-22 19:18:27 +01:00
Sijawusz Pur Rahnama
4f8b79ec6b
Merge pull request #324 from crystal-ameba/Sija/extend-several-rule-with-corrections
Extend `Lint/UnusedArgument` and `Lint/UnusedBlockArgument` rules with corrections
2022-12-22 18:42:35 +01:00
Sijawusz Pur Rahnama
3586b4242f Extend Lint/UnusedBlockArgument rule with corrections 2022-12-22 17:15:46 +01:00
Sijawusz Pur Rahnama
f26cd7f823 Extend Lint/UnusedArgument rule with corrections 2022-12-22 17:15:46 +01:00
Sijawusz Pur Rahnama
b9bc5aaab2
Merge pull request #327 from crystal-ameba/Sija/specs-cleanup 2022-12-22 12:08:44 +01:00
Sijawusz Pur Rahnama
232c16d743 Add spec for 10000 Int128 literal in Style/LargeNumbers 2022-12-21 21:15:17 +01:00
Sijawusz Pur Rahnama
cfea0fda34 Fix typo 2022-12-21 21:14:29 +01:00
Sijawusz Pur Rahnama
9926f0295a Remove most of the obsolete specs 2022-12-21 21:13:22 +01:00
Sijawusz Pur Rahnama
1ba6fcb55c Enhance spec helpers a bit in re: to the spec context 2022-12-21 17:34:17 +01:00
Sijawusz Pur Rahnama
e9f3bbaeff Fail with the additional context 2022-12-21 17:34:10 +01:00
Sijawusz Pur Rahnama
7c617b5a7b Make spec helper methods private 2022-12-21 17:34:05 +01:00
Sijawusz Pur Rahnama
cabf203e0d
Merge pull request #326 from crystal-ameba/Sija/lint-formatting 2022-12-20 16:20:48 +01:00
Sijawusz Pur Rahnama
47b92fbb76 Fix newly found issues 2022-12-20 15:31:14 +01:00
Sijawusz Pur Rahnama
597372c645 Add Lint/MissingBlockArgument rule 2022-12-20 15:31:14 +01:00
Sijawusz Pur Rahnama
d7154ad6d2 Fix failing spec 2022-12-20 04:10:56 +01:00
Sijawusz Pur Rahnama
3bc8bda008 Add Lint/Formatting rule 2022-12-20 04:10:56 +01:00
Sijawusz Pur Rahnama
4e3caf2986 Few tweaks and readability refactors 2022-12-20 03:26:13 +01:00
Sijawusz Pur Rahnama
70078cf77f Synchronize properties context names in rules’ specs 2022-12-20 03:25:10 +01:00
Sijawusz Pur Rahnama
8112dddc8f Specs cleanup 2022-12-20 03:25:06 +01:00
fn ⌃ ⌥
d7795c0d7d Add autocorrect for Style/UnlessElse 2022-12-19 06:40:28 -08:00
Sijawusz Pur Rahnama
7f6bd2289e Do not report unused block arguments in Lint/UnusedArgument rule 2022-12-15 18:35:16 +01:00
Sijawusz Pur Rahnama
858557bc07 Add Lint/UnusedBlockArgument rule 2022-12-15 18:35:16 +01:00
Sijawusz Pur Rahnama
9df66e890b Do not report anonymous block arguments in Lint/UnusedArgument 2022-12-12 18:21:19 +01:00
Sijawusz Pur Rahnama
99c81d3630 Add spec for positive case in macro scope in Lint/LiteralsComparison rule 2022-12-09 23:53:39 +01:00
Sijawusz Pur Rahnama
2fb453c61f Add additional spec for Lint/NotNil rule 2022-12-08 17:47:22 +01:00
Sijawusz Pur Rahnama
7d88455b7f Add corrector to the Style/IsANil rule 2022-12-08 13:58:35 +01:00
Sijawusz Pur Rahnama
071a8b7afb Consistently use CRYSTAL marker for heredocs with crystal code 2022-12-08 13:57:46 +01:00
Sijawusz Pur Rahnama
2cb8c1381f Don’t treat crystal paths as literals in Lint/LiteralsComparison 2022-12-08 13:55:29 +01:00
Sijawusz Pur Rahnama
e18da84ede Add requested spec 2022-12-08 02:16:16 +01:00
Sijawusz Pur Rahnama
1524aad299 Add Style/QueryBoolMethods rule 2022-12-08 02:16:16 +01:00
Sijawusz Pur Rahnama
33ef9c6293 Refactor ExplainFormatter 2022-11-28 11:38:41 +01:00
Sijawusz Pur Rahnama
38eb5d5e50 Fix invalid crystal syntax in Lint/Syntax rule spec 2022-11-23 03:26:55 +01:00
Sijawusz Pur Rahnama
2c67fe2c3f Use tuple instead of an array 2022-11-23 03:23:42 +01:00
Sijawusz Pur Rahnama
60813e4899 Test generated boolean rule property 2022-11-22 19:53:27 +01:00
Sijawusz Pur Rahnama
9f670c09b5 Refactor TODOFormatter spec 2022-11-22 19:52:32 +01:00
Sijawusz Pur Rahnama
c7c75ee36a Rule#enabled -> Rule#enabled? 2022-11-22 19:47:37 +01:00
Sijawusz Pur Rahnama
6bd18f9cbf Fix typo 2022-11-22 19:43:52 +01:00
Sijawusz Pur Rahnama
5ee4074c1b Rename RedundantParentheses -> ParenthesesAroundCondition
Also rename the option: `parenthesized_assignments` -> `allow_safe_assignment`
2022-11-18 21:06:51 +01:00
Sijawusz Pur Rahnama
0b0a815c31 Add additional test case 2022-11-18 07:04:51 +01:00
Sijawusz Pur Rahnama
eabe463386 Instead of adding the new rule to support enforcing parens around assignments, refactor existing RedundantParentheses rule 2022-11-18 05:27:05 +01:00
Sijawusz Pur Rahnama
496e8930e2
Merge pull request #303 from crystal-ameba/Sija/lint-literal-assignments-in-expressions-rule
Add `Lint/LiteralAssignmentsInExpressions` rule
2022-11-17 14:19:17 +01:00
Sijawusz Pur Rahnama
95d68114c7 Fix typos throughout the code 2022-11-16 16:55:32 +01:00
Sijawusz Pur Rahnama
5c08b64e72 Add Lint/LiteralAssignmentsInExpressions rule 2022-11-16 15:08:41 +01:00
Sijawusz Pur Rahnama
28e2871165
Merge pull request #301 from crystal-ameba/Sija/style-redundant-parentheses-rule
Add `Style/RedundantParentheses` rule
2022-11-16 12:22:39 +01:00
Sijawusz Pur Rahnama
935296b041 Refactor ternary handling in Style/RedundantParentheses rule 2022-11-16 03:54:31 +01:00
Sijawusz Pur Rahnama
2fb37da80f Refactor AST::Util#literal? helper 2022-11-15 17:42:08 +01:00
Sijawusz Pur Rahnama
cbf5d3de74 Add Style/RedundantParentheses rule 2022-11-15 15:17:32 +01:00
Sijawusz Pur Rahnama
04b19a60db
Merge pull request #300 from crystal-ameba/Sija/some-refactors
Misc refactors
2022-11-14 17:27:29 +01:00
Sijawusz Pur Rahnama
e668ba5bf5 Readability-related refactors 2022-11-14 02:26:52 +01:00
Sijawusz Pur Rahnama
52bf0a5be4 Refactor Style/PredicateName rule
Do not report `has_<name>?` method names
2022-11-13 20:12:23 +01:00
Vitalii Elenhaupt
2811352cae
Merge pull request #298 from crystal-ameba/Sija/fix-specs-on-crystal-nightly
Fix specs on Crystal nightly
2022-11-13 21:07:29 +02:00
Sijawusz Pur Rahnama
5f46612e89 Remove obsolete spec 2022-11-13 01:32:49 +01:00
Sijawusz Pur Rahnama
84540d2a22 Change to alternative approach skipping all macro contexts 2022-11-13 01:25:24 +01:00
Sijawusz Pur Rahnama
5491d31b5f Fix the edge case re: free var comparison 2022-11-13 01:24:59 +01:00
Sijawusz Pur Rahnama
6bf8db81e3 Refactor Lint/StaticComparison to LiteralsComparison 2022-11-02 02:00:37 +01:00
Sijawusz Pur Rahnama
ea42911c3c Extend StaticComparison w/ support of === operator 2022-11-01 03:35:20 +01:00
Sijawusz Pur Rahnama
849be52618 Add Lint/StaticComparison rule 2022-11-01 03:34:28 +01:00
Sijawusz Pur Rahnama
63407c1bd1 Rename to Lint/NotNilAfterNoBang 2022-11-01 02:13:04 +01:00