in src/dotnet/PowerToys.CyclomaticComplexity/ComplexityInfoHighlight.cs [95:129]
private static string GetLensText(int percentage)
=> (percentage < c_warningThreshold
? "simple enough"
: percentage <= 100
? "mildly complex"
: percentage <= 200
? "very complex"
: "refactor me?!") + $" ({percentage}%)";
private static IconId GetIconId(int percentage)
=> percentage < c_warningThreshold
? SolBuilderDuoThemedIcons.SolBuilderDuoRunningBuild.Id
: percentage <= 100
? SolBuilderDuoThemedIcons.SolBuilderDuoRunningBuildWarning.Id
: SolBuilderDuoThemedIcons.SolBuilderDuoRunningBuildError.Id;
private static string GetMoreText(int complexity, int percentage)
=> $"Cyclomatic complexity of {complexity} ({percentage}% of threshold)";
public ComplexityCodeInsightsHighlight(
ITypeMemberDeclaration declaration,
int complexity,
int percentage,
ICodeInsightsProvider provider,
IconHost iconHost)
: base(
declaration.GetNameDocumentRange(),
GetLensText(percentage),
GetMoreText(complexity, percentage),
GetMoreText(complexity, percentage),
provider,
declaration.DeclaredElement,
iconHost.Transform(GetIconId(percentage)))
{
}