Skip to content

Commit

Permalink
Swift 4
Browse files Browse the repository at this point in the history
Swift 4 Migration
  • Loading branch information
eliottha authored and BalestraPatrick committed Dec 29, 2017
1 parent 305234f commit 2fbce91
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 13 deletions.
34 changes: 27 additions & 7 deletions CleanClosureSyntax.xcodeproj/project.pbxproj
Expand Up @@ -179,18 +179,18 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0800;
LastUpgradeCheck = 0800;
LastUpgradeCheck = 0920;
ORGANIZATIONNAME = "Patrick Balestra";
TargetAttributes = {
AE2862D11D25568D00219753 = {
CreatedOnToolsVersion = 8.0;
DevelopmentTeam = 2EZDW5DVTJ;
DevelopmentTeam = ENLH686A45;
DevelopmentTeamName = "Patrick Balestra";
ProvisioningStyle = Automatic;
};
AE2862E71D2556DE00219753 = {
CreatedOnToolsVersion = 8.0;
DevelopmentTeam = 2EZDW5DVTJ;
DevelopmentTeam = ENLH686A45;
DevelopmentTeamName = "Patrick Balestra";
ProvisioningStyle = Automatic;
};
Expand Down Expand Up @@ -284,14 +284,22 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
Expand Down Expand Up @@ -331,14 +339,22 @@
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
Expand Down Expand Up @@ -368,11 +384,12 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "Mac Developer";
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = ENLH686A45;
INFOPLIST_FILE = CleanClosureSyntax/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.patrickbalestra.CleanClosureSyntax;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 4.0;
};
name = Debug;
};
Expand All @@ -383,11 +400,12 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "Mac Developer";
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = ENLH686A45;
INFOPLIST_FILE = CleanClosureSyntax/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.patrickbalestra.CleanClosureSyntax;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 4.0;
};
name = Release;
};
Expand All @@ -397,13 +415,14 @@
CODE_SIGN_ENTITLEMENTS = Cleaner/Cleaner.entitlements;
CODE_SIGN_IDENTITY = "Mac Developer";
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = ENLH686A45;
INFOPLIST_FILE = Cleaner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_BUNDLE_IDENTIFIER = com.patrickbalestra.CleanClosureSyntax.Cleaner;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 4.0;
};
name = Debug;
};
Expand All @@ -413,13 +432,14 @@
CODE_SIGN_ENTITLEMENTS = Cleaner/Cleaner.entitlements;
CODE_SIGN_IDENTITY = "Mac Developer";
COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = ENLH686A45;
INFOPLIST_FILE = Cleaner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @executable_path/../../../../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.11;
PRODUCT_BUNDLE_IDENTIFIER = com.patrickbalestra.CleanClosureSyntax.Cleaner;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 3.0;
SWIFT_VERSION = 4.0;
};
name = Release;
};
Expand Down
12 changes: 6 additions & 6 deletions Cleaner/SourceEditorCommand.swift
Expand Up @@ -9,12 +9,12 @@
import Foundation
import XcodeKit

extension NSString {
extension String {
// Remove the given characters in the range
func remove(characters: [Character], in range: NSRange) -> NSString {
func remove(characters: [Character], in range: NSRange) -> String {
var cleanString = self
for char in characters {
cleanString = cleanString.replacingOccurrences(of: String(char), with: "", options: [.caseInsensitive], range: range) as NSString
cleanString = cleanString.replacingOccurrences(of: String(char), with: "", options: [.caseInsensitive], range: range as? Range) as String
}
return cleanString
}
Expand All @@ -27,10 +27,10 @@ class SourceEditorCommand: NSObject, XCSourceEditorCommand {

// Find lines that contain a closure syntax
for lineIndex in 0 ..< invocation.buffer.lines.count {
let line = invocation.buffer.lines[lineIndex] as! NSString
let line = invocation.buffer.lines[lineIndex] as! String
do {
let regex = try NSRegularExpression(pattern: "\\{.*\\(.+\\).+in", options: .caseInsensitive)
let range = NSRange(0 ..< line.length)
let range = NSRange(0 ..< line.count)
let results = regex.matches(in: line as String, options: .reportProgress, range: range)
// When a closure is found, clean up its syntax
_ = results.map { result in
Expand All @@ -39,7 +39,7 @@ class SourceEditorCommand: NSObject, XCSourceEditorCommand {
invocation.buffer.lines[lineIndex] = cleanLine
}
} catch {
completionHandler(error as NSError)
completionHandler(error as Error)
}
}

Expand Down

0 comments on commit 2fbce91

Please sign in to comment.