static void NextWord (TextEditorData data, bool subword)
{
int oldLine = data.Caret.Line;
int offset = subword? data.FindNextSubwordOffset (data.Caret.Offset) : data.FindNextWordOffset (data.Caret.Offset);
if (data.Caret.Offset != offset && data.CanEdit (oldLine) && data.CanEdit (data.Caret.Line)) {
data.Remove (data.Caret.Offset, offset - data.Caret.Offset);
data.Document.CommitLineToEndUpdate (data.Caret.Line);
}
}