protected override TagSpan <OverviewMarkTag> GetTagSpan(CoverageLine coverageLine, SnapshotSpan span) { var coverageType = coverageLine.GetCoverageType(); var shouldShow = coverageMarginOptions.Show(coverageType); if (!shouldShow) { return(null); } var newSnapshotSpan = GetLineSnapshotSpan(coverageLine.Line.Number, span); return(new TagSpan <OverviewMarkTag>(newSnapshotSpan, new OverviewMarkTag(GetMarkKindName(coverageLine)))); }
private string GetMarkKindName(CoverageLine coverageLine) { var line = coverageLine.Line; var lineHitCount = line?.Hits ?? 0; var lineConditionCoverage = line?.ConditionCoverage?.Trim(); var markKindName = NotCoveredEditorFormatDefinition.ResourceName; if (lineHitCount > 0) { markKindName = CoveredEditorFormatDefinition.ResourceName; if (!string.IsNullOrWhiteSpace(lineConditionCoverage) && !lineConditionCoverage.StartsWith("100")) { markKindName = PartiallyCoveredEditorFormatDefinition.ResourceName; } } return(markKindName); }
public static CoverageType GetCoverageType(this CoverageLine coverageLine) { var line = coverageLine?.Line; var lineHitCount = line?.Hits ?? 0; var lineConditionCoverage = line?.ConditionCoverage?.Trim(); var coverageType = CoverageType.NotCovered; if (lineHitCount > 0) { coverageType = CoverageType.Covered; if (!string.IsNullOrWhiteSpace(lineConditionCoverage) && !lineConditionCoverage.StartsWith("100")) { coverageType = CoverageType.Partial; } } return(coverageType); }
public GlyphTag(CoverageLine coverageLine) { CoverageLine = coverageLine; }
protected abstract TagSpan <TTag> GetTagSpan(CoverageLine coverageLine, SnapshotSpan span);
protected override TagSpan <CoverageLineGlyphTag> GetTagSpan(CoverageLine coverageLine, SnapshotSpan span) { return(new TagSpan <CoverageLineGlyphTag>(span, new CoverageLineGlyphTag(coverageLine))); }