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
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
6acb8ad2eb
ChainedCallsWithNoBang -> ChainedCallWithNoBang
2021-01-22 17:24:45 +01:00
Sijawusz Pur Rahnama
8babeea80f
Add repeated_combinations
and repeated_permutations
2021-01-22 12:21:14 +01:00
Sijawusz Pur Rahnama
a219a73258
Remove rotate from the list of call_names
...
In some cases it returns `self` and not a copy.
2021-01-22 12:20:50 +01:00
Sijawusz Pur Rahnama
d3b952f58a
Add Performance/ChainedCallsWithNoBang rule
2021-01-21 12:47:10 +01:00
Sijawusz Pur Rahnama
ad8f570a04
Change Rule to class
2021-01-19 22:17:17 +01:00
Sijawusz Pur Rahnama
ddaa58f475
Merge pull request #192 from crystal-ameba/feature/flatten-after-map-rule
...
Add Performance/FlattenAfterMap rule
2021-01-19 22:16:10 +01:00
Sijawusz Pur Rahnama
23b4b4c4f0
Add Performance/FlattenAfterMap rule
2021-01-18 18:04:54 +01:00
Sijawusz Pur Rahnama
b7286dc673
Add Performance/CompactAfterMap rule
2021-01-18 18:04:12 +01:00
Sijawusz Pur Rahnama
d2fa75280f
Extend JoinAfterMap to check also calls to sum/product
and rename it to MapInsteadOfBlock ( #190 )
2021-01-18 17:42:50 +02:00
Vitalii Elenhaupt
e9ec91654c
New Rule: Lint/DuplicatedRequire
...
closes https://github.com/crystal-ameba/ameba/issues/176
2021-01-17 22:32:24 +02: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
928a260d51
Remove extraneous blank lines
2021-01-17 18:45:14 +01:00
Sijawusz Pur Rahnama
af5d825015
Followup to #185
2021-01-17 18:45:14 +01:00
Sijawusz Pur Rahnama
fd4b2f309c
Don’t allocate the array on every call
2021-01-17 18:05:08 +01:00
Sijawusz Pur Rahnama
5e58a60ade
Move constant definitions after properties
call
2021-01-17 17:39:32 +01:00
Sijawusz Pur Rahnama
a892cd43b0
Add Performance/JoinAfterMap rule
2021-01-17 16:57:15 +01:00
Sijawusz Pur Rahnama
06852c490b
Followup to #185
2021-01-17 13:25:50 +01:00
Sijawusz Pur Rahnama
1a091c1f1a
Optimize rules ( #185 )
...
* Replace pointless interpolations with actual values
* Rules optimizations
* Stylistic refactors
* Remove extraneous blank lines
* Remove some instances of .not_nil! usage
2021-01-17 14:16:04 +02:00
Sijawusz Pur Rahnama
19c370aee0
Misc refactors ( #180 )
...
* Optimize Severity#symbol
* Remove empty else branches
* Optimize map+compact/flatten calls
* Misc stylistic refactors
2021-01-11 20:13:58 +02:00
Vitalii Elenhaupt
de3f16a9dc
Disable Lint/EmptyExpression rule
...
closes #169
2020-10-23 19:21:39 +03:00
Vitalii Elenhaupt
f8d57345d4
Merge branch 'develop'
2020-08-26 22:46:03 +03:00
Vitalii Elenhaupt
b5bd76dfa8
Useless Assign: ignore variables with '_' prefix
...
closes #164
2020-08-20 21:15:58 +03:00
Vitalii Elenhaupt
d650ca5477
Incorrectly reporting shadowingOuterLocalVar within macro included
...
closes #161
2020-07-15 10:18:12 +03:00
Vitalii Elenhaupt
7f501a1df5
RedundantStringCoercion: do not report to_s with named args
...
closes #160
2020-06-24 09:26:03 +03:00
Vitalii Elenhaupt
3448de30da
Enable rules which were disabled during bugfix release
2020-06-19 21:41:02 +03:00
Vitalii Elenhaupt
c3260c1740
Move to YAML::Serializable
2020-06-15 14:29:49 +03:00
Vladislav Trotsenko
bdeb6e3391
Feature/Layout trailing lines, final newline checkup ( #152 )
2020-05-05 16:52:24 +03:00
Vitalii Elenhaupt
b215b34060
Disable new rules before the coming bugfix release
2020-04-13 10:11:15 +03:00
Vitalii Elenhaupt
478da94c20
Allow constants to be in PascalCase (i.e. Log, SuperConstant)
...
closes #148
2020-04-13 09:38:05 +03:00
Sijawusz Pur Rahnama
1a25583036
Make InlineComments::COMMENT_DIRECTIVE_REGEX more strict ( #146 )
2020-04-11 09:55:41 +03:00
Vitalii Elenhaupt
458c492730
Do not report shadowing outer local var is var is declared below the
...
shadowed var
closes #144
2020-04-10 10:44:42 +03:00
Vitalii Elenhaupt
99c65b5a28
New rule: Lint/BadDirective ( #143 )
...
* New rule: Lint/BadDirective
* Address PR feedback
2020-04-06 15:10:34 +03:00
Vitalii Elenhaupt
db6b54e63c
New rule: Style/IsANil
2020-03-29 19:45:13 +03:00
Vitalii Elenhaupt
02f4afaa64
Correct doc typo
2020-03-27 23:17:36 +02:00
Vitalii Elenhaupt
04497feeed
Lint/LiteralInInterpolation: properly report node position
2020-03-27 19:44:04 +02:00
Brian J. Cardiff
6259e26457
Comply exhaustive case check
2020-03-27 09:25:07 -03:00
Vitalii Elenhaupt
9c6bc2a376
Merge pull request #137 from crystal-ameba/feat/redundant-string-coercion
...
New rule: Lint/RedundantStringCoercion
2020-03-26 23:55:23 +02:00
Vitalii Elenhaupt
59bc021e57
Do not report if Object#to_s is called without receiver
2020-03-26 23:51:54 +02:00
Vitalii Elenhaupt
ff1669ebe8
New rule: Lint/RedundantStringCoercion
2020-03-26 16:26:27 +02:00
Vitalii Elenhaupt
98bc6bb76a
Improve Lint/SharedVarInFiber rule description
2020-03-26 15:18:44 +02:00
Vitalii Elenhaupt
a6958ab455
New rule: EmptyLoop
2020-03-26 10:27:00 +02:00
Vitalii Elenhaupt
1a0468c653
Use NodeVisitor by default and remove the boilerplace code
2020-03-25 18:21:07 +02:00
Vitalii Elenhaupt
4f185db0a2
New rule: SharedVarInSpawn
...
closes #132
2020-03-25 17:52:20 +02:00
Vitalii Elenhaupt
0002c36fae
RedundantNext params
2020-03-24 18:27:49 +02:00
Vitalii Elenhaupt
a5dd07e9e4
New rule: RedundantNext
...
closes #131
2020-03-24 18:06:01 +02:00
Vitalii Elenhaupt
946ec67fae
Include binary op node to redundant return
2020-03-22 20:12:24 +02:00
Vitalii Elenhaupt
aff723b682
Incorrectly reporting shadowingOuterLocalVar within macro included
...
closes #129
2020-02-15 20:49:47 +02:00
Vitalii Elenhaupt
74dfa0b934
Lint/UselessAssign: ignore transformed assignemnts by the compiler
...
closes #127
2020-01-11 23:51:28 +02:00
Vitalii Elenhaupt
6b56c87e78
Shadowing via short instance variable syntax
...
closes #122
2019-11-11 15:51:09 +02:00
Vitalii Elenhaupt
fde321f7e6
New rule: RedundantWithObject ( #121 )
2019-11-10 09:47:30 +02:00
Vitalii Elenhaupt
b6cc454039
New rule: RedundantWithIndex ( #120 )
2019-11-10 09:29:17 +02:00
Vitalii Elenhaupt
4ae0195628
Avoid duplicated sections in a generated TODO file (additional fix)
2019-10-27 22:56:53 +02:00
Vitalii Elenhaupt
111596541b
Avoid duplicated sections in a generated TODO file
2019-10-27 22:15:04 +02:00
Vitalii Elenhaupt
19d9223ec1
Properly detect if scope references a variable
2019-10-27 21:53:07 +02:00
Vitalii Elenhaupt
904b5beec2
Lint/UnusedArgument: fails to recognized used argument inside macro
...
closes #117
2019-10-27 21:32:55 +02:00
Vitalii Elenhaupt
b868d88a85
CyclomaticCompexity: report onle def name
2019-07-12 23:33:08 +03:00
Vitalii Elenhaupt
ffa5dc9b4c
Crystal 0.29 fixes ( #109 )
...
* Fixes vs crystal head
* Use crystal nightly
* Remove trailing ? from local variable
* Do not use ? in the lhs
ref https://github.com/crystal-lang/crystal/issues/6685#issuecomment-419758587
* Upgrade to crystal 0.29.0 (warnings free) (#108 )
* Remove trailing ? from local variable (take 2)
* Fix Time.now deprecation warnings
* Remove Crystal nightly
2019-06-06 19:10:26 +03:00
Vitalii Elenhaupt
037d1dde74
Performance/FirstLastAfterFilter: ignore .first/.last with args
...
closes #104
2019-06-03 18:25:48 +03:00
Vitalii Elenhaupt
94e1d4567a
Properly report performance rules in macros
...
closes #102
2019-05-05 18:05:08 +03:00
Vitalii Elenhaupt
f6a57f9272
Set default severities
2019-04-14 12:15:38 +03:00
Vitalii Elenhaupt
a059ade305
Remove one-line methods
...
Unnecessary level of abstraction
2019-03-23 19:25:16 +02:00
Vitalii Elenhaupt
d2b36047ef
Correct variable name rule doc
2019-02-24 20:04:35 +02:00
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
Vitalii Elenhaupt
866af184f1
Redundant return ( #87 )
2018-12-30 09:04:59 +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
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
V. Elenhaupt
0fd5890738
Extend UnreachableCode rule: handle control flow ( #83 )
2018-11-22 10:38:32 +02:00
Vitalii Elenhaupt
67d76116f7
Basic implementation of UnreachableCode rule
2018-11-05 21:39:27 +02:00
Vitalii Elenhaupt
12aa48c98f
Fix Style/RedundantBegin: begin-end in a proc literal
...
closes #80
2018-09-22 21:58:38 +03:00
V. Elenhaupt
fd78d17c40
New rule: Performance/FirstLastAfterFilter ( #76 )
2018-09-06 17:59:11 +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
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
dbac46b68a
Ignore outer shadowing of throwaway variables
...
closes #67
2018-06-25 17:02:46 +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
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
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
402a0c0dab
Unused argument name suggession
2018-05-13 14:13:57 +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
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
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
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
Vitalii Elenhaupt
d307f01bfa
Add a space delimiter to duplicated hash keys
2018-04-13 20:10:21 +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
Vitalii Elenhaupt
9e2ab9c002
Show hash duplicated keys in error message
...
closes #45
2018-04-12 19:18:33 +03:00
Vitalii Elenhaupt
2f837375ec
New rule: rand zero
2018-03-08 18:59:20 +02:00
Vitalii Elenhaupt
eda5960b0f
Check for unneeded directives when all other rules are done
2018-02-02 22:17:04 +02:00
Vitalii Elenhaupt
6fb483a2dd
Prevent disabling of UnneededDisableDirective rule
2018-02-02 22:17:04 +02:00
Vitalii Elenhaupt
8075c39aa9
Unneeded disable directive
2018-02-02 22:17:04 +02:00
Vitalii Elenhaupt
55b66e7975
Use more natural way to define error with custom loc
2018-01-30 16:09:00 +02:00
Vitalii Elenhaupt
4c85ad7c75
Syntax rule running priorities
2018-01-25 12:37:25 +02:00
Vitalii Elenhaupt
c9db63bf34
Syntax rule
2018-01-25 12:37:25 +02:00
Vitalii Elenhaupt
7e8703dda0
Crystal 0.24.1 support
2017-12-26 18:21:21 +02:00
Vitalii Elenhaupt
eca0d28692
Excluded relative path path
2017-12-18 13:06:19 +02:00
V. Elenhaupt
f12a224dad
New rule: shadowed exception ( #25 )
2017-12-06 16:59:10 +02:00
Vitalii Elenhaupt
96c1af4e35
New rule: useless condition in when
...
thanks to @hugoabonizio for suggesstion
2017-12-02 21:55:50 +02:00
Vitalii Elenhaupt
db815a2e30
Fix error message
2017-12-01 00:03:05 +02:00
Hugo Abonizio
b023ae0baa
Disallows while true
( #22 )
...
* Disallows `while true`
* Add syntax highlighting in documentation
* Replace `while true` occurrencies
* Add WhileTrue rule to config sample
2017-11-27 15:35:15 +02:00
Vitalii Elenhaupt
21abce63bd
Report only wrong predicate names
2017-11-23 19:58:59 +02:00
Vitalii Elenhaupt
dceafd26e5
Except & only cli flags
2017-11-23 19:49:45 +02:00
Vitalii Elenhaupt
f4f401d56f
Make config loading more flexible
2017-11-23 10:41:22 +02:00
Vitalii Elenhaupt
0520774930
New rule: duplicated when
2017-11-18 18:39:45 +02:00
Vitalii Elenhaupt
1839ef2ab5
New rule: hash duplicated key
2017-11-18 00:51:16 +02:00
Vitalii Elenhaupt
791bfdabb8
New rule: percent arrays
2017-11-17 23:56:52 +02:00
Vitalii Elenhaupt
0f25b50a57
Add missing YAML sample
2017-11-17 19:34:01 +02:00
Vitalii Elenhaupt
3c9df13beb
New option: LargeNumbers#int_min_digits (default: 5)
2017-11-17 19:07:39 +02:00
Vitalii Elenhaupt
b3a9ff2fa0
Mark begin; end
as empty expression
2017-11-17 18:32:40 +02:00
Vitalii Elenhaupt
fb398b5056
New rule: redundant begin
2017-11-17 18:15:11 +02:00
Vitalii Elenhaupt
e5081fa970
New rule: empty ensure
2017-11-16 16:31:32 +02:00
Vitalii Elenhaupt
57b1095c5f
Document entities
2017-11-15 23:37:16 +02:00
Vitalii Elenhaupt
06855816d7
Document configuration properties & specs
2017-11-14 10:28:26 +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
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
4e84ac871a
New rule: Line Length
2017-10-26 21:47:35 +03:00