async void GenerateOutput(Object obj) { CmdletObject cmd = Tab.EditorContext.CurrentCmdlet; ModuleObject module = Tab.Module; if (cmd == null) { return; } BusyControlVisible = Visibility.Visible; RtbVisible = Visibility.Collapsed; WebBrowserVisible = Visibility.Collapsed; if (HtmlChecked) { HtmlText = await HtmlProcessor.GenerateHtmlView(cmd, module); HtmlText = String.Format(Properties.Resources.HtmlTemplate, cmd.Name, HtmlText, cmd.ExtraHeader, cmd.ExtraFooter); BusyControlVisible = Visibility.Collapsed; RtbVisible = Visibility.Collapsed; WebBrowserVisible = Visibility.Visible; return; } IEnumerable <XmlToken> data = new List <XmlToken>(); if (XmlChecked) { if (module.UpgradeRequired) { Utils.MsgBox("Warning", "The module is offline and requires upgrade. Upgrade the project to allow XML view.", MessageBoxButton.OK, MessageBoxImage.Warning); BusyControlVisible = Visibility.Collapsed; return; } List <CmdletObject> cmdlets = new List <CmdletObject> { cmd }; StringBuilder SB = new StringBuilder(); await XmlProcessor.XmlGenerateHelp(SB, cmdlets, null, module.IsOffline); data = XmlTokenizer.LoopTokenize(SB.ToString()); } else if (HtmlSourceChecked) { data = await HtmlProcessor.GenerateHtmlSourceHelp(cmd, module); } Paragraph para = new Paragraph(); para.Inlines.AddRange(ColorizeSource(data)); Document = new FlowDocument(); Document.Blocks.Add(para); BusyControlVisible = Visibility.Collapsed; WebBrowserVisible = Visibility.Collapsed; RtbVisible = Visibility.Visible; }