protected override ITaggerEventSource CreateEventSource(ITextView textView, ITextBuffer subjectBuffer) { AssertIsForeground(); return(TaggerEventSources.Compose( new EventSource(subjectBuffer), TaggerEventSources.OnTextChanged(subjectBuffer), TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer))); }
protected override ITaggerEventSource CreateEventSource(ITextView?textView, ITextBuffer subjectBuffer) { this.ThreadingContext.ThrowIfNotOnUIThread(); return(TaggerEventSources.Compose( new EventSource(subjectBuffer), TaggerEventSources.OnTextChanged(subjectBuffer), TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer))); }
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))); }
protected override ITaggerEventSource CreateEventSource( ITextView textView, ITextBuffer subjectBuffer ) { return(TaggerEventSources.Compose( new EditorFormatMapChangedEventSource(_editorFormatMap, TaggerDelay.NearImmediate), TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.NearImmediate) )); }
protected override ITaggerEventSource CreateEventSource( ITextView textView, ITextBuffer subjectBuffer ) { return(TaggerEventSources.Compose( TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.NearImmediate), TaggerEventSources.OnCaretPositionChanged( textView, subjectBuffer, TaggerDelay.NearImmediate ), TaggerEventSources.OnParseOptionChanged(subjectBuffer, TaggerDelay.NearImmediate) )); }
protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer) { // We listen to the following events: // 1) Text changes. These can obviously affect outlining, so we need to recompute when // we hear about them. // 2) Parse option changes. These can affect outlining when, for example, we change from // DEBUG to RELEASE (affecting the inactive/active regions). // 3) When we hear about a workspace being registered. Outlining may run before a // we even know about a workspace. This can happen, for example, in the TypeScript // case. With TypeScript a file is opened, but the workspace is not generated until // some time later when they have examined the file system. As such, initially, // the file will not have outline spans. When the workspace is created, we want to // then produce the right outlining spans. return(TaggerEventSources.Compose( TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.OnIdle), TaggerEventSources.OnParseOptionChanged(subjectBuffer, TaggerDelay.OnIdle), TaggerEventSources.OnWorkspaceRegistrationChanged(subjectBuffer, TaggerDelay.OnIdle))); }
protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer) { return(TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.NearImmediate)); }
protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer) { return(TaggerEventSources.Compose( TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.NearImmediate), TaggerEventSources.OnOptionChanged(subjectBuffer, FeatureOnOffOptions.LineSeparator, TaggerDelay.NearImmediate))); }
protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer) { this.AssertIsForeground(); return(TaggerEventSources.OnTextChanged(subjectBuffer, delay: TaggerDelay.NearImmediate)); }
protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer) { return(TaggerEventSources.Compose( TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.OnIdle))); }