public StatefulClassifier(IClassificationScanner <T> scanner, IStateManagement <T> stateManagement) { if (scanner == null) { throw new ArgumentNullException("scanner"); } if (stateManagement == null) { throw new ArgumentNullException("stateManagement"); } this.scanner = scanner; this.stateManagement = stateManagement; this.stateManagement.ClassificationChanged += (EventHandler <ClassificationChangedEventArgs>)((sender, e) => this.RaiseClassificationChangedEvent(e)); }
public LineBasedStateManagement(ITextBuffer textBuffer, IClassificationScanner <T> scanner, IEnvironment environment) { if (textBuffer == null) { throw new ArgumentNullException("textBuffer"); } if (scanner == null) { throw new ArgumentNullException("scanner"); } this._scanner = scanner; this._textBuffer = textBuffer; this.environment = environment; this._previousLineCount = this._textBuffer.CurrentSnapshot.LineCount; this._states = new T?[this._previousLineCount * 3 / 2]; this._textBuffer.Changed += new EventHandler <TextContentChangedEventArgs>(this.HandleBufferChanged); }
internal Classifier(ITextBuffer textBuffer, IClassificationScanner <XamlAnalyzer.LineState> scanner, IEnvironment environment) : base(textBuffer, scanner, environment) { }
public StatefulClassifier(ITextBuffer textBuffer, IClassificationScanner <T> scanner, IEnvironment environment) : this(scanner, (IStateManagement <T>) new LineBasedStateManagement <T>(textBuffer, scanner, environment)) { }