Commit Graph

872 Commits

Author SHA1 Message Date
Alistair A. Israel 970d341ea0 Feature/dockerfile (#73)
* Working Dockerfile

* No need for crystal in distribution image
2018-08-25 13:54:13 +03:00
Vitalii Elenhaupt 0d41ecdc29
Remove shard rockes badge 2018-08-24 23:28:25 +03:00
Vitalii Elenhaupt d9cfc90ece
Bump v0.8.0 2018-08-15 19:49:42 +03:00
Vitalii Elenhaupt d60aea102f
Add --no-color cli flag
closes #72
2018-08-13 00:05:11 +03:00
Vitalii Elenhaupt 248c5a656b
Add `--all` cli flag that enables all available rules 2018-07-04 15:20:35 +03:00
Vitalii Elenhaupt 970ca4be1b
Disable PredicateName and LargeNumbers rules by default 2018-07-04 14:11:24 +03:00
Vitalii Elenhaupt a0f31dc943
Crystal 0.25.1 2018-07-03 16:12:47 +03:00
Johannes Müller 1cbee0686d Fix Makefile to avoid rebuild if bin/ameba exists 2018-07-03 15:54:50 +03:00
Vitalii Elenhaupt dbac46b68a
Ignore outer shadowing of throwaway variables
closes #67
2018-06-25 17:02:46 +03:00
Vitalii Elenhaupt 98f0aa71e9
Allow to disable group of rules using inline directives 2018-06-23 16:52:48 +03:00
Vitalii Elenhaupt 04c7300964
Handle type declarations in scopes
closes #66
2018-06-23 08:48:13 +03:00
V. Elenhaupt fafc5f4bdc
Allow filtering by group name (#65) 2018-06-18 10:25:06 +03:00
V. Elenhaupt 4cb5328513
Add rule namespaces: style, lint, layout (#63) 2018-06-16 14:50:59 +03:00
Vitalii Elenhaupt d9f04af057
Use crystal 0.25.0 in shards.yml 2018-06-15 12:01:43 +03:00
Vitalii Elenhaupt f3498c4db7
Bump v0.7.0 2018-06-15 11:54:11 +03:00
Vitalii Elenhaupt 23245d0e52 Add end_location to json formatter 2018-06-12 12:55:56 +03:00
Vitalii Elenhaupt f8d14d4222 Rename Error to Issue 2018-06-12 12:55:56 +03:00
Vitalii Elenhaupt e1b51f62a5
Exclude file pattern match
closes #61
2018-05-29 13:19:00 +03:00
Vitalii Elenhaupt c12b4f1aa5 Shadowed argument 2018-05-29 09:47:32 +03:00
Vitalii Elenhaupt 15bb8f5331 Detect shadowing outer local vars 2018-05-29 09:47:20 +03:00
Vitalii Elenhaupt 3887da1438 Redundant begin: do not report if there is an inner handler
fixes #56
2018-05-25 11:23:11 +03:00
Brian J. Cardiff 3e099e9afc Support upcoming Crystal 0.25.0
The changes are compatible with crystal 0.24.2
2018-05-23 13:29:27 +03:00
Vitalii Elenhaupt 319a90d5d7
Add version to shards.yml in usage
If the version is missed, shards utilite takes the latest
release which can break the build if the user is not ready
to upgrade
2018-05-14 16:28:46 +03:00
Vitalii Elenhaupt 2a4cc56865
Add a link to Roadmap 2018-05-13 22:00:08 +03:00
Vitalii Elenhaupt 1cea21b147
Do not report float numbers as large if fraction has less than 3 digits 2018-05-13 19:04:15 +03:00
Vitalii Elenhaupt 7a4fcec5ce
Prefer Tuple over Array to format a message to reduce GC 2018-05-13 14:59:30 +03:00
Vitalii Elenhaupt fafe264d40
Bump v0.6.0 2018-05-13 14:48:43 +03:00
Vitalii Elenhaupt 402a0c0dab
Unused argument name suggession 2018-05-13 14:13:57 +03:00
Eloy 0b54b10579 Add sublime linter plugin 2018-05-12 21:44:24 +03:00
Vitalii Elenhaupt bf907ee98b
Rework variable references detection in macro 2018-05-12 20:08:24 +03:00
Vitalii Elenhaupt efe67212b0
Support of Crystal::UnitializedVar 2018-05-12 18:29:31 +03:00
Vitalii Elenhaupt 415432713a
Prevent false positiveness cause by macro literals
https://github.com/crystal-lang/crystal/pull/6055#issuecomment-386376227
2018-05-12 17:37:54 +03:00
Vitalii Elenhaupt 6579c8f573
Ignore config if todo formatter is used
Fixes #53
2018-05-11 21:39:09 +03:00
Vitalii Elenhaupt 4546b90b54 Add JSON formatter 2018-05-11 21:28:30 +03:00
Vitalii Elenhaupt 9708b94587
Typo in readme 2018-05-09 13:33:16 +03:00
Vitalii Elenhaupt fa7f5c5b28
Support Crystal <= 0.24.2 2018-05-09 12:53:01 +03:00
Vitalii Elenhaupt 58e6b42ea9
Improve usage info & remove useless stuff 2018-05-09 00:28:06 +03:00
Vitalii Elenhaupt 1fc0c525bd
Do not report unneeded disable directive if directive is used one line above 2018-05-09 00:14:46 +03:00
Vitalii Elenhaupt c7fc905413
Mark the internal visitor class as private 2018-05-08 22:23:01 +03:00
Vitalii Elenhaupt b5ba14ea0c
Ignore dwarf file 2018-05-08 22:19:52 +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 c2aa526e21
Unused argument rule (#52)
* Unused argument rule

* IgnoreDefs, IgnoreBlocks, IgnoreProcs parameters

* Implicit reference by super keyworkd

* Handle macro arguments
2018-05-08 22:00:17 +03:00
Vitalii Elenhaupt cc71511080
Use Var#special_var? to check if var is special 2018-05-04 16:25:44 +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
V. Elenhaupt 60c1b86890
Constantize string error messages (#50) 2018-04-17 07:29:43 +03:00
Sijawusz Pur Rahnama 5647621393 Drop --no-debug flag when building 2018-04-13 20:55:35 +03:00
Vitalii Elenhaupt d307f01bfa
Add a space delimiter to duplicated hash keys 2018-04-13 20:10:21 +03:00
Vitalii Elenhaupt 9cf5d05dc0
v0.5.1 2018-04-12 19:22:42 +03:00
Hugo Abonizio 21a3850a65 Ignore alternative names starting with `_` 2018-04-12 19:20:41 +03:00
Hugo Abonizio d6c6af883d Ignores PredicateName if alternative isn't valid (e.g. is_404?) 2018-04-12 19:20:41 +03:00