#import "SCMTextView.h" #import "SchemeDelegate.h" @implementation NSTextView (Misc) - placeCursorAtEnd { NSRange range = { [[self string] length], 0 }; [self setSelectedRange:range]; return self; } - selectLineAtPos:(int)pos { NSString *data = [self string]; unsigned startInd, endInd; [data getLineStart:&startInd end:&endInd contentsEnd:NULL forRange:NSMakeRange(pos, 0)]; [self setSelectedRange:NSMakeRange(startInd, endInd-startInd)]; return self; } @end @implementation SCMTextView - (void)insertText:(id)aString { int inslen = [aString length]; unichar ch = [aString characterAtIndex:0]; NSString *modified = @"", *single; if(inslen == 1 && ch==NSNewlineCharacter){ NSString *data = [self string]; NSRange range = [self selectedRange]; NSCharacterSet *charset = [NSCharacterSet whitespaceAndNewlineCharacterSet]; int pos = range.location; BOOL newline = NO; while(pos>0){ pos--; if([data characterAtIndex:pos]==NSNewlineCharacter){ newline = YES; break; } } if(newline == YES){ int len = 0; int max = [data length]; while(pos+len= lastRetrieved){ [super delete:sender]; } else{ NSBeep(); } } @end