JP Simard
fbe768ec3c
assorted simplifications throughout the project
2016-08-21 18:36:16 -07:00
JP Simard
c66c5c8df0
formatting fixes
...
found running `swiftlint autocorrect --format`
2016-05-29 14:58:28 -07:00
Craig Siemens
c3a5e33a59
Add autocorrect for ReturnArrowWhitespaceRule
2016-04-23 23:56:40 -06:00
Norio Nomura
2c19f759b2
Add File.assertHandler for testing
...
Because XCTest does not have functions that expecting assert happens.
That will be used only when sourcekitd failed, so performance regression by this is ignorable.
2016-04-13 18:40:25 +09:00
Norio Nomura
e4a161132e
Change File.sourcekitdFailed to settable and internal
...
settable is for testing.
2016-04-13 18:40:25 +09:00
Norio Nomura
43f75642f8
Change Cache<T> to working for file without path
2016-04-13 18:40:25 +09:00
Norio Nomura
350a85a3cb
Request.sendMayThrow() has been changed to Request.failableSend()
2016-04-13 18:40:25 +09:00
Norio Nomura
3ae3bfef71
Add early returns by checking File.sourcekitdFailed
2016-04-13 18:40:25 +09:00
Norio Nomura
b0cda17c4c
Move calling queueForRebuild.append(structure) to structureCache's factory closure
...
Because Swift does not allow `as? Structure?`.
2016-04-13 18:40:25 +09:00
Norio Nomura
d92b2d6037
Use Request.sendMayThrow() in SourceKittenFramework
...
For gaining advantage of using `sourcekitd_set_notification_handler()`,
we need to vacate main thread to `dispatch_main()`.
2016-04-13 18:40:25 +09:00
Erik Aigner
2c5b7a61d6
Accept variable names starting with more than one capital letter
...
The rule was modified to allow for names that start with multiple uppercase letters like XMLString or MIMEType.
Closes #566
2016-03-13 12:08:32 +01:00
JP Simard
0979aa3b64
Merge pull request #552 from realm/nn-rewrite-force-unwrapping-rule
...
Rewrite `ForceUnwrappingRule`
2016-03-09 19:53:44 -08:00
JP Simard
1166b697c2
fix docs typos
2016-03-09 19:43:52 -08:00
Neil Gall
1b4cf0c574
Do not overwrite files whose contents have not changed
2016-03-02 14:23:33 +00:00
Norio Nomura
c042258ac3
Add Structure.kindsFor(_:)
...
That returns array of tupple containing "key.kind" and "byteRange" from Structure that containing the byte offset.
2016-02-21 22:35:56 +09:00
Norio Nomura
7c2c4ac270
Apply workaround for false positive of valid_docs
...
```
SwiftLintFrameworkTests.IntegrationTests
testSwiftLintLints, failed - Documented declarations should be valid.
```
That has been fixed on locally by https://github.com/jpsim/SourceKitten/pull/175
2016-02-19 18:17:20 +09:00
Norio Nomura
67be11ac92
Improve performance of SyntaxMap.tokensIn(_:)
...
On linting Carthage 0.14, the duration of `SyntaxMap.tokensIn(_:)` reduced from 145ms to 51ms.
2016-02-19 17:55:44 +09:00
Norio Nomura
704e7bde1d
Add SyntaxMap.tokensIn(_:)
...
That returns array of SyntaxTokens intersecting with byte range.
2016-02-19 17:30:54 +09:00
Norio Nomura
be8f2ce63d
Remove surplus map calls in rangesAndTokensMatching(_:)
2016-02-17 11:11:47 +09:00
Norio Nomura
669fbf09d0
Refine ForceUnwrappingRule
...
Fix #535
The duration of `ForceUnwrappingRule` on linting Carthage 0.14 is reduced from 1415ms to 339ms by Instruments.
2016-02-14 23:07:18 +09:00
JP Simard
1866edae77
adjust access control levels for many APIs in SwiftLintFramework
...
this is done in an effort to stabilize the API for SwiftLint 1.0.
2016-02-10 17:26:06 -08:00
JP Simard
7d0afb190b
rename matchAndTokensPattern to rangesAndTokensMatching
...
also align regex pattern comments & fix indentation
2016-02-10 15:42:07 -08:00
Norio Nomura
83c008507b
Improve performance of ColonRule
...
The duration of `ColonRule` on linting Carthage 0.13 is reduced from 1673ms to 515ms by Instruments.
2016-02-10 15:16:21 -08:00
Norio Nomura
94fabdd11d
Add fflush(stdout) before fputs(…, stderr)
...
`Swift.print()` uses buffered stdout by calling `putchar(_:)`.
This avoids mixing strings from stdout and stderr.
fix #432
2016-02-08 10:26:49 +09:00
Scott Hoyt
d17f5b9d92
Modified access level of matchPattern(_, excludingSyntaxKinds:, excludingPattern:)
2016-02-02 17:15:00 -08:00
Scott Hoyt
2a623e926e
Eliminated unneeded local variable.
2016-02-02 17:15:00 -08:00
Scott Hoyt
ebaa6ec871
Increase performance by early return if matches isEmpty.
2016-02-02 17:15:00 -08:00
Scott Hoyt
0ee04c3fa3
Added exclusion pattern for matching patterns in a file. Added Array and NSRange extensions to support. Used this in OpeningBraceRule.
2016-02-02 17:15:00 -08:00
Norio Nomura
cd307cfe5a
Improve performance of syntaxKindsByLine
...
This depends on https://github.com/jpsim/SourceKitten/pull/152
The duration of linting Carthage 0.11 is reduced from 17sec to 16sec
SwiftLint(32b325b ) with SourceKitten(0f54e19):
```
swiftlint lint --config ~/.swiftlint-test.yml 17.48s user 1.12s system 83% cpu 22.182 total
```
SwiftLint(this) with SourceKitten(d7f9266):
```
swiftlint lint --config ~/.swiftlint-test.yml 16.05s user 1.05s system 85% cpu 20.051 total
```
2016-01-31 13:47:48 -08:00
Norio Nomura
28ae84600c
Add missing calls responseCache.clear() to File.clearCaches()
2016-01-30 15:35:49 +09:00
Norio Nomura
01e3da0dd3
Add File.invalidateCache() that invalidate cache entry of the file
2016-01-30 15:34:22 +09:00
Norio Nomura
97392bdc94
Add NSRegularExpression.cached(pattern:)
...
All rules enabled linting Carthage 0.11 with this commit:
- Persistent Bytes on termination is reduced from 584.67MB to 556.62MB.
- Duration is reduced from 22sec to 21sec.
Related: #394
2016-01-27 14:33:19 +09:00
Scott Hoyt
2f60e0b8f1
Removed unneeded rule disable.
2016-01-25 10:02:55 -08:00
Scott Hoyt
c1406e10ce
Added convenience initializer to NSRegularExpression for SwiftLint defaults.
2016-01-25 07:26:31 -08:00
Scott Hoyt
b76a3d2ae6
Added tests.
2016-01-25 07:26:31 -08:00
Scott Hoyt
2974a81c54
Switched out SyntaxKind(shortName:) implementation for something simpler.
2016-01-25 07:26:31 -08:00
Scott Hoyt
0a4602b3e6
Refactored matchPattern to expose a method for supplying pre-initialized regex.
2016-01-25 07:26:31 -08:00
Scott Hoyt
615873adc2
Added to SyntaxKind+SwiftLint. RegexConfig now defaults to allKinds().
2016-01-25 07:26:31 -08:00
Norio Nomura
5933e31228
Optimize File.allDeclarationsByType
...
It rebuilds `_allDeclarationsByType` incrementally.
By applying this, the duration of linting Carthage is reduced from:
```
swiftlint lint --config ~/.swiftlint-test.yml 23.05s user 1.85s system 82% cpu 30.338 total
```
to:
```
swiftlint lint --config ~/.swiftlint-test.yml 20.09s user 1.34s system 84% cpu 25.329 total
```
2016-01-25 22:45:22 +09:00
JP Simard
d5598d4eae
add missing imports needed by SPM
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
Marcelo Fabri
b17b0f6e7d
Minor refactoring
2016-01-21 22:33:21 -08:00
Marcelo Fabri
d68161da96
Renaming functions to make clear that whitespace only lines are ignored too
2016-01-21 22:29:38 -08:00
Marcelo Fabri
3416217927
TypeBodyLengthRule should not count comment and whitespace lines
2016-01-21 22:29:38 -08:00
Marcelo Fabri
579872cd30
Handling multiline comments and correcting line count on violation reason
2016-01-14 20:26:20 -08:00
Marcelo Fabri
811cfd152e
Clearing syntaxKindsByLinesCache
2016-01-14 20:25:51 -08:00
Marcelo Fabri
ea33640296
Caching
2016-01-14 20:25:51 -08:00
Marcelo Fabri
72f401497d
Refactoring
2016-01-14 20:25:51 -08:00
Marcelo Fabri
08ad3d333b
Fix comparision when startLine or endLine is nil
2016-01-14 20:24:47 -08:00
Marcelo Fabri
07c076689b
Address performance issues
2016-01-14 20:24:47 -08:00