[R-SIG-Mac] suggestion for wrapping a selected text chunk into auto-pairs in R.app's Console
Hans-Jörg Bibiko
bibiko at eva.mpg.de
Wed Apr 1 12:43:17 CEST 2009
Dear Simon, dear all,
here my code to wrap a selected text chunk into auto-pairs:
> foo bar
select 'bar' and type e.g. " -> [ | := caret]
> foo "bar"|
add in RTextView.m the method:
/*
* If the textview has a selection, wrap it with the supplied prefix
and suffix strings;
* return whether or not any wrap was performed.
*/
- (BOOL) wrapSelectionWithPrefix:(unsigned int)prefix suffix:(NSString
*)suffix
{
// Only proceed if a selection is active
if ([self selectedRange].length == 0)
return NO;
// Replace the current selection with the selected string wrapped in
prefix and suffix
[self insertText:
[NSString stringWithFormat:@"%c%@%@",
prefix,
[[self string] substringWithRange:[self selectedRange]],
suffix
]
];
return YES;
}
and inside the keyDown: method just after:
case '\'':
if (!complement) {
complement = @"\'";
acCheck = YES;
if ([self parserContextForPosition:r.location] != pcExpression) break;
}
add:
if ([self wrapSelectionWithPrefix:ck suffix:complement]) return;
Cheers,
--Hans
**********************************************************
Hans-Joerg Bibiko
Max Planck Institute for Evolutionary Anthropology
Department of Linguistics
Deutscher Platz 6 phone: +49 (0) 341 3550 341
D-04103 Leipzig fax: +49 (0) 341 3550 333
Germany e-mail: bibiko at eva.mpg.de
More information about the R-SIG-Mac
mailing list