Commit Graph

27 Commits

Author SHA1 Message Date
Vitalii Elenhaupt 9036a7ca71
New rule: empty assignment 2017-11-07 20:54:28 +02:00
Vitalii Elenhaupt a9421ee79b
AST node source code 2017-11-07 13:28:33 +02:00
V. Elenhaupt adfe654733
Performance improvements (#15)
* Performance improvements

Two main changes:

1. Cache parsed AST in a Source. So Parser will parse content only once.
2. Use one unified visitor with multiple callbacks instead of multiple
visitors to traverse AST.

This improves performance significantly, for example running it on
Crystal repository takes ~1 second, which 6 times faster than before.

* Change readme example
2017-11-06 20:54:58 +02:00
Vitalii Elenhaupt f878ac430f
Refactor formatters 2017-11-06 10:41:03 +02:00
Vitalii Elenhaupt 1a3bb3629e
Line lenght: 80 symbols 2017-11-06 08:54:59 +02:00
V. Elenhaupt 374956f3dd
Fix travis build & new rule: constant names (#14) 2017-11-05 22:08:01 +02:00
Vitalii Elenhaupt 8440747353
New rule: variable names 2017-11-04 23:13:38 +02:00
Vitalii Elenhaupt 3d4c44c333
New rule: method names 2017-11-04 22:54:27 +02:00
Vitalii Elenhaupt 20fd53682f
New rule: type names 2017-11-04 18:57:35 +02:00
Vitalii Elenhaupt e383ec17c2
Refactor tokenizer 2017-11-04 17:38:04 +02:00
V. Elenhaupt 2f9ba27811
Large numbers rule + tokenizer (#10) 2017-11-04 16:43:40 +02:00
Vitalii Elenhaupt c9f229c3f1
Custom matcher 2017-11-01 22:05:41 +02:00
Vitalii Elenhaupt 67506fc643
New rule: negated conditions in unless 2017-11-01 21:30:30 +02:00
Vitalii Elenhaupt 0ca990dd5c
New rule: predicate name 2017-11-01 15:20:04 +02:00
Vitalii Elenhaupt 348496ab9d
New rule: debugger statement 2017-11-01 14:44:00 +02:00
Vitalii Elenhaupt 64ccc7448c
New rule: literal in the interpolation 2017-11-01 14:18:28 +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 1822b2b0a2
Fix line rule failure 2017-11-01 12:23:12 +02:00
Vitalii Elenhaupt 6f5d7f0478
New rule: a literal in the condition 2017-11-01 12:22:37 +02:00
Vitalii Elenhaupt 2eef485501
AST traverse 2017-11-01 01:06:47 +02:00
Vitalii Elenhaupt 6d9f1c67ed
New rule: comparison to boolean 2017-10-31 23:30:22 +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 b8eeac469a
New rule: trailing blank lines 2017-10-31 17:50:05 +02:00
Vitalii Elenhaupt 7d3d0902e5
New rule: trailing whitespace 2017-10-30 22:35:11 +02:00
Vitalii Elenhaupt 9bba850a9b
Docs & tests 2017-10-30 22:00:01 +02:00