Commit Graph

49 Commits

Author SHA1 Message Date
JP Simard 3a2bb15ca3
Make some SwiftLintFramework declarations public (#4945)
* Make some SwiftLintFramework declarations public

If built-in rules depend on them.

This will allow separating the rules from the core infrastructure in
separate modules in an upcoming PR.

It also helps formalize the API contract for what should be accessible
to rule implementations.

* Exclude extensions from jazzy
2023-04-26 16:37:25 -04:00
Danny Mösch 5eed8fe91b
Enable `if_let_shadowing` rule and fix all violations (#4247) 2023-01-31 22:31:38 +01:00
Marcelo Fabri 9c8708bc01
Extract common SwiftSyntax extensions (#4445) 2022-10-23 00:54:18 -07:00
Marcelo Fabri 89c227ecaa
Migrate `weak_delegate` rule to SwiftSyntax (#4389)
* Migrate `weak_delegate` rule to SwiftSyntax

* Remove unused declarations
2022-10-16 22:57:42 -07:00
tillhainbach a9ec894caf
Add exceptions to `weak_delegate` rule (#3599) 2022-09-10 10:07:43 -04:00
Danny Mösch a20a75d422
Fix various shortcomings in relative path computation (#4005) 2022-06-24 02:25:37 -04:00
Frederick Pietschmann 4c5a3f0577 Add remote, parent & child configuration features 2020-11-20 23:08:37 +01:00
Noah Gilmore bda1cd56e0
#3167: Fixes false positives for multiline_parameters_brackets and multiline_arguments_brackets (#3171)
* Issue #3167: Fixes false positives for multiline_parameters_brackets and multiline_arguments_brackets

* Add changelog entry

* Fix trailing comma in MultilineParametersBracketsRule nontriggering examples

* Remove header comments from ExtendedStringTests.swift

Co-authored-by: Paul Taykalo <ptaykalo@macpaw.com>
2020-05-29 11:59:02 +03:00
JP Simard 399f5b7df6
Fix docstring formatting issues using DrString (#3032)
Using command:
$ drstring check -i 'Source/**/*.swift' --first-letter lowercase --vertical-align
2020-01-12 11:19:33 -08:00
JP Simard 37167a8a35
Add documentation comments to all public declarations (#3027) 2020-01-08 09:47:10 -08:00
Paul Taykalo ec6d82af56 Cache Access Control Level property 2019-11-07 11:52:50 +02:00
Paul Taykalo 8c963d2c15 Working solution with SouceKittenDictionary wrapper 2019-11-07 08:50:50 +02:00
Keith Smiley dd39c438e1 Return false for isFile for empty strings
As of Swift 5, corelibs-foundation crashes if you pass an empty string
to `fileExists` cae5eaca63/Foundation/FileManager.swift (L2033)
2019-04-02 18:15:40 -07:00
JP Simard 5901d3075f
Require Swift 4.2 (#2466)
This bumps the minimum version required to build SwiftLint to 4.2. The primary motivating factor to drop support for Swift 4.0-4.1.x is that SwiftLint now uses CryptoSwift, which requires 4.2.

* Add changelog entry

* Remove --allow-warnings flag from CocoaPods commands

* Update CryptoSwift to 0.13.0

* Migrate to Swift 4.2

* Remove CircleCI tests for Swift < 4.2

* Update English and Chinese README

Korean README doesn't yet have a version table like this.

* Update gems

* Add changelog entry for fixed compiler warnings

* Update CocoaPods to 1.6.0.beta.2

To work around https://github.com/CocoaPods/CocoaPods/issues/7708
2018-11-18 17:32:25 -08:00
Cihat Gündüz c02dd17155 Add prefix_pattern and suffix_pattern options to file_name rule 2018-07-24 16:35:38 +02:00
JP Simard e2b74bd867
Require Swift 4.0 or higher to build. 2018-05-30 14:00:17 +10:00
JP Simard b83e0991b9
Remove all file headers
The MIT license doesn't require that all files be prepended with this
licensing or copyright information. Realm confirmed that they're ok with this
change. This will enable some companies to contribute to SwiftLint and the
date & authorship information will remain accessible via git source control.
2018-05-04 13:42:02 -07:00
Norio Nomura 133cef8df1
`ObjCBool` is no longer implicitly converted to `Bool` on Linux 2018-04-08 13:28:09 +09:00
Marcelo Fabri 03b4d6b020 Fix violations introduced when linting with Swift 4.1
Part of #2021
2018-02-03 22:23:48 -08:00
JP Simard 93ded518a7
Remove uses of String.characters, deprecated in Swift 4.0.2 2017-11-10 14:37:53 -08:00
JP Simard c57c47d66f
Remove unnecessary Swift version differences 2017-10-04 13:49:40 -07:00
Marcelo Fabri be341f90b9 Introduce queuedFatalError
`fatalError` prints the full path of the file, which leaks filesystem information from the machine that built the binary. Now that we release via CocoaPods, this is more critical.
2017-09-30 15:07:23 -03:00
JP Simard 01e4831a7c
Update for Swift 4 in Xcode 9 beta 6 and latest Linux snapshot 2017-09-10 13:48:37 -07: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 a291bb594a
update SwiftLintFramework/Extensions to follow Swift 3 API Design Guidelines 2017-01-09 17:53:07 -08:00
Marcelo Fabri 5cccc12eb7 Style changes because of the 120 length limit 2016-12-20 12:10:11 -02:00
JP Simard 0faf567931
use bridge() rather than explict or implicit casts
this is a step in aligning the code to compile on both Darwin and
Linux
2016-12-11 13:47:44 -08:00
Marcelo Fabri 13b0cfe623 Fixing inconsistencies 2016-12-08 18:29:57 -02:00
JP Simard a57526d639
omit 'self.' references when not ambiguous 2016-12-08 01:25:54 -08:00
Norio Nomura 48b25b6aab
Merge commit '83830861d6c6b7fee3218461f699c7d3b457bf2a' into swift3.0
* commit '83830861d6c6b7fee3218461f699c7d3b457bf2a':
  refactor isPrivateLevel(identifier:)
  refactor nameStrippingLeadingUnderscoreIfPrivate
  combine changelog entries for #781 and #831
  Add support for filePrivate and open in rules

# Conflicts:
#	Source/SwiftLintFramework/Extensions/String+SwiftLint.swift
#	Source/SwiftLintFramework/Rules/MissingDocsRule.swift
2016-11-30 20:16:47 +09:00
JP Simard 0999f6a24b refactor nameStrippingLeadingUnderscoreIfPrivate 2016-11-28 21:48:25 -08:00
Marcelo Fabri fd71465cd2 Add support for filePrivate and open in rules
Fixes #781 and #831
2016-11-27 16:26:41 -02:00
Norio Nomura b521ae6a60
Pass `UnicodeScalar` to `CharacterSet.contains()`
Fix crash in `hasTrailingWhitespace()` when trailing character is Emoji.
2016-11-08 21:45:04 +09:00
Norio Nomura ec3f9d0c94
Fix line_length style violations, unused warnings 2016-10-13 22:40:45 +09:00
Norio Nomura 8bf15f1dba
Migrate to Swift 3.0 2016-10-09 01:09:50 +09: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
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 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 ace0999154 update SourceKitten to 0.8.0 2016-01-22 19:19:15 -08:00
JP Simard 281a4dc587 no longer mirror some NSString methods in a String extension 2016-01-02 15:52:56 -08:00
Scott Hoyt 43edbdb0d7 Added String extensions. 2016-01-02 15:41:53 -08:00
JP Simard d7cd1418c7 fix nsrangeToIndexRange to use NSString indexing rather than grapheme clusters 2015-12-05 21:09:43 -08:00
JP Simard f30b0791db autocorrect trailing semicolon violations 2015-12-05 21:09:43 -08:00
JP Simard b41092a65c update SourceKitten to master 2015-11-29 21:56:54 -08:00
crimsonwoods 4806e31f23 Rename `lineAndCharacterForByteOffset` to `lineAndCharacterForCharacterOffset`.
According to a change 247f02eff4,
method name should be changed.
2015-11-18 12:05:08 +09:00
crimsonwoods 247f02eff4 Issue fix #213 : `offset` parameter should be used as a character-offset, not a byte-offset. 2015-11-18 10:42:30 +09:00
JP Simard 8a30cb2e3d organize Xcode project
make Extensions, Models & Protocols groups under SourceKittenFramework
2015-11-15 15:07:25 -08:00