aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/CMTextView.m6
-rw-r--r--Source/CustomQuery.h1
-rw-r--r--Source/CustomQuery.m30
3 files changed, 36 insertions, 1 deletions
diff --git a/Source/CMTextView.m b/Source/CMTextView.m
index ecca0721..27fb0dab 100644
--- a/Source/CMTextView.m
+++ b/Source/CMTextView.m
@@ -531,6 +531,11 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
[self makeTextSizeSmaller];
return;
}
+ if([charactersIgnMod isEqualToString:@"/"])
+ {
+ [[[[self window] delegate] valueForKeyPath:@"customQueryInstance"] commentOutQuery];
+ return;
+ }
}
// Only process for character autopairing if autopairing is enabled and a single character is being added.
@@ -685,7 +690,6 @@ NSInteger alphabeticSort(id string1, id string2, void *reverse)
}
-
/*
* Handle special commands - see NSResponder.h for a sample list.
* This subclass currently handles insertNewline: in order to preserve indentation
diff --git a/Source/CustomQuery.h b/Source/CustomQuery.h
index ddd47e0e..56f56f0d 100644
--- a/Source/CustomQuery.h
+++ b/Source/CustomQuery.h
@@ -148,6 +148,7 @@
- (void)setFavorites;
- (void)doPerformQueryService:(NSString *)query;
- (void)selectCurrentQuery;
+- (void)commentOutQuery;
- (NSString *)usedQuery;
- (NSString *)argumentForRow:(NSUInteger)rowIndex ofTable:(NSString *)tableForColumn;
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