protected override void OnTextChanged(EventArgs e) { if (_highlighting) { return; } _highlightTimer.Change(Delay, int.MaxValue); HideAutoCompleteForm(); _visitor.Clear(); if (!string.IsNullOrEmpty(Text)) { var nodes = _parser.Parse(Text); _visitor.Visit(nodes); } base.OnTextChanged(e); if (!_isUndo) { _redoStack.Clear(); _undoList.Insert(0, _lastInfo); UpdateUndoLimit(); _lastInfo = UndoRedoInfo.Create(this); } if (CanAutoComplete(true)) { ShowAutoComplete(); } }