Commit Graph

215 Commits

Author SHA1 Message Date
Marcelo Fabri 441bece9da Add extension_access_modifier rule 2017-06-02 21:24:55 +02:00
Marcelo Fabri 32e38c96cf Add kinds(inByteRange:) 2017-05-25 04:55:47 +02:00
JP Simard 592537966c make Region & Command structs conform to Equatable 2017-05-24 11:33:39 -07:00
JP Simard bb50a4e8e5 fix overlapping commands causing incorrect Region generation
fixes #1388
2017-05-23 13:38:24 -07:00
JP Simard 201a74ef0b recursively call extractCallsToSuper(methodName:) 2017-05-23 10:26:13 -07:00
JP Simard 923f38c11b simplify FileManager.modificationDate(forFileAtPath:) impl 2017-05-18 13:59:24 -07:00
Víctor Pimentel 5ed010c9c0 Change LinterCache to use file modification dates instead of hashing files with a weak algorithm. 2017-05-18 13:39:05 -07:00
JP Simard 04824c9b51 move 'AccessControlLevel.swift' from 'Extensions' to 'Models' 2017-05-16 10:58:49 -07:00
Marcelo Fabri d73ee8d3d9 Remove Swift 2 support
Also removes `missing_docs` and `valid_docs` rules.

Fixes #1453.
2017-04-23 13:43:41 +02:00
Norio Nomura a3d6a4295d NSRegularExpression is added on Linux 2017-04-17 17:22:54 +09:00
Daniel Rodríguez Troitiño c29cf9a4d0 Avoid pattern matching false positives
The rule for unused optional binding was false triggering for pattern matching where the associated value was just an underscore. Additionally, pattern matching mixed with unused optional binding was not triggering in some cases.

New non triggering and triggering examples have been added for the failing cases, and new regular expressions are used to catch all the cases.

Modify the code in `File+SwiftLint` to expose full `NSTextCheckingResult` (and not just ranges) and rewire some pieces to use the new functions.

Fixes #1376
2017-04-06 14:16:12 -07:00
Keith Smiley b410c9376a Update optional interpolated strings for Xcode 8.3 2017-04-06 13:37:49 -07:00
Norio Nomura b5cba7ae40 Replace YamlSwift with Yams 2017-04-03 09:16:04 +09:00
JP Simard 34f40c861f make regex cache thread-safe 2017-03-09 12:10:40 -08:00
Marcelo Fabri f90b25e2e1 Refactor elements to not be optional 2017-02-09 17:59:31 -08:00
JP Simard 8c4bfcc58d Merge branch 'master' into identifier-rule
* master: (44 commits)
  make valid_docs rule opt-in
  update LineLengthConfiguration.consoleDescription after #1264
  small refactoring after #1264
  fix for_where violation in CompilerProtocolInitRule.swift
  Add for_where rule
  explicitly set podspec dependency versions
  Add changelog entry
  Fix existing violations
  Navigate substructure even for different kinds
  Small style changes
  Modified so that kinds(forByteOffset:) does not require a separate filter() setup of the results
  Changes from PR feedback. Long comments following code in a line will now trigger,  configuration will now fail if invalud value types are set for options
  Fix false positive on large_tuple when using generics inside a tuple
  fix wording in changelog
  disable docs rules in Swift 2.3 and later
  Fix deadlock when stderr fills up OS buffer
  small Danger/oss-check improvements
  Fix links
  Fix cleanup
  Always use Xcode reporter on oss-check
  ...
