Skip to content

Commit 3777876

Browse files
authored
Merge pull request swiftlang#78 from allevato/disable-pretty-print-linter
Correctly apply debug flags in lint mode.
2 parents 5bc2714 + 716941f commit 3777876

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

Sources/SwiftFormat/SwiftLinter.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ public final class SwiftLinter {
8181
var pipeline = LintPipeline(context: context)
8282
syntax.walk(&pipeline)
8383

84+
if debugOptions.contains(.disablePrettyPrint) {
85+
return
86+
}
87+
8488
// Perform whitespace linting by comparing the input source text with the output of the
8589
// pretty-printer.
8690
let operatorContext = OperatorContext.makeBuiltinOperatorContext()

Sources/swift-format/Run.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,15 @@ import SwiftSyntax
2424
/// - configuration: The `Configuration` that contains user-specific settings.
2525
/// - sourceFile: A file handle from which to read the source code to be linted.
2626
/// - assumingFilename: The filename of the source file, used in diagnostic output.
27+
/// - debugOptions: The set containing any debug options that were supplied on the command line.
2728
/// - Returns: Zero if there were no lint errors, otherwise a non-zero number.
28-
func lintMain(configuration: Configuration, sourceFile: FileHandle, assumingFilename: String?)
29-
-> Int
30-
{
29+
func lintMain(
30+
configuration: Configuration, sourceFile: FileHandle, assumingFilename: String?,
31+
debugOptions: DebugOptions
32+
) -> Int {
3133
let diagnosticEngine = makeDiagnosticEngine()
3234
let linter = SwiftLinter(configuration: configuration, diagnosticEngine: diagnosticEngine)
35+
linter.debugOptions = debugOptions
3336
let assumingFileURL = URL(fileURLWithPath: assumingFilename ?? "<stdin>")
3437

3538
guard let source = readSource(from: sourceFile) else {

Sources/swift-format/main.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,13 @@ fileprivate func main(_ arguments: [String]) -> Int32 {
4444
return Int32(
4545
lintMain(
4646
configuration: configuration, sourceFile: FileHandle.standardInput,
47-
assumingFilename: options.assumeFilename))
47+
assumingFilename: options.assumeFilename, debugOptions: options.debugOptions))
4848
}
4949
return processSources(from: options.paths, configurationPath: options.configurationPath) {
5050
(sourceFile, path, configuration) in
51-
lintMain(configuration: configuration, sourceFile: sourceFile, assumingFilename: path)
51+
lintMain(
52+
configuration: configuration, sourceFile: sourceFile, assumingFilename: path,
53+
debugOptions: options.debugOptions)
5254
}
5355
case .dumpConfiguration:
5456
dumpDefaultConfiguration()

0 commit comments

Comments
 (0)