Sijawusz Pur Rahnama
400954ebb5
Use String#hash
instead of Digest::SHA1.hexdigest
2022-10-29 21:49:00 +02:00
Sijawusz Pur Rahnama
4700ae7649
Merge pull request #282 from crystal-ameba/Sija/fix-issue-270
...
Populate `Rule::Base+.parsed_doc` on compile time
2022-10-29 18:12:55 +02:00
Sijawusz Pur Rahnama
ca2c5a7273
Small refactor to DocFinder#visit
2022-10-29 18:07:52 +02:00
Sijawusz Pur Rahnama
d55b93c866
Rename read_rule_doc
-> read_type_doc
...
Also, move the helper script into the `contrib` directory
2022-10-29 18:03:30 +02:00
Sijawusz Pur Rahnama
a9ae491aca
Merge pull request #280 from crystal-ameba/Sija-verbose-block-configuration-example-typo
2022-10-29 11:59:06 +02:00
Sijawusz Pur Rahnama
3d61254739
Populate Rule::Base+.parsed_doc
on compile time
2022-10-29 01:35:34 +02:00
Sijawusz Pur Rahnama
ffc712a838
Reduce usage of Object#not_nil!
2022-10-29 00:03:39 +02:00
Sijawusz Pur Rahnama
4063290530
Fix typo in a Style/VerboseBlock
configuration example
2022-10-28 23:48:47 +02:00
Vitalii Elenhaupt
60bf8e13ce
fix(style): properly tokenize in RedundantBegin rule
2022-10-14 21:09:30 +03:00
Vitalii Elenhaupt
d2fbf484f4
Crystal 1.6 support
2022-10-14 20:55:29 +03:00
Anton Maminov
1bef5fc5c1
fix restriction issue ( #271 )
...
Co-authored-by: Sijawusz Pur Rahnama <sija@sija.pl>
2022-08-01 23:50:30 +02:00
Sijawusz Pur Rahnama
fbd72a5171
Fix regression in AnyInsteadOfEmpty
rule
2022-04-22 00:58:37 +02:00
Sijawusz Pur Rahnama
e2faffacfe
Merge branch 'master' into fix/crystal-nightly
2022-04-05 00:37:48 +02:00
Sijawusz Pur Rahnama
e6ad7c5d24
Fix bug in AST::Scope#in_macro?
not taking account for Crystal::MacroFor
2022-04-04 02:05:13 +02:00
Sijawusz Pur Rahnama
71de3f0012
Cleanup method docs in AST::Scope
2022-04-04 02:05:13 +02:00
Sijawusz Pur Rahnama
614fcfa6a8
Skip macro scopes in ShadowingOuterLocalVar
2022-04-04 01:38:04 +02:00
Sijawusz Pur Rahnama
2e9ef7fcb2
Reword visit(node)
methods comment in AST::NodeVisitor
2022-04-04 01:35:59 +02:00
Sijawusz Pur Rahnama
a38cfd1661
Refactor AST::ScopeVisitor
similarly to AST::NodeVisitor
2022-04-04 01:35:32 +02:00
Sijawusz Pur Rahnama
3f7ade573a
Add ability to skip some of the nodes in AST::ScopeVisitor
2022-04-04 01:34:34 +02:00
Sijawusz Pur Rahnama
353d09df29
Rename file according to the rule name
2022-04-04 00:42:22 +02:00
Vitalii Elenhaupt
8d4730182f
Rework breaking specs, break backward compatibility
2022-04-04 00:59:21 +03:00
Vitalii Elenhaupt
2f29999106
Return boolean
2022-04-03 19:43:51 +03:00
Vitalii Elenhaupt
087f470f15
Backward compatibility to Crystal 1.3
2022-04-03 19:17:47 +03:00
Vitalii Elenhaupt
7192b64df0
Fix rest of the specs
2022-03-11 18:00:25 +02:00
Vitalii Elenhaupt
1cfc926a28
Fix specs for tokenizer
2022-03-11 16:18:33 +02:00
Vitalii Elenhaupt
03adc20872
Pass on crystal-nightly
2022-03-11 14:15:05 +02:00
Sijawusz Pur Rahnama
dad72341cb
Merge pull request #258 from crystal-ameba/bump-large-numbers-min-int-digits
...
Bump default value of `LargeNumbers#int_min_digits` to 6
2022-03-08 14:48:45 +01:00
Sijawusz Pur Rahnama
1795bd2959
Bump default value of LargeNumbers#int_min_digits
to 6
...
As most of the error codes are smaller than 6 digits
2022-03-08 14:42:32 +01:00
Sijawusz Pur Rahnama
9e81777e7e
Disable Style/LargeNumbers
by default
2022-03-05 22:38:36 +01:00
Sijawusz Pur Rahnama
66ee7642cf
Add Lint/DebugCalls
rule
2021-12-31 16:44:02 +01:00
fn ⌃ ⌥
f288cc3c4f
Add Style/GuardClause
rule ( #254 )
2021-12-09 21:33:47 +01:00
fn ⌃ ⌥
63a6c73dc0
Autocorrect various rules ( #253 )
2021-11-16 22:30:33 +01:00
Vitalii Elenhaupt
429f76f8b6
Do not report unreachable code after loops
...
closes #251
2021-11-10 09:16:14 +02:00
fn ⌃ ⌥
01dfcbe76a
Add tests for AST::Util#control_exp_code
2021-11-09 11:52:31 -08:00
fn ⌃ ⌥
c9ba487373
Add custom NodeVisitor
subclass for Style/VariableNames
2021-11-09 09:26:00 -08:00
fn ⌃ ⌥
72a3487bb6
Autocorrect Stye/WhileTrue
2021-11-08 14:24:11 -08:00
fn ⌃ ⌥
571969265f
Convert Style/VerboseBlock
spec
2021-11-08 14:24:11 -08:00
fn ⌃ ⌥
e93dfe9cdc
Convert Style/VariableNames
spec
2021-11-08 14:24:11 -08:00
fn ⌃ ⌥
e7cfe387d6
Autocorrect Stye/RedundantNext
and Style/RedundantReturn
2021-11-08 14:07:35 -08:00
fn ⌃ ⌥
7b437fbd2f
Remove normalize
parameter from expect_issue
( #249 )
...
* Add `normalize` parameter to `expect_correction`
* Convert Style/IsAFilter spec
* Revert "Add `normalize` parameter to `expect_correction`"
This reverts commit 4b67e4b900
.
* Remove `normalize` parameter from `expect_issue`
* Require indentation if multiple issues on a single line
* Update `Style/IsAFilter` spec
* Update `ExpectIssue` documentation
* Add missing `expect_no_corrections`
* Use carets and space with issues at column 1 or 2
* Update `expect_issue` docs
2021-11-06 15:15:19 +02:00
Sijawusz Pur Rahnama
7cb0c15747
Merge pull request #248 from FnControlOption/autocorrect
...
Add autocorrect
2021-11-01 20:24:43 +01:00
fn ⌃ ⌥
c2aa2fedb6
Return source
from expect_issue
2021-10-31 22:44:48 -07:00
fn ⌃ ⌥
470e41cb7b
Raise error if attempting to both explain issue and autocorrect
2021-10-31 22:23:14 -07:00
fn ⌃ ⌥
a40fdee33f
Revert "Add autocorrect checks to ExplainFormatter
"
...
This reverts commit 1b6fe40a3b
.
2021-10-31 22:12:21 -07:00
Vitalii Elenhaupt
3e1df339ae
Consistent parser options
2021-11-01 02:08:16 +02:00
fn ⌃ ⌥
61fc99e107
Inline the do_combine
method
2021-10-27 11:19:15 -07:00
fn ⌃ ⌥
73e97ac42e
Avoid using iterators and throw-away heap allocations
2021-10-27 11:08:18 -07:00
fn ⌃ ⌥
b7bb282b99
Apply suggestions from code review
2021-10-27 10:08:36 -07:00
fn ⌃ ⌥
d51ef27d54
Add remove_preceding
, remove_leading
, remove_trailing
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
1b6fe40a3b
Add autocorrect checks to ExplainFormatter
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
8d3b76003e
Add autocorrect checks to Flycheck, JSON, and TODO formatters
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
749c53527e
Add documentation
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
437584f9db
Raise error if infinite correction loop
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
16608965f5
Allowed named arguments with Rule::Base.issue_for
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
3b11491cea
Add insert_*
overloads that accept both location and end_location
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
e8c0f49cb8
Delete redundant alias SourceLocation
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
f87d99a83b
Add Corrector
method overloads that accept ASTNode
2021-10-26 22:22:22 -07:00
fn ⌃ ⌥
1d5f554e88
Apply suggestions from code review
2021-10-26 12:06:24 -07:00
fn ⌃ ⌥
f39a7a4cd4
Re-run autocorrect until all correctable issues have been corrected
2021-10-25 15:09:44 -07:00
fn ⌃ ⌥
573881cb8a
Autocorrect Layout/TrailingBlankLines
partially
2021-10-25 12:38:29 -07:00
fn ⌃ ⌥
e5fb0526e0
Autocorrect Style/LargeNumbers
2021-10-25 12:38:29 -07:00
fn ⌃ ⌥
99e7ccd23b
Add --autocorrect
CLI option
2021-10-25 12:38:29 -07:00
fn ⌃ ⌥
d3d3ccd7e3
Add expect_correction
and expect_no_corrections
2021-10-25 12:38:29 -07:00
fn ⌃ ⌥
c1b4add094
Add Source::Corrector
and Source::Rewriter
2021-10-25 12:38:29 -07:00
fn ⌃ ⌥
9f0b9a709e
Allow named replacements in expect_issue
2021-10-23 01:37:24 -07:00
fn ⌃ ⌥
3d432fdee8
Add expect_issue and expect_no_issues spec helpers ( #245 )
2021-10-22 19:54:39 +02:00
fn ⌃ ⌥
48b15b9bf8
Add Lint/AmbiguousAssignment rule ( #244 )
2021-10-19 11:44:41 +02:00
Sijawusz Pur Rahnama
43dea0e49d
Fix typos throughout the codebase
2021-07-03 14:15:23 +02:00
Caspian Baska
c49c69ed9f
Early return in CountVisitor if macro node
...
Co-authored-by: Sijawusz Pur Rahnama <sija@sija.pl>
2021-06-06 04:12:56 +10:00
Caspian Baska
0ea6238dc6
Count an exhaustive case
's complexity as 1
2021-06-05 22:31:58 +10:00
Vitalii Elenhaupt
a64f48b543
ShadowingOuterLocalVar while it is not in macro
...
closes #224
2021-04-18 20:55:10 +03:00
Vitalii Elenhaupt
9e2d4f1856
Disable performance rules for spec files
...
closes #220
2021-04-18 09:39:55 +03:00
Sijawusz Pur Rahnama
788e0a3fad
Enable MapInsteadOfBlock rule again
2021-04-12 06:23:03 +02:00
Sijawusz Pur Rahnama
2694a0c865
Remove “join” from the list of trigger methods
2021-04-12 06:22:54 +02:00
Vitalii Elenhaupt
58d7775d65
Merge branch 'master' into develop
2021-04-04 21:08:02 +03:00
Sijawusz Pur Rahnama
8d21733b10
Skip macro code in Style/IsAFilter rule
2021-04-04 11:19:45 +02:00
Vitalii Elenhaupt
0881b861d7
Disable MapInsteadOfBlock by default
...
refs #208
2021-03-29 09:15:18 +03:00
Stephen Dolan
04ba9cd57a
Change Style/VerboseBlock - ExcludeOperators - setting default ( #218 )
2021-03-24 21:16:51 +01:00
Vitalii Elenhaupt
13605afe4a
Do not report IsAFilter if there is a block with multiple args
2021-03-23 20:57:50 +02:00
Vitalii Elenhaupt
ad405e09b0
Merge branch 'master' into develop
2021-03-08 11:09:32 +02:00
Sijawusz Pur Rahnama
56110b3883
Default to exclude_multiple_line_blocks in Style/VerboseBlock rule
2021-03-03 00:31:53 +01:00
Sijawusz Pur Rahnama
8f308e73e5
Add ~ as the prefix operator
2021-03-02 12:40:46 +01:00
Vitalii Elenhaupt
3a1ee7fa21
Correct yml examples
2021-02-11 11:01:30 +02:00
Sijawusz Pur Rahnama
694c41650c
Remove redundant check and add a few more test cases
2021-02-05 01:23:29 +01:00
Sijawusz Pur Rahnama
a9d1b17deb
Support named arguments in VerboseBlock#node_to_s
2021-02-05 01:23:29 +01:00
Sijawusz Pur Rahnama
16743a756c
Add ExcludePrefixOperators option to Style/VerboseBlock rule
2021-02-04 21:59:23 +01:00
Sijawusz Pur Rahnama
eed094b928
Fix couple of edge-cases in VerboseBlock rule
2021-02-04 21:59:23 +01:00
Sijawusz Pur Rahnama
5faf8da81c
Split VerboseBlock#test method into a smaller pieces
2021-02-04 21:59:23 +01:00
Sijawusz Pur Rahnama
4b7f3ba6ee
Add MaxLineLength option to Style/VerboseBlock rule
2021-02-04 21:59:22 +01:00
Sijawusz Pur Rahnama
a53d44617d
Fix newly found issues
2021-02-04 21:59:22 +01:00
Sijawusz Pur Rahnama
0739fad670
Add Style/VerboseBlock rule
2021-02-04 21:59:22 +01:00
Sijawusz Pur Rahnama
99da6b6916
Merge remote-tracking branch 'origin/master' into master-into-develop
2021-02-03 22:45:35 +01:00
Vitalii Elenhaupt
f8c22a6e77
Utilize Source#spec?
2021-02-03 17:25:46 +02:00
Vitalii Elenhaupt
ecad80a96b
NewRule: SpecFocus
...
closes #172
2021-02-03 17:10:07 +02:00
Vitalii Elenhaupt
51b0a07e81
Avoid exponential recursion while finding variable references in scopes ( #203 )
...
* Avoid exponential recursion while finding variable references in scopes
* Adjust source example in test
2021-01-31 16:40:44 +02:00
Sijawusz Pur Rahnama
fac8072ec1
Merge pull request #197 from crystal-ameba/feature/any-instead-of-empty
...
Add Performance/AnyInsteadOfEmpty rule
2021-01-28 10:28:30 +01:00
Sijawusz Pur Rahnama
7b3c814914
Fix newly found issues
2021-01-28 01:03:48 +01:00
Sijawusz Pur Rahnama
d71091a40c
Add Performance/AnyInsteadOfEmpty rule
2021-01-28 01:03:48 +01:00
Sijawusz Pur Rahnama
95d340c3ad
Add Style/IsAFilter rule
2021-01-28 00:58:06 +01:00
Sijawusz Pur Rahnama
ea98554191
Add support for showing end location marker ( #200 )
...
* Add support for showing end location marker
* Cleanup Reportable method definitions
There’s no need for double splats, since they mess up method resolution, and obscure the actual - single (!) - argument - `status`, so… be gone
Also, all of the helpers return the constructed `Issue` like a behaving good methods.
* Refactor Util#affected_code
* Increase max length of trimmed lines to 120 characters
* Refactor Issue to use enum instead of a symbol for #status
* Optimize Reportable#valid?
* Add spec coverage for newly added Util methods
* Refactor DotFormatter a bit
Make text format moar in line with Crystal spec runner.
* Update README.md
2021-01-26 08:38:19 +02:00