2017-02-09 15:50:06 -08:00
JP Simard 69f885cf08 small refactoring after #1264 2017-02-09 14:42:09 -08:00
Marcelo Fabri 2300ae3daf Small style changes 2017-02-06 21:59:30 -02:00
Michael Welles 15a7a88297 Modified so that kinds(forByteOffset:) does not require a separate
filter() setup of the results
2017-02-06 15:58:45 -05:00
Michael Welles 7d48153d4a fixed merge conflicts 2017-02-06 15:38:19 -05:00
Michael Welles c9ff0aa07f Changes from PR feedback. Long comments following code in a line will now trigger, configuration will now fail if invalud value types are set for options 2017-02-06 15:33:44 -05:00
JP Simard a01cb69a83 disable docs rules in Swift 2.3 and later 2017-02-03 14:42:11 -08:00
Michael Welles cd843e7fcd Added "ignores_comments" and "ignores_function_declarations" as boolean options to LineLengthRule 2017-01-30 17:51:56 -05:00
Marcelo Fabri 8715b913de PR feedback 2017-01-23 21:38:56 -02:00
Marcelo Fabri 44c55f4bde VariableNameRule is now IdentifierNameRule 2017-01-23 21:38:56 -02:00
JP Simard 29cdc86185 add some convenience members to SourceKit dictionaries 2017-01-22 11:00:57 -08:00
Marcelo Fabri e6155ea76e Fix excluded configuration not excluding files.
Fixes #1166
2017-01-12 00:36:59 -02:00
JP Simard 92c5a11303 Merge pull request #1119 from rakaramos/master
Add Unused optional binding rule
2017-01-10 14:19:05 -08:00
rakaramos 23a0d53424 Merge branch 'master' of github.com:realm/SwiftLint 2017-01-10 10:12:28 -02:00
JP Simard 9a0bd3afc2 move extractCallsToSuper to Dictionary extension 2017-01-09 20:24:46 -08:00
JP Simard a291bb594a update SwiftLintFramework/Extensions to follow Swift 3 API Design Guidelines 2017-01-09 17:53:07 -08:00
rakaramos 147bfd6d5b Use range parameter if exists 2017-01-09 13:14:21 -02:00
Rafael Machado 14ea8a22d5 Add range to avoid whole file lookup 2017-01-07 16:28:04 -02:00
Marcelo Fabri 50535e7e5c Refactor regex functions to accept options
Fixes #1127
2017-01-06 21:04:15 -02:00
JP Simard 1c0e0b7b61 use NSString.isSwiftFile() instead of hasSuffix(".swift") 2017-01-05 20:43:04 -08:00
JP Simard 43a56ffa85 use FileManager.DirectoryEnumerator to implement filesToLintAtPath(...) 2017-01-05 18:08:29 -08:00
Marcelo Fabri d9eda655bf PR feedback 2017-01-02 17:49:54 -02:00
JP Simard 8906da640c perform Cache factory while locked 2017-01-02 09:52:01 -08:00
JP Simard 53d0cf6975 fix incorrect flatMap usage to use map instead 2017-01-02 09:47:48 -08:00
JP Simard 8774a921a6 use DispatchQueue.concurrentPerform rather than rolling our own
also remove parallelForEach from SwiftLintFramework's public interface
since calling the GCD API is almost as concise and avoids polluting the
public API.

Finally, also remove the "fast" path for parallelMap since GCD should
do the reasonable thing for us here.
2016-12-31 17:06:02 -08:00
JP Simard 28813fce08 extend Array with parallelMap, parallelFlatMap and parallelForEach 2016-12-30 23:08:23 -08:00
JP Simard 8a4671ecc5 make Cache thread-safe
and make some of its members private instead of fileprivate
2016-12-30 23:07:47 -08:00
JP Simard da555b8a3b minor spacing fixes 2016-12-30 18:21:11 -08:00
JP Simard a50a0bee06 move array(of:) into other unconstrained Array extension 2016-12-30 18:21:11 -08:00
Marcelo Fabri 8c1532691d Make object_literal rule work with Swift 2.3 2016-12-30 17:57:30 -02:00
Marcelo Fabri 7056434992 Add object_literal rule
Fixes #1060
2016-12-30 17:57:30 -02:00
Marcelo Fabri aea1fd3538 Fix false positives on closure rules with Swift 2.3
Fixes #1019
2016-12-29 18:18:06 -02:00
Marcelo Fabri d6a15f7341 PR feedback 2016-12-26 13:34:50 -02:00
Marcelo Fabri c43f808cfc Re-enable ConfigurationTests.testExcludedPaths 2016-12-26 13:32:13 -02:00
Marcelo Fabri 9d64a22426 Re-enable testVariableName and testTypeName on Linux 2016-12-26 13:32:13 -02:00