diff options
author | Bibiko <bibiko@eva.mpg.de> | 2009-07-15 10:12:34 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2009-07-15 10:12:34 +0000 |
commit | 3a0743df3ea4272f90b65e43799f3d9d86ed415a (patch) | |
tree | 65d38bad88fea5be2d7ac5de66e3a49c95aaf033 | |
parent | a1f15a4aff3e32817faa5b237f4d1febd3bc4410 (diff) | |
download | sequelpro-3a0743df3ea4272f90b65e43799f3d9d86ed415a.tar.gz sequelpro-3a0743df3ea4272f90b65e43799f3d9d86ed415a.tar.bz2 sequelpro-3a0743df3ea4272f90b65e43799f3d9d86ed415a.zip |
• fixed dealloc of 'suggestions' in SPNarrowDownCompletion
• deleted (void)paste hook from CMTextView (not needed anymore)
• decreased iteration cycles for 'normal' completion (ESC) by getting only the unique words from the current textView
-rw-r--r-- | Source/CMTextView.m | 26 | ||||
-rw-r--r-- | Source/SPNarrowDownCompletion.m | 10 |
2 files changed, 14 insertions, 22 deletions
diff --git a/Source/CMTextView.m b/Source/CMTextView.m index dbd33342..ecca0721 100644 --- a/Source/CMTextView.m +++ b/Source/CMTextView.m @@ -915,12 +915,20 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse) if(![[[self textStorage] attribute:kBTQuote atIndex:charRange.location effectiveRange:nil] isEqualToString:kBTQuoteValue] ) { // Only parse for words if text size is less than 6MB + // if([[self string] length]<6000000) + // { + // NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" \t\r\n,()\"'`-!;=+|?:~@"]; + // NSArray *textViewWords = [[self string] componentsSeparatedByCharactersInSet:separators]; + // [possibleCompletions addObjectsFromArray:textViewWords]; + // } if([[self string] length]<6000000) { - NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" \t\r\n,()\"'`-!;=+|?:~@"]; - NSArray *textViewWords = [[self string] componentsSeparatedByCharactersInSet:separators]; - [possibleCompletions addObjectsFromArray:textViewWords]; + NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" \t\r\n,()[]{}\"'`-!;=+|?:~@"]; + NSMutableArray *uniqueArray = [NSMutableArray array]; + [uniqueArray addObjectsFromArray:[[NSSet setWithArray:[[self string] componentsSeparatedByCharactersInSet:separators]] allObjects]]; + [possibleCompletions addObjectsFromArray:uniqueArray]; } + [possibleCompletions addObjectsFromArray:[self keywords]]; } @@ -946,18 +954,6 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse) /* - * Hook to invoke the auto-uppercasing of SQL keywords after pasting - */ -- (void)paste:(id)sender -{ - - [super paste:sender]; - // Invoke the auto-uppercasing of SQL keywords via an additional trigger - [self insertText:@""]; -} - - -/* * List of keywords for autocompletion. If you add a keyword here, * it should also be added to the flex file SPEditorTokens.l */ diff --git a/Source/SPNarrowDownCompletion.m b/Source/SPNarrowDownCompletion.m index adadd902..e2a52882 100644 --- a/Source/SPNarrowDownCompletion.m +++ b/Source/SPNarrowDownCompletion.m @@ -110,8 +110,7 @@ [mutablePrefix release]; [textualInputCharacters release]; - // TODO: This may cause errors, I cannot see if it is always set up - only if !dictMode. - // [suggestions release]; + if(suggestions) [suggestions release]; if (filtered) [filtered release]; @@ -134,9 +133,7 @@ theView = aView; dictMode = mode; - if(dictMode) { - words = [NSArray arrayWithArray:suggestions]; - } else { + if(!dictMode) { suggestions = [someSuggestions retain]; words = nil; } @@ -236,8 +233,7 @@ NSArray* newFiltered; if([mutablePrefix length] > 0) { - if(dictMode) - { + if(dictMode) { newFiltered = [[NSSpellChecker sharedSpellChecker] completionsForPartialWordRange:NSMakeRange(0,[[self filterString] length]) inString:[self filterString] language:nil inSpellDocumentWithTag:0]; } else { NSPredicate* predicate; |