protected override ITaggerEventSource CreateEventSource(ITextView textView, ITextBuffer subjectBuffer)
        {
            AssertIsForeground();

            return(TaggerEventSources.Compose(
                       new EventSource(subjectBuffer),
                       TaggerEventSources.OnTextChanged(subjectBuffer),
                       TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer)));
        }
示例#2
0
        protected override ITaggerEventSource CreateEventSource(ITextView?textView, ITextBuffer subjectBuffer)
        {
            this.ThreadingContext.ThrowIfNotOnUIThread();

            return(TaggerEventSources.Compose(
                       new EventSource(subjectBuffer),
                       TaggerEventSources.OnTextChanged(subjectBuffer),
                       TaggerEventSources.OnDocumentActiveContextChanged(subjectBuffer)));
        }
示例#3
0
 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)));
 }
示例#4
0
 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)
                ));
 }
示例#6
0
 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)));
 }
示例#7
0
 protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer)
 {
     return(TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.NearImmediate));
 }
示例#8
0
 protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer)
 {
     return(TaggerEventSources.Compose(
                TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.NearImmediate),
                TaggerEventSources.OnOptionChanged(subjectBuffer, FeatureOnOffOptions.LineSeparator, TaggerDelay.NearImmediate)));
 }
示例#9
0
        protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer)
        {
            this.AssertIsForeground();

            return(TaggerEventSources.OnTextChanged(subjectBuffer, delay: TaggerDelay.NearImmediate));
        }
示例#10
0
 protected override ITaggerEventSource CreateEventSource(ITextView textViewOpt, ITextBuffer subjectBuffer)
 {
     return(TaggerEventSources.Compose(
                TaggerEventSources.OnTextChanged(subjectBuffer, TaggerDelay.OnIdle)));
 }