public MSBuildValidationTagger(ITextBuffer buffer, JoinableTaskContext joinableTaskContext)
        {
            parser = BackgroundParser <MSBuildParseResult> .GetParser <MSBuildBackgroundParser> ((ITextBuffer2)buffer);

            parser.ParseCompleted   += ParseCompleted;
            this.joinableTaskContext = joinableTaskContext;
            this.buffer = buffer;
        }
 public MSBuildHighlightReferencesTagger(
     ITextView textView,
     MSBuildHighlightReferencesTaggerProvider provider
     )
     : base(textView, provider.JoinableTaskContext)
 {
     parser        = provider.ParserProvider.GetParser(textView.TextBuffer);
     this.provider = provider;
 }
        public MSBuildSuggestedActionSource(MSBuildSuggestedActionsSourceProvider provider, ITextView textView, ITextBuffer textBuffer)
        {
            this.provider   = provider;
            this.textView   = textView;
            this.textBuffer = textBuffer;

            parser = provider.ParserProvider.GetParser(textBuffer);
            parser.ParseCompleted += ParseCompleted;
        }
        public void Dispose()
        {
            var p = parser;

            if (p != null)
            {
                parser.ParseCompleted -= ParseCompleted;
                parser = null;
            }
        }
示例#5
0
        void ActiveEditorChanged(object sender, ActiveEditorChangedEventArgs e)
        {
            if (parser != null)
            {
                parser.ParseCompleted -= ParseCompleted;
            }

            if (e.NewView is ITextView t && t.TextBuffer.ContentType.IsOfType(MSBuildContentType.Name))
            {
                parser = GetParserProvider().GetParser(t.TextBuffer);
                parser.ParseCompleted += ParseCompleted;
            }

            var output = parser?.LastOutput;

            if (output?.MSBuildDocument is MSBuildRootDocument doc)
            {
                Runtime.RunInMainThread(() => Update(doc));
            }
            else
            {
                Runtime.RunInMainThread(() => store.Clear());
            }
        }
示例#6
0
 public MSBuildValidationTagger(ITextBuffer buffer, JoinableTaskContext joinableTaskContext, MSBuildParserProvider parserProvider)
 {
     parser = parserProvider.GetParser(buffer);
     parser.ParseCompleted   += ParseCompleted;
     this.joinableTaskContext = joinableTaskContext;
 }
示例#7
0
 public MSBuildQuickInfoSource(ITextBuffer textBuffer, MSBuildQuickInfoSourceProvider provider)
 {
     this.textBuffer = textBuffer;
     this.provider   = provider;
     parser          = provider.ParserProvider.GetParser(textBuffer);
 }