aboutsummaryrefslogtreecommitdiffstats
path: root/Source/CustomQuery.m
diff options
context:
space:
mode:
authorBibiko <bibiko@eva.mpg.de>2009-07-15 15:35:42 +0000
committerBibiko <bibiko@eva.mpg.de>2009-07-15 15:35:42 +0000
commitc213d86c13973d280e43bb4c5c380e72c50b703e (patch)
tree622c461b25ce4c2e738f1e706b6222e1d9ba20c5 /Source/CustomQuery.m
parentbc8d45aebfbab783517560d949a8d53e36fba990 (diff)
downloadsequelpro-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.m30
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