Hannes Käufler
e850bff60f
Hk cyclomatic complexity ( #92 )
...
* Proof of concept for cyclomatic complexity
* Enable configurability of rule
* Use the same nodes to increment the complexity as rubocop
* Fix typo in test description
* Properly indent code and simplify macro
* Move metric into metrics
* Cover a violation supressed by increased threshold
* Extract visitor into its own file
* Document cyclomatic complexity rule and visitor
* Refactor specs to use a macro
* Indent code inside macro
* Replace array with tuple for string formatting.
`Tuple` is stack based, whereas `Array` is allocated on the heap increasing GC pressure.
* Fix formatting
* Enable cyclomatic complexity rule by default
2019-02-16 21:03:44 +02:00
Sijawusz Pur Rahnama
c4016bd28c
Use ~> operator in README installation section ( #89 )
2019-02-04 18:52:09 +02:00
Vitalii Elenhaupt
d5402df7fe
Link vim ale integration
2019-01-29 12:52:31 +02:00
Vitalii Elenhaupt
f294bb6a68
Improve explain output
2019-01-13 22:14:25 +02:00
Vitalii Elenhaupt
3c5e3cdef4
Exclude globs as arguments
...
Examples:
$ ameba path/to/shard/*.cr !path/to/shard/lib
$ ameba . !lib
2019-01-13 10:48:46 +02:00
Vitalii Elenhaupt
5aa7ee4854
Version bump v0.9.0
2019-01-09 13:20:58 +02:00
Vitalii Elenhaupt
866af184f1
Redundant return ( #87 )
2018-12-30 09:04:59 +02:00
Vitalii Elenhaupt
c91da1aa08
Let ameba explain the issue at the specified location ( #86 )
2018-12-27 23:34:10 +02:00
Vitalii Elenhaupt
4e19571fb3
Correct VariableNames doc example
2018-12-26 10:57:06 +02:00
Vitalii Elenhaupt
32ac199162
Correct trailing blank line position
2018-12-24 00:44:15 +02:00
Vitalii Elenhaupt
1d96319506
Remove unneded argument
2018-12-15 22:16:40 +02:00
Vitalii Elenhaupt
60ce034f1b
UnusedArgument: fix crystal upgrade regression
2018-12-12 22:21:33 +02:00
Vitalii Elenhaupt
f671d6f857
Show affected code while using a default formatter
2018-12-12 21:45:00 +02:00
Vitalii Elenhaupt
148044f479
Add description to syntax special rule
2018-12-09 00:12:14 +02:00
Vitalii Elenhaupt
20938da89a
Dynamically load rule documentation
2018-12-08 22:52:32 +02:00
Vitalii Elenhaupt
f8dab3bc34
MethodNames: correct reported location/end_location
2018-11-25 00:56:21 +02:00
Vitalii Elenhaupt
e951c0772a
ConstantNames: correct reported end_location
2018-11-25 00:37:46 +02:00
Vitalii Elenhaupt
9885457227
Track issue.end_location properly
2018-11-24 19:38:13 +02:00
Vitalii Elenhaupt
ad2c6bad0e
Use utility method to check if node is a loop
2018-11-22 11:52:00 +02:00
V. Elenhaupt
0fd5890738
Extend UnreachableCode rule: handle control flow ( #83 )
2018-11-22 10:38:32 +02:00
Vitalii Elenhaupt
eca0f3f350
Handle raise, exit, abort in unreachable code
2018-11-11 20:33:48 +02:00
Vitalii Elenhaupt
67d76116f7
Basic implementation of UnreachableCode rule
2018-11-05 21:39:27 +02:00
Vitalii Elenhaupt
d7952204a2
Bump v0.8.1
2018-10-20 18:27:34 +03:00
Vitalii Elenhaupt
12aa48c98f
Fix Style/RedundantBegin: begin-end in a proc literal
...
closes #80
2018-09-22 21:58:38 +03:00
Vitalii Elenhaupt
d7b0e10d1e
Normalize sources for tests
2018-09-07 15:07:03 +03:00
V. Elenhaupt
cb5f802012
Correctly process record declaration at a top level ( #78 )
2018-09-07 00:47:02 +03:00
Vitalii Elenhaupt
18ac04d992
Generate UTC time in todo
2018-09-06 18:48:36 +03:00
V. Elenhaupt
fd78d17c40
New rule: Performance/FirstLastAfterFilter ( #76 )
2018-09-06 17:59:11 +03:00
Vitalii Elenhaupt
02f1f7f4f9
Crystal code formatting check on Travis
2018-09-03 23:03:52 +03:00
Vitalii Elenhaupt
a1b34eb7be
New rule: Performance/AnyAfterFilter
2018-09-03 22:55:10 +03:00
Vitalii Elenhaupt
068733a9d3
Correct yaml configuration examples in docs
2018-09-03 22:53:11 +03:00
Vitalii Elenhaupt
790b519653
Performance/Count -> Performance/SizeAfterFilter
2018-09-03 22:44:30 +03:00
Vitalii Elenhaupt
799c0fd5e1
Correct location name of reported issue
2018-09-03 13:26:19 +03:00
Vitalii Elenhaupt
9fa13848bf
Correct doc example for Count rule
2018-09-03 12:00:23 +03:00
Vitalii Elenhaupt
446f557c23
New rule: Performance/Count
2018-09-03 01:07:34 +03:00
Vitalii Elenhaupt
f4680a75f4
Apply default formatting
2018-09-03 00:17:56 +03:00
Vitalii Elenhaupt
bbb0cf51e7
Use make to build ameba in docker, add installation info
2018-08-25 13:55:07 +03:00
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