Skip to content
This repository was archived by the owner on Apr 20, 2026. It is now read-only.

Commit 6432e68

Browse files
Bart KoelmanBart Koelman
authored andcommitted
Adapted help links to new folder structure introduced in CSharpGuidelines v5.5
1 parent 918f92f commit 6432e68

4 files changed

Lines changed: 23 additions & 19 deletions

File tree

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,57 @@
1-
using JetBrains.Annotations;
1+
using System;
2+
using JetBrains.Annotations;
23

34
namespace CSharpGuidelinesAnalyzer
45
{
56
internal sealed class AnalyzerCategory
67
{
7-
private const string CommitHash = "7a66f7468da6ce1477753a02e416e04bc9a44e45";
8+
private const string CommitHash = "4ad2ebe71296a1d6e70d2f22f7b997edcd9e257d";
89

910
[NotNull]
10-
public static readonly AnalyzerCategory ClassDesign = new AnalyzerCategory("Class Design", "1000_ClassDesignGuidelines.md");
11+
public static readonly AnalyzerCategory ClassDesign = new AnalyzerCategory("Class Design");
1112

1213
[NotNull]
13-
public static readonly AnalyzerCategory MemberDesign = new AnalyzerCategory("Member Design", "1100_MemberDesignGuidelines.md");
14+
public static readonly AnalyzerCategory MemberDesign = new AnalyzerCategory("Member Design");
1415

1516
[NotNull]
16-
public static readonly AnalyzerCategory MiscellaneousDesign = new AnalyzerCategory("Miscellaneous Design", "1200_MiscellaneousDesignGuidelines.md");
17+
public static readonly AnalyzerCategory MiscellaneousDesign = new AnalyzerCategory("Miscellaneous Design");
1718

1819
[NotNull]
19-
public static readonly AnalyzerCategory Maintainability = new AnalyzerCategory("Maintainability", "1500_MaintainabilityGuidelines.md");
20+
public static readonly AnalyzerCategory Maintainability = new AnalyzerCategory("Maintainability");
2021

2122
[NotNull]
22-
public static readonly AnalyzerCategory Naming = new AnalyzerCategory("Naming", "1700_NamingGuidelines.md");
23+
public static readonly AnalyzerCategory Naming = new AnalyzerCategory("Naming");
2324

2425
[NotNull]
25-
public static readonly AnalyzerCategory Framework = new AnalyzerCategory("Framework", "2200_FrameworkGuidelines.md");
26+
public static readonly AnalyzerCategory Framework = new AnalyzerCategory("Framework");
2627

2728
[NotNull]
28-
public static readonly AnalyzerCategory Documentation = new AnalyzerCategory("Documentation", "2300_DocumentationGuidelines.md");
29+
public static readonly AnalyzerCategory Documentation = new AnalyzerCategory("Documentation");
2930

3031
[NotNull]
31-
public static readonly AnalyzerCategory Layout = new AnalyzerCategory("Layout", "2400_LayoutGuidelines.md");
32-
33-
[NotNull]
34-
private readonly string helpCategoryUri;
32+
public static readonly AnalyzerCategory Layout = new AnalyzerCategory("Layout");
3533

3634
[NotNull]
3735
public string DisplayName { get; }
3836

39-
private AnalyzerCategory([NotNull] string displayName, [NotNull] string documentName)
37+
private AnalyzerCategory([NotNull] string displayName)
4038
{
4139
DisplayName = displayName;
42-
helpCategoryUri = $"https://github.com/dennisdoomen/CSharpGuidelines/blob/{CommitHash}/_pages/{documentName}";
4340
}
4441

4542
[NotNull]
4643
public string GetHelpLinkUri([NotNull] string ruleId)
4744
{
4845
Guard.NotNullNorWhiteSpace(ruleId, nameof(ruleId));
4946

50-
return helpCategoryUri + "#" + ruleId.ToLowerInvariant();
47+
if (!ruleId.StartsWith("AV", StringComparison.Ordinal) || ruleId.Length != 6)
48+
{
49+
throw new InvalidOperationException($"Rule '{ruleId}' does not match the format AVnnnn.");
50+
}
51+
52+
string ruleNumber = ruleId.Substring(2);
53+
return $"https://github.com/dennisdoomen/CSharpGuidelines/blob/{CommitHash}/_rules/{ruleNumber}.md";
54+
5155
}
5256
}
5357
}

src/CSharpGuidelinesAnalyzer/CSharpGuidelinesAnalyzer/Rules/NullCheckOnNullableValueTypeAnalyzer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public sealed class NullCheckOnNullableValueTypeAnalyzer : DiagnosticAnalyzer
2323

2424
[NotNull]
2525
private static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category.DisplayName,
26-
DiagnosticSeverity.Hidden, false, Description, Category.GetHelpLinkUri(DiagnosticId));
26+
DiagnosticSeverity.Hidden, false, Description);
2727

2828
[ItemNotNull]
2929
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(Rule);

src/CSharpGuidelinesAnalyzer/CSharpGuidelinesAnalyzer/Rules/OperationHasKeywordAnalyzer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public sealed class OperationHasKeywordAnalyzer : DiagnosticAnalyzer
2323

2424
[NotNull]
2525
private static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category.DisplayName,
26-
DiagnosticSeverity.Hidden, false, Description, Category.GetHelpLinkUri(DiagnosticId));
26+
DiagnosticSeverity.Hidden, false, Description);
2727

2828
[ItemNotNull]
2929
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(Rule);

src/CSharpGuidelinesAnalyzer/CSharpGuidelinesAnalyzer/Rules/OperationIsStatementAnalyzer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public sealed class OperationIsStatementAnalyzer : DiagnosticAnalyzer
2323

2424
[NotNull]
2525
private static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category.DisplayName,
26-
DiagnosticSeverity.Hidden, false, Description, Category.GetHelpLinkUri(DiagnosticId));
26+
DiagnosticSeverity.Hidden, false, Description);
2727

2828
[ItemNotNull]
2929
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(Rule);

0 commit comments

Comments
 (0)