public ReadWriteTypingBuffer RemoveLast() { if (Length > 0) { if (this[LastIndex] == ' ' && IsLastSameAsOriginal) { for (int i = LastIndex; i >= 0 && this[i] == ' ' && Original[i] == ' '; i--) { Length--; } } else { if (!IsLastSameAsOriginal) { ErrorsUncorrected.RemoveAt(ErrorsUncorrected.Count - 1); } Length--; } RecordedKeys.RemoveFromPosition(Length); } return(this); }
public ReadWriteTypingBuffer Append(char ch) { Buffer[Length++] = ch; if (!IsLastSameAsOriginal) { ErrorsCommitted++; ErrorsUncorrected.Add(LastIndex); OnError(EventArgs.Empty); } return(this); }