From b5803e20fb140d05b979dcc60ad33c04d5171723 Mon Sep 17 00:00:00 2001 From: Bartek Chlebek Date: Wed, 13 May 2015 10:42:29 +0200 Subject: [PATCH 01/13] Fixed a crash on regex invalid range --- Classes/CPXcodeWrapper.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/CPXcodeWrapper.m b/Classes/CPXcodeWrapper.m index 62b6986..db942fa 100755 --- a/Classes/CPXcodeWrapper.m +++ b/Classes/CPXcodeWrapper.m @@ -156,7 +156,7 @@ - (NSString *)normalizedQueryForQuery:(NSString *)query NSMutableString *mQuery = [query mutableCopy]; NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:@"[\\*\\ \\r\\n\\t]" options:NSRegularExpressionCaseInsensitive error:nil]; - [regex replaceMatchesInString:mQuery options:NSMatchingAnchored range:NSRangeFromString(mQuery) withTemplate:@""]; + [regex replaceMatchesInString:mQuery options:NSMatchingAnchored range:NSMakeRange(0, mQuery.length) withTemplate:@""]; return mQuery; } From dc77e09610fc2f59303c663abc6bf551b43ea5ad Mon Sep 17 00:00:00 2001 From: bartekchlebek Date: Wed, 20 May 2015 09:58:16 +0200 Subject: [PATCH 02/13] Added Xcode 6.3.2 and Xcode 6.4b3 compatibility --- Resources/Info.plist | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Info.plist b/Resources/Info.plist index 851741d..e18692b 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -48,6 +48,8 @@ 37B30044-3B14-46BA-ABAA-F01000C27B63 A2E4D43F-41F4-4FB9-BB94-7177011C9AED C4A681B0-4A26-480E-93EC-1218098B9AA0 + 8DC44374-2B35-4C57-A6FE-2AD66A36AAD9 + E969541F-E6F9-4D25-8158-72DC3545A6C6 NSPrincipalClass CPCodePilotPlugin From bd5820d1773ec8cf23a444050be957819b3b03b8 Mon Sep 17 00:00:00 2001 From: Bartek Chlebek Date: Wed, 20 May 2015 13:54:05 +0200 Subject: [PATCH 03/13] Fix for linking error with IDESourceCodeDocument private class Be careful with [IDESourceCodeDocument class], use NSClassFromString(@"IDESourceCodeDocument") instead. The reason is IDESourceCodeDocument is a private class residing in some dylib loaded after launching Xcode. However, since Xcode 6.3.2 plugins are loaded before loading the dylib with IDESourceCodeDocument, and so linker freaks out. NSClassFromString(@"IDESourceCodeDocument"), though not perfect, is safer because will return nil until appropriate dylib is loaded. --- Classes/CPSymbolCache.m | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Classes/CPSymbolCache.m b/Classes/CPSymbolCache.m index 3d37e63..ff88a02 100644 --- a/Classes/CPSymbolCache.m +++ b/Classes/CPSymbolCache.m @@ -40,7 +40,14 @@ - (id)init - (void)onFileChangeNotification:(NSNotification *)notification { - if (![[notification object] isKindOfClass:[IDESourceCodeDocument class]]) { + /* + Be careful with [IDESourceCodeDocument class], use NSClassFromString(@"IDESourceCodeDocument") instead. + The reason is IDESourceCodeDocument is a private class residing in some dylib loaded after launching Xcode. However, + since Xcode 6.3.2 plugins are loaded before loading the dylib with IDESourceCodeDocument, and so linker freaks out. + NSClassFromString(@"IDESourceCodeDocument"), though not perfect, is safer because will return nil until appropriate + dylib is loaded. + */ + if (![[notification object] isKindOfClass:NSClassFromString(@"IDESourceCodeDocument")]) { return; } From 79baa23d2a31e8bc901d6d0db0122c2faa5136bb Mon Sep 17 00:00:00 2001 From: Bartek Chlebek Date: Fri, 26 Jun 2015 10:33:41 +0200 Subject: [PATCH 04/13] Fixed a crash appearing in xcodebuild command kudos to Alexander --- Classes/CPCodePilotPlugin.m | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Classes/CPCodePilotPlugin.m b/Classes/CPCodePilotPlugin.m index a66d8b6..46ebcbb 100644 --- a/Classes/CPCodePilotPlugin.m +++ b/Classes/CPCodePilotPlugin.m @@ -20,10 +20,14 @@ + (void)pluginDidLoad:(id)arg1 + (void)load { - LOG(@"CODE PILOT: CURRENT_XCODE_VERSION: %@ CURRENT_XCODE_REVISION: %@", CURRENT_XCODE_VERSION, CURRENT_XCODE_REVISION); - - // just instantiate the singleton - (void)[CPCodePilotPlugin sharedInstance]; + // Avoid instantiating plugin if no Xcode is launched. + // Loading the plugin from xcodebuild command caused a crash because the plugin tries to load a window for itself + NSString *currentApplicationName = [[NSBundle mainBundle] infoDictionary][@"CFBundleName"]; + if ([currentApplicationName isEqual:@"Xcode"]) { + LOG(@"CODE PILOT: CURRENT_XCODE_VERSION: %@ CURRENT_XCODE_REVISION: %@", CURRENT_XCODE_VERSION, CURRENT_XCODE_REVISION); + // just instantiate the singleton + (void)[CPCodePilotPlugin sharedInstance]; + } } - (id)init From 07c82893f6c9ae338f9281b4389fb312e0ffc96d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kwoska?= Date: Wed, 8 Jul 2015 09:54:18 +0200 Subject: [PATCH 05/13] Added Xcode 6.4 compatibility UUID. --- Resources/Info.plist | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Info.plist b/Resources/Info.plist index e18692b..df3b25a 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -50,6 +50,7 @@ C4A681B0-4A26-480E-93EC-1218098B9AA0 8DC44374-2B35-4C57-A6FE-2AD66A36AAD9 E969541F-E6F9-4D25-8158-72DC3545A6C6 + 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 NSPrincipalClass CPCodePilotPlugin From fa17f354f7209e27ef95f610a44bf90e8689cb09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kwoska?= Date: Wed, 8 Jul 2015 10:27:01 +0200 Subject: [PATCH 06/13] Fixed recurring migration assistant prompt. --- CodePilot.xcodeproj/project.pbxproj | 88 ++++++++++++++--------------- 1 file changed, 42 insertions(+), 46 deletions(-) diff --git a/CodePilot.xcodeproj/project.pbxproj b/CodePilot.xcodeproj/project.pbxproj index 5c44759..e1848d8 100755 --- a/CodePilot.xcodeproj/project.pbxproj +++ b/CodePilot.xcodeproj/project.pbxproj @@ -8,61 +8,61 @@ /* Begin PBXBuildFile section */ 4B197DC113AF37A100DF2598 /* memlak.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B197DC013AF37A100DF2598 /* memlak.png */; }; - 4B30A186133979A7008A4372 /* CPPluginInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B30A185133979A7008A4372 /* CPPluginInstaller.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4B30A186133979A7008A4372 /* CPPluginInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B30A185133979A7008A4372 /* CPPluginInstaller.m */; }; 4B30AEF5138D526F0008B1A9 /* UpperStatusBackground.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B30AEF4138D526F0008B1A9 /* UpperStatusBackground.png */; }; 4B32ED40138E4B8B00D272E4 /* ATROX.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 4B32ED3F138E4B8B00D272E4 /* ATROX.TTF */; }; 4B3A21011354CCF0004EAF8F /* InfoLabelBarTriangle.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B3A20FF1354CCF0004EAF8F /* InfoLabelBarTriangle.png */; }; 4B3A21021354CCF0004EAF8F /* InfoLabelBarRect.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B3A21001354CCF0004EAF8F /* InfoLabelBarRect.png */; }; 4B4D42C01354B8BF00ACA78B /* ResultSelection.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B4D42BE1354B8BF00ACA78B /* ResultSelection.png */; }; - 4B4DCEF21363543B0009304C /* CPPreferencesToolbarDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B4DCEF11363543B0009304C /* CPPreferencesToolbarDelegate.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4B4DCEF21363543B0009304C /* CPPreferencesToolbarDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B4DCEF11363543B0009304C /* CPPreferencesToolbarDelegate.m */; }; 4B61EB371354D52900ED0A40 /* HeaderWithInfo.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B61EB361354D52900ED0A40 /* HeaderWithInfo.png */; }; - 4BAC9BD51386B6310024658A /* CPWorkspaceSymbolCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BAC9BD41386B6310024658A /* CPWorkspaceSymbolCache.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BC0BBF313AEBBB80093D04D /* NSURL+Anchors.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BC0BBF213AEBBB80093D04D /* NSURL+Anchors.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4BAC9BD51386B6310024658A /* CPWorkspaceSymbolCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BAC9BD41386B6310024658A /* CPWorkspaceSymbolCache.m */; }; + 4BC0BBF313AEBBB80093D04D /* NSURL+Anchors.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BC0BBF213AEBBB80093D04D /* NSURL+Anchors.m */; }; 4BC46219135494830046C0A6 /* Header.png in Resources */ = {isa = PBXBuildFile; fileRef = 4BC46217135494830046C0A6 /* Header.png */; }; 4BC4621A135494830046C0A6 /* Footer.png in Resources */ = {isa = PBXBuildFile; fileRef = 4BC46218135494830046C0A6 /* Footer.png */; }; - 4BC6BE4F1366E49200C8B378 /* CPPreferencesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BC6BE4E1366E49200C8B378 /* CPPreferencesViewController.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4BC6BE4F1366E49200C8B378 /* CPPreferencesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BC6BE4E1366E49200C8B378 /* CPPreferencesViewController.m */; }; 4BEAF844138D67E8003DB3AB /* LightCell.png in Resources */ = {isa = PBXBuildFile; fileRef = 4BEAF842138D67E8003DB3AB /* LightCell.png */; }; 4BEAF845138D67E8003DB3AB /* DarkCell.png in Resources */ = {isa = PBXBuildFile; fileRef = 4BEAF843138D67E8003DB3AB /* DarkCell.png */; }; - 4BEB7735138E466D00D52605 /* CPResultScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BEB7734138E466D00D52605 /* CPResultScrollView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4BEB7735138E466D00D52605 /* CPResultScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BEB7734138E466D00D52605 /* CPResultScrollView.m */; }; 4BEE523B1339193600DA9881 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 4BEE523C1339193600DA9881 /* CodePilotPrefs.png in Resources */ = {isa = PBXBuildFile; fileRef = 4B19163B1150FFBD00E073F8 /* CodePilotPrefs.png */; }; 4BEE523D1339193600DA9881 /* CodePilotIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4B19163C1150FFBD00E073F8 /* CodePilotIcon.icns */; }; - 4BEE523F1339193600DA9881 /* CPCodePilotPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B38FD31112DF476006C375F /* CPCodePilotPlugin.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52401339193600DA9881 /* CPCodePilotWindowDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFEE112FFFF700846DF6 /* CPCodePilotWindowDelegate.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52411339193600DA9881 /* CPXcodeWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFF0112FFFF700846DF6 /* CPXcodeWrapper.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52431339193600DA9881 /* CPSymbolCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFF6112FFFF800846DF6 /* CPSymbolCell.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52441339193600DA9881 /* CPSearchController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFF7112FFFF800846DF6 /* CPSearchController.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52451339193600DA9881 /* CPSearchWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFFC112FFFF800846DF6 /* CPSearchWindowView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52461339193600DA9881 /* CPWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFFE112FFFF800846DF6 /* CPWindow.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52471339193600DA9881 /* CPResultTableViewColumn.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC000112FFFF800846DF6 /* CPResultTableViewColumn.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52481339193600DA9881 /* CPResultTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC002112FFFF800846DF6 /* CPResultTableView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52491339193600DA9881 /* NSString+MiscExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC004112FFFF800846DF6 /* NSString+MiscExtensions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE524A1339193600DA9881 /* NSAppleEventDescriptor+ToObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC006112FFFF800846DF6 /* NSAppleEventDescriptor+ToObject.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4BEE523F1339193600DA9881 /* CPCodePilotPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B38FD31112DF476006C375F /* CPCodePilotPlugin.m */; }; + 4BEE52401339193600DA9881 /* CPCodePilotWindowDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFEE112FFFF700846DF6 /* CPCodePilotWindowDelegate.m */; }; + 4BEE52411339193600DA9881 /* CPXcodeWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFF0112FFFF700846DF6 /* CPXcodeWrapper.m */; }; + 4BEE52431339193600DA9881 /* CPSymbolCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFF6112FFFF800846DF6 /* CPSymbolCell.m */; }; + 4BEE52441339193600DA9881 /* CPSearchController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFF7112FFFF800846DF6 /* CPSearchController.m */; }; + 4BEE52451339193600DA9881 /* CPSearchWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFFC112FFFF800846DF6 /* CPSearchWindowView.m */; }; + 4BEE52461339193600DA9881 /* CPWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FBFFE112FFFF800846DF6 /* CPWindow.m */; }; + 4BEE52471339193600DA9881 /* CPResultTableViewColumn.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC000112FFFF800846DF6 /* CPResultTableViewColumn.m */; }; + 4BEE52481339193600DA9881 /* CPResultTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC002112FFFF800846DF6 /* CPResultTableView.m */; }; + 4BEE52491339193600DA9881 /* NSString+MiscExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC004112FFFF800846DF6 /* NSString+MiscExtensions.m */; }; + 4BEE524A1339193600DA9881 /* NSAppleEventDescriptor+ToObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC006112FFFF800846DF6 /* NSAppleEventDescriptor+ToObject.m */; }; 4BEE524B1339193600DA9881 /* MCLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC008112FFFF800846DF6 /* MCLog.m */; }; - 4BEE524E1339193600DA9881 /* CPFileReferenceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC00F112FFFF800846DF6 /* CPFileReferenceCell.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52501339193600DA9881 /* CPStatusLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B88D25511303885007250E5 /* CPStatusLabel.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52511339193600DA9881 /* NSArray+MiscExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BDCDAF5113142B40015BF7D /* NSArray+MiscExtensions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52521339193600DA9881 /* NSView+AllSubviews.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BA45D2C11343FA9006351CC /* NSView+AllSubviews.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52531339193600DA9881 /* NSString+Abbreviation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B04640311347A1C00A27CC6 /* NSString+Abbreviation.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52541339193600DA9881 /* QSBSmallScroller.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B24B642113913B70000EF99 /* QSBSmallScroller.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52551339193600DA9881 /* CPSearchField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7E38CF1139898E00FDBC98 /* CPSearchField.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52561339193600DA9881 /* CPSearchFieldTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBEE9401139B19F00C77C0C /* CPSearchFieldTextView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52571339193600DA9881 /* CPSelectedObjectCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BCE7C18113AF46A001F6CB1 /* CPSelectedObjectCell.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4BEE524E1339193600DA9881 /* CPFileReferenceCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7FC00F112FFFF800846DF6 /* CPFileReferenceCell.m */; }; + 4BEE52501339193600DA9881 /* CPStatusLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B88D25511303885007250E5 /* CPStatusLabel.m */; }; + 4BEE52511339193600DA9881 /* NSArray+MiscExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BDCDAF5113142B40015BF7D /* NSArray+MiscExtensions.m */; }; + 4BEE52521339193600DA9881 /* NSView+AllSubviews.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BA45D2C11343FA9006351CC /* NSView+AllSubviews.m */; }; + 4BEE52531339193600DA9881 /* NSString+Abbreviation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B04640311347A1C00A27CC6 /* NSString+Abbreviation.m */; }; + 4BEE52541339193600DA9881 /* QSBSmallScroller.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B24B642113913B70000EF99 /* QSBSmallScroller.m */; }; + 4BEE52551339193600DA9881 /* CPSearchField.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B7E38CF1139898E00FDBC98 /* CPSearchField.m */; }; + 4BEE52561339193600DA9881 /* CPSearchFieldTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBEE9401139B19F00C77C0C /* CPSearchFieldTextView.m */; }; + 4BEE52571339193600DA9881 /* CPSelectedObjectCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BCE7C18113AF46A001F6CB1 /* CPSelectedObjectCell.m */; }; 4BEE52581339193600DA9881 /* AMIndeterminateProgressIndicatorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B918211113C25AD00BF23B5 /* AMIndeterminateProgressIndicatorCell.m */; }; - 4BEE52591339193600DA9881 /* CPResultCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B3B5B0F113D08D700503FE7 /* CPResultCell.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE525A1339193600DA9881 /* CPFileReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6EC540113D354D00126AE0 /* CPFileReference.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE525D1339193600DA9881 /* CPPreferencesView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B10F4851147B29B0081A264 /* CPPreferencesView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52611339193600DA9881 /* CPHUDViewWithRoundCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B1171B011490EA70029BB44 /* CPHUDViewWithRoundCorners.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52631339193600DA9881 /* NSAttributedString+Hyperlink.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B53D0F911492AB200224F53 /* NSAttributedString+Hyperlink.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52641339193600DA9881 /* NSNumber+VersionComparison.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B69D3041153AA5E00541012 /* NSNumber+VersionComparison.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52651339193600DA9881 /* CPInfoWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B28A81F1153C3F300F077A5 /* CPInfoWindowView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52661339193600DA9881 /* CPNoProjectOpenWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B304E681153C9DF00240FF1 /* CPNoProjectOpenWindowView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52671339193600DA9881 /* CPXcodeVersionUnsupportedWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B304E6B1153CA3300240FF1 /* CPXcodeVersionUnsupportedWindowView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52681339193600DA9881 /* NSView+RoundedFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6C94121153F4D2003ED852 /* NSView+RoundedFrame.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE52691339193600DA9881 /* CPFirstRunWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE803001156C9F900F603A8 /* CPFirstRunWindowView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE526A1339193600DA9881 /* NSMutableArray+MiscExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B38187B115CD37F0007D74B /* NSMutableArray+MiscExtensions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE526C1339193600DA9881 /* MCStringScoring.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B63C9261190199500C0DB12 /* MCStringScoring.c */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - 4BEE526E1339193600DA9881 /* CPSymbol.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBC547911D7757D00C63705 /* CPSymbol.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + 4BEE52591339193600DA9881 /* CPResultCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B3B5B0F113D08D700503FE7 /* CPResultCell.m */; }; + 4BEE525A1339193600DA9881 /* CPFileReference.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6EC540113D354D00126AE0 /* CPFileReference.m */; }; + 4BEE525D1339193600DA9881 /* CPPreferencesView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B10F4851147B29B0081A264 /* CPPreferencesView.m */; }; + 4BEE52611339193600DA9881 /* CPHUDViewWithRoundCorners.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B1171B011490EA70029BB44 /* CPHUDViewWithRoundCorners.m */; }; + 4BEE52631339193600DA9881 /* NSAttributedString+Hyperlink.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B53D0F911492AB200224F53 /* NSAttributedString+Hyperlink.m */; }; + 4BEE52641339193600DA9881 /* NSNumber+VersionComparison.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B69D3041153AA5E00541012 /* NSNumber+VersionComparison.m */; }; + 4BEE52651339193600DA9881 /* CPInfoWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B28A81F1153C3F300F077A5 /* CPInfoWindowView.m */; }; + 4BEE52661339193600DA9881 /* CPNoProjectOpenWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B304E681153C9DF00240FF1 /* CPNoProjectOpenWindowView.m */; }; + 4BEE52671339193600DA9881 /* CPXcodeVersionUnsupportedWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B304E6B1153CA3300240FF1 /* CPXcodeVersionUnsupportedWindowView.m */; }; + 4BEE52681339193600DA9881 /* NSView+RoundedFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B6C94121153F4D2003ED852 /* NSView+RoundedFrame.m */; }; + 4BEE52691339193600DA9881 /* CPFirstRunWindowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BE803001156C9F900F603A8 /* CPFirstRunWindowView.m */; }; + 4BEE526A1339193600DA9881 /* NSMutableArray+MiscExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B38187B115CD37F0007D74B /* NSMutableArray+MiscExtensions.m */; }; + 4BEE526C1339193600DA9881 /* MCStringScoring.c in Sources */ = {isa = PBXBuildFile; fileRef = 4B63C9261190199500C0DB12 /* MCStringScoring.c */; }; + 4BEE526E1339193600DA9881 /* CPSymbol.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BBC547911D7757D00C63705 /* CPSymbol.m */; }; 4BEE52741339193600DA9881 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; 4BEE52751339193600DA9881 /* libssl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B71F65C11561A15005A8471 /* libssl.dylib */; }; 4BEE52761339193600DA9881 /* libcrypto.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B71F66011561A5E005A8471 /* libcrypto.dylib */; }; @@ -70,8 +70,8 @@ C79122D6189E3449001776A1 /* NSURL+Xcode.m in Sources */ = {isa = PBXBuildFile; fileRef = C79122D5189E3449001776A1 /* NSURL+Xcode.m */; }; C79122D9189E391D001776A1 /* NSWorkspace+OpenFileOnLine.m in Sources */ = {isa = PBXBuildFile; fileRef = C79122D8189E391D001776A1 /* NSWorkspace+OpenFileOnLine.m */; }; F93F4FAD17B3FE550077B19E /* NSColor+ColorArithmetic.m in Sources */ = {isa = PBXBuildFile; fileRef = F93F4FAC17B3FE550077B19E /* NSColor+ColorArithmetic.m */; }; - F9979794155D52060023D04C /* CPSymbolCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F9979793155D52060023D04C /* CPSymbolCache.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; - F9EAED25179D945100701117 /* CPXcodeInterfaces.m in Sources */ = {isa = PBXBuildFile; fileRef = F9EAED24179D945100701117 /* CPXcodeInterfaces.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; }; + F9979794155D52060023D04C /* CPSymbolCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F9979793155D52060023D04C /* CPSymbolCache.m */; }; + F9EAED25179D945100701117 /* CPXcodeInterfaces.m in Sources */ = {isa = PBXBuildFile; fileRef = F9EAED24179D945100701117 /* CPXcodeInterfaces.m */; }; F9F596B417BBF78E0037BE7A /* CPResult.m in Sources */ = {isa = PBXBuildFile; fileRef = F9F596B317BBF78E0037BE7A /* CPResult.m */; }; /* End PBXBuildFile section */ @@ -653,7 +653,6 @@ buildSettings = { CLANG_ENABLE_OBJC_ARC = YES; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_GC = supported; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -668,7 +667,6 @@ buildSettings = { CLANG_ENABLE_OBJC_ARC = YES; GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_GC = supported; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.8; @@ -689,7 +687,6 @@ DSTROOT = "$(HOME)"; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_DYNAMIC_NO_PIC = NO; - GCC_ENABLE_OBJC_GC = unsupported; GCC_MODEL_TUNING = G5; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -720,7 +717,6 @@ DEPLOYMENT_POSTPROCESSING = YES; DSTROOT = "$(HOME)"; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; - GCC_ENABLE_OBJC_GC = unsupported; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Other Sources/CodePilot_Prefix.pch"; From 3815b1a20b1e07d9945c605de8d81cdf5bb2e71d Mon Sep 17 00:00:00 2001 From: Calvin Cheung Date: Thu, 17 Sep 2015 22:07:15 +0800 Subject: [PATCH 07/13] add Xcode 7 UUID --- Resources/Info.plist | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Info.plist b/Resources/Info.plist index df3b25a..174b4a2 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -51,6 +51,7 @@ 8DC44374-2B35-4C57-A6FE-2AD66A36AAD9 E969541F-E6F9-4D25-8158-72DC3545A6C6 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 + 0420B86A-AA43-4792-9ED0-6FE0F2B16A13 NSPrincipalClass CPCodePilotPlugin From d8e0f60ae8541175123af411644df127d641f7a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Ka=C5=82u=C5=BCny?= Date: Wed, 28 Oct 2015 12:45:08 +0100 Subject: [PATCH 08/13] Added support for missing Xcode versions --- Resources/Info.plist | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Resources/Info.plist b/Resources/Info.plist index 174b4a2..22e9859 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -38,6 +38,9 @@ DVTPlugInCompatibilityUUIDs + AABB7188-E14E-4433-AD3B-5CD791EAD9A3 + CC0D0F4F-05B3-431A-8F33-F84AFCB2C651 + 7265231C-39B4-402C-89E1-16167C4CC990 FEC992CC-CA4A-4CFD-8881-77300FCB848A AD68E85B-441B-4301-B564-A45E4919A6AD 9F75337B-21B4-4ADC-B558-F9CADF7073A7 From a6c06ce74e0d45473dc13d4dcaf46999051a13d5 Mon Sep 17 00:00:00 2001 From: waterjack Date: Tue, 15 Dec 2015 14:54:35 +0800 Subject: [PATCH 09/13] a little fix --- Classes/NSString+MiscExtensions.m | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Classes/NSString+MiscExtensions.m b/Classes/NSString+MiscExtensions.m index c20b965..4272e9f 100644 --- a/Classes/NSString+MiscExtensions.m +++ b/Classes/NSString+MiscExtensions.m @@ -7,7 +7,6 @@ // #import "NSString+MiscExtensions.h" -#import @implementation NSString (MiscExtensions) - (BOOL)isBlank @@ -40,7 +39,7 @@ + (NSString *)nounWithCount:(NSInteger)count forNoun:(NSString *)noun { NSString *format; - if (abs(count) != 1) { + if (ABS(count) != 1) { // s, z, x, sh, and ch if ([noun hasSuffix:@"s"] || [noun hasSuffix:@"z"] || From 22f18fc2bd149f1ac0f3690f27d49bdd7b91f5ce Mon Sep 17 00:00:00 2001 From: Bartek Chlebek Date: Sun, 7 Feb 2016 19:51:31 +0100 Subject: [PATCH 10/13] Xcode 7.2 DVTPlugInCompatibilityUUID added --- Resources/Info.plist | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Info.plist b/Resources/Info.plist index 22e9859..0832252 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -55,6 +55,7 @@ E969541F-E6F9-4D25-8158-72DC3545A6C6 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 0420B86A-AA43-4792-9ED0-6FE0F2B16A13 + F41BD31E-2683-44B8-AE7F-5F09E919790E NSPrincipalClass CPCodePilotPlugin From 711eb4b95e7f0df01bf999af76b42ac8f5829404 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Kwoska?= Date: Wed, 8 Jul 2015 11:27:14 +0200 Subject: [PATCH 11/13] Optimized symbol caching. --- Classes/CPXcodeWrapper.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Classes/CPXcodeWrapper.m b/Classes/CPXcodeWrapper.m index db942fa..80123c3 100755 --- a/Classes/CPXcodeWrapper.m +++ b/Classes/CPXcodeWrapper.m @@ -189,10 +189,11 @@ - (void)updateWorkspaceSymbolCacheForWorkspace:(IDEWorkspace *)workspace withWor - (void)updateWorkspaceSymbolCacheForWorkspace:(IDEWorkspace *)workspace { + CFTimeInterval startTime = CACurrentMediaTime(); @try { @synchronized (self.workspaceSymbolCaches) { self.symbolCachingInProgress = YES; - NSMutableArray *newSymbolCacheContents = [NSMutableArray array]; + NSMutableSet *newSymbolCacheContents = [NSMutableSet set]; NSArray *interestingSymbolKinds = [NSArray arrayWithObjects: [DVTSourceCodeSymbolKind containerSymbolKind], @@ -220,7 +221,7 @@ - (void)updateWorkspaceSymbolCacheForWorkspace:(IDEWorkspace *)workspace } } - CPWorkspaceSymbolCache *newWorkspaceSymbolCache = [CPWorkspaceSymbolCache symbolCacheWithSymbols:newSymbolCacheContents + CPWorkspaceSymbolCache *newWorkspaceSymbolCache = [CPWorkspaceSymbolCache symbolCacheWithSymbols:newSymbolCacheContents.allObjects forWorkspace:workspace]; [self updateWorkspaceSymbolCacheForWorkspace:workspace withWorkspaceSymbolCache:newWorkspaceSymbolCache]; @@ -231,6 +232,8 @@ - (void)updateWorkspaceSymbolCacheForWorkspace:(IDEWorkspace *)workspace @catch (NSException *exception) { LOG(@"EXCEPTION OCCURRED: %@", exception); } + CFTimeInterval endTime = CACurrentMediaTime(); + LOG(@"UPDATING SYMBOL CACHE TOOK %fs", endTime - startTime); } - (NSArray *)topLevelCPSymbolsMatchingQuery:(NSString *)query From a73c7f8af4fff7dc68a65e0d1ac7d2c9fb503aeb Mon Sep 17 00:00:00 2001 From: Bartek Chlebek Date: Sun, 7 Feb 2016 20:09:38 +0100 Subject: [PATCH 12/13] Benchmarking logs removed --- Classes/CPXcodeWrapper.m | 3 --- 1 file changed, 3 deletions(-) diff --git a/Classes/CPXcodeWrapper.m b/Classes/CPXcodeWrapper.m index 80123c3..5b45ed7 100755 --- a/Classes/CPXcodeWrapper.m +++ b/Classes/CPXcodeWrapper.m @@ -189,7 +189,6 @@ - (void)updateWorkspaceSymbolCacheForWorkspace:(IDEWorkspace *)workspace withWor - (void)updateWorkspaceSymbolCacheForWorkspace:(IDEWorkspace *)workspace { - CFTimeInterval startTime = CACurrentMediaTime(); @try { @synchronized (self.workspaceSymbolCaches) { self.symbolCachingInProgress = YES; @@ -232,8 +231,6 @@ - (void)updateWorkspaceSymbolCacheForWorkspace:(IDEWorkspace *)workspace @catch (NSException *exception) { LOG(@"EXCEPTION OCCURRED: %@", exception); } - CFTimeInterval endTime = CACurrentMediaTime(); - LOG(@"UPDATING SYMBOL CACHE TOOK %fs", endTime - startTime); } - (NSArray *)topLevelCPSymbolsMatchingQuery:(NSString *)query From 3a30999db0ce6d12505149bd9b1c3a071b0307bf Mon Sep 17 00:00:00 2001 From: Bartek Chlebek Date: Mon, 30 May 2016 13:09:05 +0200 Subject: [PATCH 13/13] Xcode 7.3/7.3.1 DVTPlugInCompatibilityUUID added --- Resources/Info.plist | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Resources/Info.plist b/Resources/Info.plist index 0832252..3afa574 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -38,24 +38,25 @@ DVTPlugInCompatibilityUUIDs + ACA8656B-FEA8-4B6D-8E4A-93F4C95C362C + F41BD31E-2683-44B8-AE7F-5F09E919790E + 7265231C-39B4-402C-89E1-16167C4CC990 + 0420B86A-AA43-4792-9ED0-6FE0F2B16A13 + 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 + E969541F-E6F9-4D25-8158-72DC3545A6C6 + 9F75337B-21B4-4ADC-B558-F9CADF7073A7 + A16FF353-8441-459E-A50C-B071F53F51B7 + C4A681B0-4A26-480E-93EC-1218098B9AA0 + A2E4D43F-41F4-4FB9-BB94-7177011C9AED AABB7188-E14E-4433-AD3B-5CD791EAD9A3 CC0D0F4F-05B3-431A-8F33-F84AFCB2C651 - 7265231C-39B4-402C-89E1-16167C4CC990 FEC992CC-CA4A-4CFD-8881-77300FCB848A AD68E85B-441B-4301-B564-A45E4919A6AD - 9F75337B-21B4-4ADC-B558-F9CADF7073A7 992275C1-432A-4CF7-B659-D84ED6D42D3F - A16FF353-8441-459E-A50C-B071F53F51B7 640F884E-CE55-4B40-87C0-8869546CAB7A 63FC1C47-140D-42B0-BB4D-A10B2D225574 37B30044-3B14-46BA-ABAA-F01000C27B63 - A2E4D43F-41F4-4FB9-BB94-7177011C9AED - C4A681B0-4A26-480E-93EC-1218098B9AA0 8DC44374-2B35-4C57-A6FE-2AD66A36AAD9 - E969541F-E6F9-4D25-8158-72DC3545A6C6 - 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 - 0420B86A-AA43-4792-9ED0-6FE0F2B16A13 - F41BD31E-2683-44B8-AE7F-5F09E919790E NSPrincipalClass CPCodePilotPlugin