From 4dcbc5e441e7f8f376cc52bf9df4d933b539298a Mon Sep 17 00:00:00 2001 From: Marcelo Fabri Date: Sat, 15 Jul 2017 11:07:34 +0200 Subject: [PATCH] Parallel autocorrect Fix #1578 --- CHANGELOG.md | 4 ++++ Source/swiftlint/Commands/AutoCorrectCommand.swift | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index baf651e696..c76151497d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,10 @@ [Cody Winton](https://github.com/codytwinton) [#1327](https://github.com/realm/SwiftLint/issues/1327) +* Improve `autocorrect` performance by running it in parallel. + [Marcelo Fabri](https://github.com/marcelofabri) + [#1578](https://github.com/realm/SwiftLint/issues/1578) + ##### Bug Fixes * Fix false positive on `redundant_discardable_let` rule when using diff --git a/Source/swiftlint/Commands/AutoCorrectCommand.swift b/Source/swiftlint/Commands/AutoCorrectCommand.swift index ef1b15b595..75db50ca10 100644 --- a/Source/swiftlint/Commands/AutoCorrectCommand.swift +++ b/Source/swiftlint/Commands/AutoCorrectCommand.swift @@ -19,8 +19,9 @@ struct AutoCorrectCommand: CommandProtocol { let cache = options.ignoreCache ? nil : LinterCache(configuration: configuration) return configuration.visitLintableFiles(path: options.path, action: "Correcting", - quiet: options.quiet, useScriptInputFiles: options.useScriptInputFiles, - cache: cache) { linter in + quiet: options.quiet, + useScriptInputFiles: options.useScriptInputFiles, + cache: cache, parallel: true) { linter in let corrections = linter.correct() if !corrections.isEmpty && !options.quiet { let correctionLogs = corrections.map({ $0.consoleDescription })