Always indent line on cmd-tab

Extra boundary checks added to take care of empty line situations.
Fix #402.
This commit is contained in:
Tzu-ping Chung
2015-07-26 21:57:32 +08:00
parent cd913be34c
commit 61e4a736d5
@@ -384,17 +384,15 @@ static NSString * const kMPBlockquoteLinePattern = @"^((?:\\> ?)+).*$";
[lines enumerateObjectsUsingBlock:^(id obj, NSUInteger index, BOOL *stop) {
NSString *line = obj;
if (line.length)
{
totalShift += paddingLength;
line = [padding stringByAppendingString:line];
}
[modLines addObject:line];
[modLines addObject:[padding stringByAppendingString:line]];
}];
NSString *processed = [modLines componentsJoinedByString:@"\n"];
[self insertText:processed replacementRange:lineRange];
selectedRange.location += paddingLength;
selectedRange.length += totalShift - paddingLength;
selectedRange.length +=
(totalShift > paddingLength) ? totalShift - paddingLength : 0;
self.selectedRange = selectedRange;
}