Commit graph

28 commits

Author SHA1 Message Date
fn ⌃ ⌥
63a6c73dc0
Autocorrect various rules (#253) 2021-11-16 22:30:33 +01:00
fn ⌃ ⌥
c1b4add094 Add Source::Corrector and Source::Rewriter 2021-10-25 12:38:29 -07:00
Sijawusz Pur Rahnama
6898aa8976
Fix issue #187 (#189)
* Avoid using `tap` with structs

* Remove extraneous blank lines

* Readability
2021-01-17 22:31:53 +02:00
Sijawusz Pur Rahnama
d418fb0ef7 Surround __DIR__ with quotes to handle paths with spaces (#114) 2019-09-14 18:31:55 +03:00
Vitalii Elenhaupt
9065a5f414
Remove unneeded code to support crystal 0.24.2 2019-07-19 23:51:30 +03:00
V. Elenhaupt
4cb5328513
Add rule namespaces: style, lint, layout (#63) 2018-06-16 14:50:59 +03:00
Vitalii Elenhaupt
eab5499f8e
Add a workaround for https://github.com/crystal-lang/crystal/pull/6032 2018-05-08 22:18:15 +03:00
V. Elenhaupt
6475c2bb25
Variable scope & useless assignments (#41)
* AST::Visitor -> AST::NodeVisitor

* Scope & ScopeVisitor

* Useless assignment rule

* Instance vars and useless assignments

* Multiple assigns one by one

* Support outer scope

* Variable used in the useless assignment

* Support OpAssign & MultiAssign

* Captured by block

* Variable, Assignment, Reference & Refactoring

* Variable has references, Assignment can be referenced

* Branch entity

* Handle useless assignments in branches

* Handle assignments in a loop

* Handle branch equality

* Handle special var `$?` assignment

* Improve captured by block stuff

* Avoid assignments in property definitions

(UselessAssign rule reports an warning)

* Support MacroIf and MacroFor branches

* Handle assignments with shadowed vars in inner scopes

* Add method arguments as scope variables

* Handle case if branch is blank

* Top level scope

* Handle case when branch is nop?
2018-05-03 18:57:47 +03:00
Vitalii Elenhaupt
03ee9f3e38 Use shards version
refs:

  * https://github.com/crystal-lang/crystal/pull/5428
  * https://github.com/crystal-lang/shards/pull/148
2017-12-26 18:21:21 +02:00
Vitalii Elenhaupt
202a73ae0e
v0.3.0 2017-12-06 17:00:44 +02:00
Vitalii Elenhaupt
7546a80f1c
Make build on postinstall 2017-11-16 00:49:27 +02:00
Vitalii Elenhaupt
af4d6cae5a
v0.2.1 2017-11-16 00:25:58 +02:00
Vitalii Elenhaupt
57b1095c5f
Document entities 2017-11-15 23:37:16 +02:00
Vitalii Elenhaupt
822a69b81c
Base YAML config loader & Ameba runner 2017-11-14 09:00:15 +02:00
Vitalii Elenhaupt
80e2ab4f55
Ameba::Rule -> Ameba::Rule::Base 2017-11-08 00:02:32 +02:00
Vitalii Elenhaupt
f878ac430f
Refactor formatters 2017-11-06 10:41:03 +02:00
Vitalii Elenhaupt
3f2bcc56b9
Remove unused class 2017-11-03 16:44:32 +02:00
Vitalii Elenhaupt
628077066e
Usage info & exclude lib/ project folder 2017-11-01 19:14:38 +02:00
V. Elenhaupt
6ca4e38167
Ameba cli & binary (#7)
* Ameba cli & binary

* -1 when ameba found issues

* Add postscript to shard.yml

* Correct postinstall

* Remove targets

* Try executables
2017-11-01 17:21:41 +02:00
Vitalii Elenhaupt
6a81a648e3
AST Util 2017-11-01 13:13:44 +02:00
Vitalii Elenhaupt
dcc0be892a
Load list of rules dynamically 2017-11-01 12:49:03 +02:00
Vitalii Elenhaupt
11005930f6
New rule: UnlessElse 2017-10-31 22:24:02 +02:00
Vitalii Elenhaupt
93dd7d446f
AST parsing
closes #2
2017-10-31 20:29:30 +02:00
Vitalii Elenhaupt
9bba850a9b
Docs & tests 2017-10-30 22:00:01 +02:00
Vitalii Elenhaupt
5e10113055
It works 2017-10-27 00:07:43 +03:00
Vitalii Elenhaupt
ffd44dc77b
Simple reporter 2017-10-26 22:45:48 +03:00
Vitalii Elenhaupt
4e84ac871a
New rule: Line Length 2017-10-26 21:47:35 +03:00
Vitalii Elenhaupt
eb367c682e
Hello, Ameba 2017-10-26 19:46:58 +03:00