public AnalysisIssueVisualization(IReadOnlyList <IAnalysisIssueFlowVisualization> flows, IAnalysisIssueBase issue, SnapshotSpan?span) { Flows = flows; Issue = issue; CurrentFilePath = issue.FilePath; Span = span; }
public object Create(IAnalysisIssueBase analysisIssueBase) { var hyperLink = new Hyperlink { Inlines = { analysisIssueBase.RuleKey }, Foreground = GetVsThemedColor(EnvironmentColors.ControlLinkTextColorKey), TextDecorations = null, Command = navigateToRuleDescriptionCommand, CommandParameter = analysisIssueBase.RuleKey }; var content = new TextBlock { Inlines = { hyperLink, ": ", analysisIssueBase.Message }, Foreground = GetVsThemedColor(EnvironmentColors.SystemCaptionTextBrushKey) }; return(content); }
public object Create(IAnalysisIssueBase analysisIssueBase) { var ruleUrl = ruleHelpLinkProvider.GetHelpLink(analysisIssueBase.RuleKey); var hyperLink = new Hyperlink { Inlines = { analysisIssueBase.RuleKey }, Foreground = GetVsThemedColor(EnvironmentColors.ControlLinkTextColorKey), TextDecorations = null, Command = new DelegateCommand(o => browserService.Navigate(ruleUrl)) }; var content = new TextBlock { Inlines = { hyperLink, ": ", analysisIssueBase.Message }, Foreground = GetVsThemedColor(EnvironmentColors.SystemCaptionTextBrushKey) }; return(content); }
private IAnalysisIssueVisualization CreateIssue( SnapshotSpan?span = null, string filePath = null, IAnalysisIssueBase issue = null, params IAnalysisIssueFlowVisualization[] flows) { var issueViz = new Mock <IAnalysisIssueVisualization>(); issueViz.Setup(x => x.Issue).Returns(issue); issueViz.Setup(x => x.CurrentFilePath).Returns(filePath); issueViz.Setup(x => x.Span).Returns(span); issueViz.Setup(x => x.Flows).Returns(flows); return(issueViz.Object); }
public IAnalysisIssueVisualization Convert(IAnalysisIssueBase issue, ITextSnapshot textSnapshot = null) { var issueSpan = textSnapshot == null ? (SnapshotSpan?)null : issueSpanCalculator.CalculateSpan(issue, textSnapshot); var flows = Convert(issue.Flows); var issueVisualization = new AnalysisIssueVisualization(flows, issue, issueSpan); if (textSnapshot != null) { CalculateSpanForSecondaryLocationsInSameFile(issueVisualization, textSnapshot); } return(issueVisualization); }