protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer) { return(TaggerEventSources.Compose( TaggerEventSources.OnSemanticChanged(subjectBuffer, TaggerDelay.Short, _semanticChangeNotificationService), TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer, TaggerDelay.Short), TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.Short, reportChangedSpans: true))); }
protected override ITaggerEventSource CreateEventSource(ITextView textView, ITextBuffer subjectBuffer) { // Note: we don't listen for OnTextChanged. Text changes to this buffer will get // reported by OnSemanticChanged. return(TaggerEventSources.Compose( TaggerEventSources.OnCaretPositionChanged(textView, textView.TextBuffer, TaggerDelay.Short), TaggerEventSources.OnSemanticChanged(subjectBuffer, TaggerDelay.OnIdle, _semanticChangeNotificationService))); }
protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer) { // Note: we don't listen for OnTextChanged. Text changes to this this buffer will get // reported by OnSemanticChanged. return(TaggerEventSources.Compose( TaggerEventSources.OnSemanticChanged(subjectBuffer, TaggerDelay.Short, _semanticChangeNotificationService), TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer, TaggerDelay.Short))); }
protected override ITaggerEventSource CreateEventSource(ITextView textView, ITextBuffer subjectBuffer) { // PERF: use a longer delay for OnTextChanged to minimize the impact of GCs while typing return(TaggerEventSources.Compose( TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.OnIdle), TaggerEventSources.OnCaretPositionChanged(textView, textView.TextBuffer, TaggerDelay.Short), TaggerEventSources.OnSemanticChanged(subjectBuffer, TaggerDelay.OnIdle, _semanticChangeNotificationService), TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer, TaggerDelay.Short), TaggerEventSources.OnOptionChanged(subjectBuffer, FeatureOnOffOptions.ReferenceHighlighting, TaggerDelay.NearImmediate))); }
public Tagger(SemanticClassificationBufferTaggerProvider owner, ITextBuffer subjectBuffer) { _owner = owner; _subjectBuffer = subjectBuffer; const TaggerDelay Delay = TaggerDelay.Short; _eventSource = TaggerEventSources.Compose( TaggerEventSources.OnSemanticChanged(subjectBuffer, Delay, _owner._semanticChangeNotificationService), TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer, Delay)); ConnectToEventSource(); }
protected override ITaggerEventSource CreateEventSource(ITextView textView, ITextBuffer subjectBuffer) { this.AssertIsForeground(); const TaggerDelay Delay = TaggerDelay.Short; // Note: we don't listen for OnTextChanged. They'll get reported by the ViewSpan changing // and also the SemanticChange nodification. // // Note: when the user scrolls, we will try to reclassify as soon as possible. That way // we appear semantically unclassified for a very short amount of time. return(TaggerEventSources.Compose( TaggerEventSources.OnViewSpanChanged(textView, textChangeDelay: Delay, scrollChangeDelay: TaggerDelay.NearImmediate), TaggerEventSources.OnSemanticChanged(subjectBuffer, Delay, _semanticChangeNotificationService))); }