From 6c33b9f05de5be6ac5d59bb53422442ed034c893 Mon Sep 17 00:00:00 2001 From: Frode Flaten <3436158+fflaten@users.noreply.github.com> Date: Sun, 19 Mar 2023 16:01:10 +0000 Subject: [PATCH 1/3] Add ruleId to PSUseSingularNouns --- Rules/UseSingularNouns.cs | 1 + Tests/Rules/UseSingularNounsReservedVerbs.tests.ps1 | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/Rules/UseSingularNouns.cs b/Rules/UseSingularNouns.cs index de9264d35..218537459 100644 --- a/Rules/UseSingularNouns.cs +++ b/Rules/UseSingularNouns.cs @@ -88,6 +88,7 @@ public IEnumerable AnalyzeScript(Ast ast, string fileName) GetName(), DiagnosticSeverity.Warning, fileName, + funcAst.Name, suggestedCorrections: new CorrectionExtent[] { GetCorrection(pluralizer, extent, funcAst.Name, noun) }); } } diff --git a/Tests/Rules/UseSingularNounsReservedVerbs.tests.ps1 b/Tests/Rules/UseSingularNounsReservedVerbs.tests.ps1 index 534e6df4d..db1af36ce 100644 --- a/Tests/Rules/UseSingularNounsReservedVerbs.tests.ps1 +++ b/Tests/Rules/UseSingularNounsReservedVerbs.tests.ps1 @@ -86,6 +86,18 @@ Write-Output "Adding some data" $diagnostics.SuggestedCorrections.Text | Should -BeExactly $Correction } } + Context 'Suppression' { + It 'Can be suppressed by RuleSuppressionId' { + $scriptDef = @" +function Get-Elements { + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('$nounViolationName', 'Get-Elements')] + param() +} +"@ + $warnings = @(Invoke-ScriptAnalyzer -ScriptDefinition $scriptDef) + $warnings.Count | Should -Be 0 + } + } } Describe "UseApprovedVerbs" { From b5aa5f17e1eaaf02ec891658d030f20483b27cc2 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Tue, 2 Jan 2024 14:31:48 +0000 Subject: [PATCH 2/3] Update UseSingularNouns.md --- docs/Rules/UseSingularNouns.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/Rules/UseSingularNouns.md b/docs/Rules/UseSingularNouns.md index 9dc24a017..cc7a92b5f 100644 --- a/docs/Rules/UseSingularNouns.md +++ b/docs/Rules/UseSingularNouns.md @@ -13,6 +13,15 @@ title: UseSingularNouns PowerShell team best practices state cmdlets should use singular nouns and not plurals. +Suppression allows to suppress just specific function names, for example + +``` +function Get-Elements { + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseSingularNouns', 'Get-Element')] + Param() +} +``` + ## How Change plurals to singular. From 0ef0c3afdffaddac051e517785752e6144690721 Mon Sep 17 00:00:00 2001 From: Christoph Bergmeister Date: Tue, 2 Jan 2024 14:32:25 +0000 Subject: [PATCH 3/3] Update UseSingularNouns.md --- docs/Rules/UseSingularNouns.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Rules/UseSingularNouns.md b/docs/Rules/UseSingularNouns.md index cc7a92b5f..b618586a5 100644 --- a/docs/Rules/UseSingularNouns.md +++ b/docs/Rules/UseSingularNouns.md @@ -17,7 +17,7 @@ Suppression allows to suppress just specific function names, for example ``` function Get-Elements { - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseSingularNouns', 'Get-Element')] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseSingularNouns', 'Get-Elements')] Param() } ```