[R-SIG-Mac] Can I disable brace completion in console?
Hans-Joerg Bibiko
bibiko at eva.mpg.de
Thu May 24 09:30:31 CEST 2007
>> More precisely, I'm referring to the new feature that automatically
>> adds the right brace (or bracket or parenthesis) when the left one
>> is typed. Nice when you type from left to right, but inconvenient
>> when you edit the same or previous lines. At least using something
>> like "Cmd - {" to override it would be nice.
>>
>
> Sounds reasonable. I'll see if we can add that...
Cmd-{ is not so practical regarding to non-US keyboard users, but
maybe Cmd-B
Cmd-B could simply toggle the boolean RTextView_autoCloseBrackets or
could disable the auto-pair function for the next keydown event.(?)
On the other hand one could improve the auto-pair behaviour
-by checking the character right from the cursor (if there's one)
Example in RTextView.m > method keyDown:
...
[super keyDown:theEvent];
{
r = [self selectedRange];
NSTextStorage *ts = [self textStorage];
BOOL flag = YES;
if([ts length] > r.location){
unichar c = [[ts string] characterAtIndex:r.location];
flag=(c==' ' || c==',' || c==';' || c==']' || c==')' || c=='}')?
YES:NO;
}
if (r.location != NSNotFound && flag) {
// NSAttributedString *as = [[NSAttributedString alloc]
initWithString:complement attributes:
// [NSDictionary dictionaryWithObject:TAVal forKey:kTALinked]];
NSTextStorage *ts = [self textStorage];
[self replaceCharactersInRange:r withString:complement];
r.length=1;
[ts addAttribute:kTALinked value:TAVal range:r];
r.length=0;
[self setSelectedRange:r];
}
return;
}
...
-by adding the possibility to select something in the command line
and press (,[,{,", or ' to wrap the selection.
Example: 123456 you select 34 and press ( = 12(34)56
I use this very often for editing the command line ;)
Best,
Hans
More information about the R-SIG-Mac
mailing list