public int ProcessData(string aMessage, IVsHierarchy aHierarchy, OutputContentModel aOutputContent)
        {
            aOutputContent.Buffer.Add(aMessage);

            if (mErrorDetector.LlvmIsMissing(aMessage))
            {
                aOutputContent.MissingLLVM = true;
                return(VSConstants.S_FALSE);
            }

            var text = String.Join("\n", aOutputContent.Buffer.ToList()) + "\n";

            if (mErrorDetector.Detect(text, out Match aMatchResult))
            {
                GetOutputAndErrors(text, aHierarchy, out string outputText, out List <TaskErrorModel> aDetectedErrors);
                aOutputContent.Text = outputText;
                aOutputContent.Errors.UnionWith(aDetectedErrors);
                aOutputContent.Buffer.Clear();
                return(VSConstants.S_OK);
            }
            else if (kBufferSize <= aOutputContent.Buffer.Count)
            {
                aOutputContent.Text = aOutputContent.Buffer[0];
                aOutputContent.Buffer.RemoveAt(0);
                return(VSConstants.S_OK);
            }

            return(VSConstants.S_FALSE);
        }
Esempio n. 2
0
        public void Clear()
        {
            mOutputContent = new OutputContentModel();
            var outputWindow = mOutputWindowBuilder.GetResult();

            UIUpdater.Invoke(() =>
            {
                outputWindow.Pane.Clear();
            });
        }
        public void Clear()
        {
            mOutputContent = new OutputContentModel();
            var outputWindow = mOutputWindowBuilder.GetResult();

            UIUpdater.InvokeAsync(() =>
            {
                outputWindow.Pane.Clear();
            }).SafeFireAndForget();
        }