-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Many rule examples are very succinct, focusing just on the syntax that is meant to be linted/corrected. For example: if foo == nil
. However, this doesn't parse successfully:
$ echo "if foo == nil" > file.swift
$ swiftc -parse file.swift
file.swift:1:14: error: expected '{' after 'if' condition
if foo == nil
^
In an upcoming PR, I'll want to introduce a change to avoid correcting files if they have parser errors or warnings, since SwiftLint isn't designed to handle all possibilities of invalid Swift code. Generally, it's still useful for SwiftLint to lint Swift files that don't parse 100% cleanly as a feedback mechanism, but we shouldn't attempt to correct files with violations that don't parse cleanly, because that can mangle or delete code in unintended ways.
Because there are currently over 500 rule examples with parser diagnostics, I don't have time to fix all of them, but we probably should do that eventually.
This is a good starter task if someone's interested in contributing to SwiftLint.