From 49c6b256112f028a012837971e13d1e6a7616590 Mon Sep 17 00:00:00 2001 From: Danny Moesch Date: Sat, 7 Nov 2020 12:06:28 +0100 Subject: [PATCH] Use SwiftFormat version 0.47.x --- .swiftformat | 20 +++++++++++++++++++ .../AdvancedSettingsTableViewController.swift | 2 +- .../PGPKeyUrlImportTableViewController.swift | 6 +++--- .../PasswordDetailTableViewController.swift | 8 ++++---- .../PasswordEditorTableViewController.swift | 2 +- .../SSHKeyUrlImportTableViewController.swift | 2 +- .../SettingsTableViewController.swift | 4 ++-- passKit/Crypto/GopenPGPInterface.swift | 4 ++-- passKit/Crypto/PGPAgent.swift | 2 +- passKit/Extensions/String+Localization.swift | 10 +++++----- passKit/Extensions/String+Utilities.swift | 12 +++++------ .../Extensions/UIAlertActionExtension.swift | 14 ++++++------- .../UIViewControllerExtension.swift | 4 ++-- passKit/Models/PasswordEntity.swift | 16 +++++++-------- passKit/Models/PasswordStore.swift | 6 +++--- passKit/Passwords/PasswordGenerator.swift | 2 +- passKitTests/Crypto/CryptoFrameworkTest.swift | 2 +- scripts/swiftformat.sh | 2 +- 18 files changed, 69 insertions(+), 49 deletions(-) diff --git a/.swiftformat b/.swiftformat index 86f7461..9d97209 100644 --- a/.swiftformat +++ b/.swiftformat @@ -22,6 +22,8 @@ duplicateImports, \ elseOnSameLine, \ emptyBraces, \ + enumNamespaces, \ + extensionAccessControl, \ fileHeader, \ hoistPatternLet, \ indent, \ @@ -31,6 +33,7 @@ linebreakAtEndOfFile, \ linebreaks, \ modifierOrder, \ +# markTypes, \ numberFormatting, \ # organizeDeclarations, \ preferKeyPath, \ @@ -53,6 +56,7 @@ redundantVoidReturnType, \ semicolons, \ sortedImports, \ + sortedSwitchCases, \ spaceAroundBraces, \ spaceAroundBrackets, \ spaceAroundComments, \ @@ -88,6 +92,10 @@ --allman false +### Color/image literal width. "actual-width" or "visual-width" + +--assetliterals visual-width + ### Binary grouping,threshold (default: 4,8) or "none", "ignore" --binarygrouping 4,8 @@ -116,6 +124,10 @@ --exponentgrouping disabled +### Place ACL "on-extension" (default) or "on-declarations" + +--extensionacl on-extension + ### Group digits after '.': "enabled" or "disabled" (default) --fractiongrouping disabled @@ -244,10 +256,18 @@ --wrapcollections preserve +### Wrap conditions: "before-first", "after-first", "preserve" + +--wrapconditions preserve + ### Wrap func params: "before-first", "after-first", "preserve" --wrapparameters preserve +### Wrap return type: "if-multiline", "preserve" (default) + +--wrapreturntype preserve + ### Xcode indent guard/enum: "enabled" or "disabled" (default) --xcodeindentation disabled diff --git a/pass/Controllers/AdvancedSettingsTableViewController.swift b/pass/Controllers/AdvancedSettingsTableViewController.swift index 5352160..bab8141 100644 --- a/pass/Controllers/AdvancedSettingsTableViewController.swift +++ b/pass/Controllers/AdvancedSettingsTableViewController.swift @@ -88,7 +88,7 @@ class AdvancedSettingsTableViewController: UITableViewController { private func saveGitConfigSetting(segue: UIStoryboardSegue) { if let controller = segue.source as? GitConfigSettingsTableViewController { if let gitSignatureName = controller.nameTextField.text, - let gitSignatureEmail = controller.emailTextField.text { + let gitSignatureEmail = controller.emailTextField.text { Defaults.gitSignatureName = gitSignatureName.isEmpty ? nil : gitSignatureName Defaults.gitSignatureEmail = gitSignatureEmail.isEmpty ? nil : gitSignatureEmail } diff --git a/pass/Controllers/PGPKeyUrlImportTableViewController.swift b/pass/Controllers/PGPKeyUrlImportTableViewController.swift index e3c3198..18f966b 100644 --- a/pass/Controllers/PGPKeyUrlImportTableViewController.swift +++ b/pass/Controllers/PGPKeyUrlImportTableViewController.swift @@ -25,9 +25,9 @@ class PGPKeyUrlImportTableViewController: AutoCellHeightUITableViewController { @IBAction private func save(_: Any) { guard let publicKeyURLText = pgpPublicKeyURLTextField.text, - let publicKeyURL = URL(string: publicKeyURLText), - let privateKeyURLText = pgpPrivateKeyURLTextField.text, - let privateKeyURL = URL(string: privateKeyURLText) else { + let publicKeyURL = URL(string: publicKeyURLText), + let privateKeyURLText = pgpPrivateKeyURLTextField.text, + let privateKeyURL = URL(string: privateKeyURLText) else { Utils.alert(title: "CannotSavePgpKey".localize(), message: "SetPgpKeyUrlsFirst.".localize(), controller: self) return } diff --git a/pass/Controllers/PasswordDetailTableViewController.swift b/pass/Controllers/PasswordDetailTableViewController.swift index 1218855..b4bed81 100644 --- a/pass/Controllers/PasswordDetailTableViewController.swift +++ b/pass/Controllers/PasswordDetailTableViewController.swift @@ -146,10 +146,10 @@ class PasswordDetailTableViewController: UITableViewController, UIGestureRecogni Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { [weak self] _ in // bail out of the timer code if the object has been freed guard let strongSelf = self, - let otpType = strongSelf.password?.otpType, - otpType != .none, - let indexPath = strongSelf.oneTimePasswordIndexPath, - let cell = strongSelf.tableView.cellForRow(at: indexPath) as? LabelTableViewCell else { + let otpType = strongSelf.password?.otpType, + otpType != .none, + let indexPath = strongSelf.oneTimePasswordIndexPath, + let cell = strongSelf.tableView.cellForRow(at: indexPath) as? LabelTableViewCell else { return } switch otpType { diff --git a/pass/Controllers/PasswordEditorTableViewController.swift b/pass/Controllers/PasswordEditorTableViewController.swift index 33a21e2..e648257 100644 --- a/pass/Controllers/PasswordEditorTableViewController.swift +++ b/pass/Controllers/PasswordEditorTableViewController.swift @@ -363,7 +363,7 @@ class PasswordEditorTableViewController: UITableViewController { // the name field should be a valid url guard let path = name.stringByAddingPercentEncodingForRFC3986(), - var passwordURL = URL(string: path) else { + var passwordURL = URL(string: path) else { Utils.alert(title: "CannotSave".localize(), message: "PasswordNameInvalid.".localize(), controller: self, completion: nil) return false } diff --git a/pass/Controllers/SSHKeyUrlImportTableViewController.swift b/pass/Controllers/SSHKeyUrlImportTableViewController.swift index 5ae7b25..3ee4869 100644 --- a/pass/Controllers/SSHKeyUrlImportTableViewController.swift +++ b/pass/Controllers/SSHKeyUrlImportTableViewController.swift @@ -22,7 +22,7 @@ class SSHKeyUrlImportTableViewController: AutoCellHeightUITableViewController { @IBAction private func doneButtonTapped(_: UIButton) { guard let text = privateKeyURLTextField.text, - let privateKeyURL = URL(string: text) else { + let privateKeyURL = URL(string: text) else { Utils.alert(title: "CannotSave".localize(), message: "SetPrivateKeyUrl.".localize(), controller: self) return } diff --git a/pass/Controllers/SettingsTableViewController.swift b/pass/Controllers/SettingsTableViewController.swift index 878a775..3a3f45d 100644 --- a/pass/Controllers/SettingsTableViewController.swift +++ b/pass/Controllers/SettingsTableViewController.swift @@ -219,8 +219,8 @@ class SettingsTableViewController: UITableViewController, UITabBarControllerDele func alertTextFieldDidChange(_ sender: UITextField) { // check whether we should enable the Save button in setPasscodeLockAlert if let setPasscodeLockAlert = self.setPasscodeLockAlert, - let setPasscodeLockAlertTextFields0 = setPasscodeLockAlert.textFields?[0], - let setPasscodeLockAlertTextFields1 = setPasscodeLockAlert.textFields?[1] { + let setPasscodeLockAlertTextFields0 = setPasscodeLockAlert.textFields?[0], + let setPasscodeLockAlertTextFields1 = setPasscodeLockAlert.textFields?[1] { if sender == setPasscodeLockAlertTextFields0 || sender == setPasscodeLockAlertTextFields1 { // two passwords should be the same, and length >= 4 let passcodeText = setPasscodeLockAlertTextFields0.text! diff --git a/passKit/Crypto/GopenPGPInterface.swift b/passKit/Crypto/GopenPGPInterface.swift index 8d51e3b..a72ac0a 100644 --- a/passKit/Crypto/GopenPGPInterface.swift +++ b/passKit/Crypto/GopenPGPInterface.swift @@ -72,7 +72,7 @@ struct GopenPGPInterface: PGPInterface { func decrypt(encryptedData: Data, keyID: String, passphrase: String) throws -> Data? { guard let key = privateKeys.first(where: { key, _ in key.hasSuffix(keyID.lowercased()) }), - let privateKey = privateKeys[key.key] else { + let privateKey = privateKeys[key.key] else { throw AppError.decryption } @@ -96,7 +96,7 @@ struct GopenPGPInterface: PGPInterface { func encrypt(plainData: Data, keyID: String) throws -> Data { guard let key = publicKeys.first(where: { key, _ in key.hasSuffix(keyID.lowercased()) }), - let publicKey = publicKeys[key.key] else { + let publicKey = publicKeys[key.key] else { throw AppError.encryption } diff --git a/passKit/Crypto/PGPAgent.swift b/passKit/Crypto/PGPAgent.swift index 73d0009..4216857 100644 --- a/passKit/Crypto/PGPAgent.swift +++ b/passKit/Crypto/PGPAgent.swift @@ -19,7 +19,7 @@ public class PGPAgent { public func initKeys() throws { guard let publicKey: String = keyStore.get(for: PgpKey.PUBLIC.getKeychainKey()), - let privateKey: String = keyStore.get(for: PgpKey.PRIVATE.getKeychainKey()) else { + let privateKey: String = keyStore.get(for: PgpKey.PRIVATE.getKeychainKey()) else { pgpInterface = nil throw AppError.keyImport } diff --git a/passKit/Extensions/String+Localization.swift b/passKit/Extensions/String+Localization.swift index c975fff..209acf8 100644 --- a/passKit/Extensions/String+Localization.swift +++ b/passKit/Extensions/String+Localization.swift @@ -6,21 +6,21 @@ // Copyright © 2019 Bob Sun. All rights reserved. // -extension String { - public func localize() -> String { +public extension String { + func localize() -> String { // swiftlint:disable:next nslocalizedstring_key NSLocalizedString(self, bundle: Bundle.main, value: "#\(self)#", comment: "") } - public func localize(_ firstValue: CVarArg) -> String { + func localize(_ firstValue: CVarArg) -> String { String(format: localize(), firstValue) } - public func localize(_ firstValue: CVarArg, _ secondValue: CVarArg) -> String { + func localize(_ firstValue: CVarArg, _ secondValue: CVarArg) -> String { String(format: localize(), firstValue, secondValue) } - public func localize(_ error: Error) -> String { + func localize(_ error: Error) -> String { localize(error.localizedDescription) } } diff --git a/passKit/Extensions/String+Utilities.swift b/passKit/Extensions/String+Utilities.swift index e976abb..0efdf37 100644 --- a/passKit/Extensions/String+Utilities.swift +++ b/passKit/Extensions/String+Utilities.swift @@ -6,25 +6,25 @@ // Copyright © 2018 Bob Sun. All rights reserved. // -extension String { - public var trimmed: String { +public extension String { + var trimmed: String { trimmingCharacters(in: .whitespacesAndNewlines) } - public func stringByAddingPercentEncodingForRFC3986() -> String? { + func stringByAddingPercentEncodingForRFC3986() -> String? { let unreserved = "-._~/?" var allowed = CharacterSet.alphanumerics allowed.insert(charactersIn: unreserved) return addingPercentEncoding(withAllowedCharacters: allowed) } - public func splitByNewline() -> [String] { + func splitByNewline() -> [String] { split(omittingEmptySubsequences: false) { $0 == "\n" || $0 == "\r\n" }.map(String.init) } } -extension String { - public static func | (left: String, right: String) -> String { +public extension String { + static func | (left: String, right: String) -> String { right.isEmpty ? left : left + "\n" + right } } diff --git a/passKit/Extensions/UIAlertActionExtension.swift b/passKit/Extensions/UIAlertActionExtension.swift index 4f1cc25..c04aa7a 100644 --- a/passKit/Extensions/UIAlertActionExtension.swift +++ b/passKit/Extensions/UIAlertActionExtension.swift @@ -9,32 +9,32 @@ import Foundation import UIKit -extension UIAlertAction { - public static func cancelAndPopView(controller: UIViewController) -> UIAlertAction { +public extension UIAlertAction { + static func cancelAndPopView(controller: UIViewController) -> UIAlertAction { cancel { _ in controller.navigationController?.popViewController(animated: true) } } - public static func cancel(title: String = "Cancel".localize(), handler: ((UIAlertAction) -> Void)? = nil) -> UIAlertAction { + static func cancel(title: String = "Cancel".localize(), handler: ((UIAlertAction) -> Void)? = nil) -> UIAlertAction { UIAlertAction(title: title, style: .cancel, handler: handler) } - public static func dismiss(handler: ((UIAlertAction) -> Void)? = nil) -> UIAlertAction { + static func dismiss(handler: ((UIAlertAction) -> Void)? = nil) -> UIAlertAction { cancel(title: "Dismiss".localize(), handler: handler) } - public static func ok(handler: ((UIAlertAction) -> Void)? = nil) -> UIAlertAction { + static func ok(handler: ((UIAlertAction) -> Void)? = nil) -> UIAlertAction { UIAlertAction(title: "Ok".localize(), style: .default, handler: handler) } - public static func okAndPopView(controller: UIViewController) -> UIAlertAction { + static func okAndPopView(controller: UIViewController) -> UIAlertAction { ok { _ in controller.navigationController?.popViewController(animated: true) } } - public static func selectKey(controller: UIViewController, handler: ((UIAlertAction) -> Void)?) -> UIAlertAction { + static func selectKey(controller: UIViewController, handler: ((UIAlertAction) -> Void)?) -> UIAlertAction { UIAlertAction(title: "Select Key", style: .default) { _ in let selectKeyAlert = UIAlertController(title: "Select from imported keys", message: nil, preferredStyle: .actionSheet) try? PGPAgent.shared.getShortKeyID().forEach { keyID in diff --git a/passKit/Extensions/UIViewControllerExtension.swift b/passKit/Extensions/UIViewControllerExtension.swift index 1a74b96..069145c 100644 --- a/passKit/Extensions/UIViewControllerExtension.swift +++ b/passKit/Extensions/UIViewControllerExtension.swift @@ -6,9 +6,9 @@ // Copyright © 2017 Yishi Lin. All rights reserved. // -extension UIViewController { +public extension UIViewController { @objc - public func textFieldShouldReturn(_ textField: UITextField) -> Bool { + func textFieldShouldReturn(_ textField: UITextField) -> Bool { if textField.nextField != nil { textField.nextField?.becomeFirstResponder() } else { diff --git a/passKit/Models/PasswordEntity.swift b/passKit/Models/PasswordEntity.swift index 81a241e..dba561b 100644 --- a/passKit/Models/PasswordEntity.swift +++ b/passKit/Models/PasswordEntity.swift @@ -9,19 +9,19 @@ import Foundation import SwiftyUserDefaults -extension PasswordEntity { - public var nameWithCategory: String { +public extension PasswordEntity { + var nameWithCategory: String { if let path = path, path.hasSuffix(".gpg") { return String(path.prefix(upTo: path.index(path.endIndex, offsetBy: -4))) } return "" } - public func getCategoryText() -> String { + func getCategoryText() -> String { getCategoryArray().joined(separator: " > ") } - public func getCategoryArray() -> [String] { + func getCategoryArray() -> [String] { var parentEntity = parent var passwordCategoryArray: [String] = [] while parentEntity != nil { @@ -32,7 +32,7 @@ extension PasswordEntity { return passwordCategoryArray } - public func getURL() throws -> URL { + func getURL() throws -> URL { if let path = getPath().stringByAddingPercentEncodingForRFC3986(), let url = URL(string: path) { return url } @@ -42,16 +42,16 @@ extension PasswordEntity { // XXX: define some getters to get core data, we need to consider // manually write models instead auto generation. - public func getImage() -> Data? { + func getImage() -> Data? { image } - public func getName() -> String { + func getName() -> String { // unwrap non-optional core data name ?? "" } - public func getPath() -> String { + func getPath() -> String { // unwrap non-optional core data path ?? "" } diff --git a/passKit/Models/PasswordStore.swift b/passKit/Models/PasswordStore.swift index 39f51ee..732e383 100644 --- a/passKit/Models/PasswordStore.swift +++ b/passKit/Models/PasswordStore.swift @@ -645,8 +645,8 @@ public class PasswordStore { } // get the oldest local commit guard let firstLocalCommit = localCommits.last, - firstLocalCommit.parents.count == 1, - let newHead = firstLocalCommit.parents.first else { + firstLocalCommit.parents.count == 1, + let newHead = firstLocalCommit.parents.first else { throw AppError.gitReset } try storeRepository.reset(to: newHead, resetType: .hard) @@ -707,7 +707,7 @@ public class PasswordStore { public func findGPGID(from url: URL) -> String { var path = url while !FileManager.default.fileExists(atPath: path.appendingPathComponent(".gpg-id").path), - path.path != "file:///" { + path.path != "file:///" { path = path.deletingLastPathComponent() } path = path.appendingPathComponent(".gpg-id") diff --git a/passKit/Passwords/PasswordGenerator.swift b/passKit/Passwords/PasswordGenerator.swift index 8b812d0..1fb6053 100644 --- a/passKit/Passwords/PasswordGenerator.swift +++ b/passKit/Passwords/PasswordGenerator.swift @@ -17,7 +17,7 @@ public struct PasswordGenerator: Codable { return ["eff_long_wordlist", "eff_short_wordlist"] .map { name -> String in guard let asset = NSDataAsset(name: name, bundle: bundle), - let data = String(data: asset.data, encoding: .utf8) else { + let data = String(data: asset.data, encoding: .utf8) else { return "" } return data diff --git a/passKitTests/Crypto/CryptoFrameworkTest.swift b/passKitTests/Crypto/CryptoFrameworkTest.swift index fa66202..91374ce 100644 --- a/passKitTests/Crypto/CryptoFrameworkTest.swift +++ b/passKitTests/Crypto/CryptoFrameworkTest.swift @@ -47,7 +47,7 @@ class CryptoFrameworkTest: XCTestCase { ].forEach { testKeyInfo in var error: NSError? guard let publicKey = CryptoNewKeyFromArmored(testKeyInfo.publicKey, &error), - let privateKey = CryptoNewKeyFromArmored(testKeyInfo.privateKey, &error) else { + let privateKey = CryptoNewKeyFromArmored(testKeyInfo.privateKey, &error) else { XCTFail("Keys cannot be initialized.") return } diff --git a/scripts/swiftformat.sh b/scripts/swiftformat.sh index 70fe3ca..88d892b 100755 --- a/scripts/swiftformat.sh +++ b/scripts/swiftformat.sh @@ -1,4 +1,4 @@ -SWIFTFORMAT_VERSION="0.46.*" +SWIFTFORMAT_VERSION="0.47.*" if [[ -f "${SRCROOT}/.ci-env" ]]; then echo "Running in a Continuous Integration environment. Formatting is skipped."