diff options
author | Bibiko <bibiko@eva.mpg.de> | 2009-07-15 15:35:42 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2009-07-15 15:35:42 +0000 |
commit | c213d86c13973d280e43bb4c5c380e72c50b703e (patch) | |
tree | 622c461b25ce4c2e738f1e706b6222e1d9ba20c5 /Source/CustomQuery.m | |
parent | bc8d45aebfbab783517560d949a8d53e36fba990 (diff) | |
download | sequelpro-c213d86c13973d280e43bb4c5c380e72c50b703e.tar.gz sequelpro-c213d86c13973d280e43bb4c5c380e72c50b703e.tar.bz2 sequelpro-c213d86c13973d280e43bb4c5c380e72c50b703e.zip |
• initial support for ⌘/ in CustomQuery editor to (un)comment out the current query or selection by inserting "# " at the begin of each line
- Note: not yet finished completely
Diffstat (limited to 'Source/CustomQuery.m')
-rw-r--r-- | Source/CustomQuery.m | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Source/CustomQuery.m b/Source/CustomQuery.m index 7dc8e4dc..00834f80 100644 --- a/Source/CustomQuery.m +++ b/Source/CustomQuery.m @@ -927,6 +927,36 @@ [textView setSelectedRange:currentQueryRange]; } +- (void)commentOutQuery +{ + + if(!currentQueryRange.length && ![textView selectedRange].length) { + NSBeep(); + return; + } + + NSRange workingRange; + + NSRange oldRange = [textView selectedRange]; + + if(oldRange.length) + workingRange = oldRange; + else + workingRange = currentQueryRange; + + NSMutableString *n = [NSMutableString string]; + [n setString:[NSString stringWithFormat:@"# %@", [[textView string] substringWithRange:workingRange]]]; + [n replaceOccurrencesOfRegex:@"\\n(?=.)" withString:@"\n# "]; + [n replaceOccurrencesOfRegex:@"\\n# # " withString:@"\n"]; + [n replaceOccurrencesOfRegex:@"^# # " withString:@""]; + + [textView setSelectedRange:workingRange]; + + [textView insertText:n]; + + [textView setSelectedRange:NSMakeRange(NSMaxRange(currentQueryRange),0)]; +} + #pragma mark - #pragma mark Accessors |