Commit Graph

94 Commits

Author SHA1 Message Date
JP Simard 09e9d62056 print deprecation warning for 'enabled_rules' to stderr rather than stdout
to follow the convention used elsewhere in the project as to not invalidate
the output structure from formatted violation reporters like json, csv &
checkstyle.
2016-02-08 13:24:14 -08:00
JP Simard 711f23a9b9 introduce private ConfigurationKey enum in Configuration.swift
this should replace all the hardcoded string literals representing configuration
dictionary keys.
2016-02-08 13:24:14 -08:00
JP Simard 70c1008591 use constant strings rather than literals in Configuration.swift 2016-02-08 13:24:14 -08:00
JP Simard a0524644f5 move Configuration.rulesFromDict to RuleList.configuredRulesWithDictionary 2016-02-08 13:24:13 -08:00
JP Simard 59da7f3ce9 add --quiet flag to lint and autocorrect commands
addresses #386
2016-02-08 13:21:40 -08:00
JP Simard 368ee9544a fold ConfigurableRule into Rule 2016-02-08 13:08:51 -08:00
JP Simard c4ed26c05c allow passing an optional --reporter parameter to swiftlint lint 2016-02-06 11:14:23 -08:00
Norio Nomura a583b8e22c Rename label of tuple
It fixes following error:
> Source/swiftlint/Commands/LintCommand.swift:35:27: error: cannot invoke 'appendContentsOf' with an argument list of type '([(rule: String, time: Double)])'
>                ruleTimes.appendContentsOf(currentRuleTimes)
>                          ^
>Source/swiftlint/Commands/LintCommand.swift:35:27: note: expected an argument list of type '(C)'
>                ruleTimes.appendContentsOf(currentRuleTimes)
>                          ^

It seems Swift does not allow label mismatch on that.
2016-02-01 13:23:55 +09:00
JP Simard 8522aaa937 fix MasterRuleList order 2016-01-31 14:09:11 -08:00
Denis Lebedev b9676eb58f Rename ParametersListLengthRule -> FunctionParameterCountRule 2016-01-31 14:09:11 -08:00
Denis Lebedev 81e7f347ce Implement ParametersListLengthRule 2016-01-31 14:09:11 -08:00
Norio Nomura fe6cdb2bdc Add calls invalidateCache() on every corrections in Linter.correct()
Cache entry should be invalidate on every corrections,
because caches and content may not match after corrections.
2016-01-30 15:46:47 +09:00
Daniel Beard 998bed9716 Add whitelist only rules 2016-01-29 13:55:31 -08:00
Benjamin Otto 5d02d70c63 Added a force unwrapping rule
The rule will create a warning for all force unwrappings
2016-01-26 10:48:31 -08:00
JP Simard 6a3c3bfa3b also benchmark rule times when running lint with --benchmark 2016-01-25 23:27:30 -08:00
JP Simard d8167e83d7 add --benchmark option to LintCommand
to benchmark how long each file took to lint
2016-01-25 23:27:30 -08:00
Scott Hoyt 45d8633514 Added CustomRules to masterRuleList. 2016-01-25 07:26:31 -08:00
Denis Lebedev dbb7938f54 Add POC of complexity rule 2016-01-24 12:34:32 -08:00
Scott Hoyt 610782220c Make ConfigurationError marginally more useful by not squashing it in Configuration.rulesFromDict. 2016-01-23 17:42:13 -08:00
Scott Hoyt ddcde17f04 Add min and max length checking responsibilities to VariableNameRule. 2016-01-23 17:42:13 -08:00
Scott Hoyt 0b61c63937 Extracted Rule Configuration structs to own files. 2016-01-23 17:42:13 -08:00
Scott Hoyt ccbcb537b5 Convert ConfigurableRule to throwing init instead of failing. 2016-01-23 17:42:13 -08:00
JP Simard 61920d2ab7 avoid Swift 2.2 deprecations 2016-01-22 21:09:28 -08:00
JP Simard ace0999154 update SourceKitten to 0.8.0 2016-01-22 19:19:15 -08:00
JP Simard c9246542ad fix infinite recursion when using nested config files. Fixes #368 2016-01-21 12:49:04 -08:00
JP Simard 9acc4c56b3 rewrite Location.description to compile 25x faster
before: 1097.1ms
after: 44.2ms
2016-01-18 13:52:37 -08:00
Scott Hoyt e389aafa0c Removed ruleParametersFromArray. 2016-01-14 08:53:18 -08:00
Aaron McTavish 20dbbe81b7 Implement LegacyConstantRule
From #319

CGGeometry: Prefer struct-scope constants CGRect.infinite, CGRect.null,
etc. over global constants CGRectInfinite, CGRectNull, etc.
2016-01-13 17:17:35 -08:00
JP Simard 9eabd45ce5 add "Missing Docs" rule 2016-01-13 15:59:37 -08:00
JP Simard 4c52163a70 add rule to encourage checking isEmpty over comparing count to zero 2016-01-13 15:41:25 -08:00
JP Simard 2f3b2096e6 support opt-in rules 2016-01-12 12:11:09 -08:00
Scott Hoyt 46838b11f1 Fixed access level issues. 2016-01-11 11:21:49 -08:00
Scott Hoyt da45c7fe88 Switched out force cast with failable cast in Configuration.rulesFromDict() 2016-01-11 11:21:49 -08:00
Scott Hoyt 7bb8316664 Removed new test rule from master list and made to pass tests. 2016-01-11 11:21:49 -08:00
Scott Hoyt dd58175000 Added example VariableNameMinLengthNewRule using ConfigurableRule. 2016-01-11 11:21:49 -08:00
Scott Hoyt b654dc0c8b Clean up some linting warnings. 2016-01-11 11:21:49 -08:00
Scott Hoyt 8cd2d9f3f2 Removed ruleParametersFromArray from Configuration. 2016-01-11 11:21:49 -08:00
Scott Hoyt 7efb020a4b Added tests for configuring rules from config dictionary. 2016-01-11 11:21:49 -08:00
Scott Hoyt fa7d4024e3 Switched Configurable rule to a failable initializer that takes AnyObject. 2016-01-11 11:21:49 -08:00
Scott Hoyt 9b6f3070a3 Wrote ConfigurableRule, made ParameterizedRule's conform, moved configuration into rules themselves. 2016-01-11 11:21:49 -08:00
Scott Hoyt eab96555e5 Switch to non optional Configuration initialization from dictionary. 2016-01-11 11:18:54 -08:00
Scott Hoyt 6510960fa6 Began extracting Yaml dependency out of Configuration and into YamlParser 2016-01-11 11:18:54 -08:00
Scott Hoyt 31b9cc0149 Remove redundant YAML functions from Configuration. 2016-01-11 11:18:54 -08:00
Scott Hoyt f0cb4d81c3 Added dictionary-based initialization for Configuration. 2016-01-11 11:14:54 -08:00
Scott Hoyt 909ca9fcb6 Added masterRuleList. 2016-01-11 11:14:54 -08:00
Scott Hoyt ddcc67273b Added tests for new Yaml+SwiftLint extensions. 2016-01-11 11:14:54 -08:00
Scott Hoyt a81b228e5f Extracted Yaml extensions out of Configuration.swift 2016-01-11 11:14:54 -08:00
Aaron McTavish c5873a4620 Fixed alphabetising list 2016-01-11 07:40:44 -08:00
Aaron McTavish fe3136d8ff Adding ConditionalBindingCascadeRule 2016-01-11 07:40:16 -08:00
JP Simard d60a85aae0 make commands with modifiers work for violations with line-only locations 2016-01-04 13:25:57 -08:00