Skip to content

Commit 33bb0a9

Browse files
author
Kapil Borle
committed
Add argument completers to cmdlets
1 parent d05f9f9 commit 33bb0a9

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

Engine/PSScriptAnalyzer.psm1

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,21 @@ if (Get-Command Register-ArgumentCompleter -ErrorAction Ignore)
3333
{
3434
Register-ArgumentCompleter -CommandName 'Invoke-ScriptAnalyzer' -ParameterName 'Settings' -ScriptBlock {
3535
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParmeter)
36-
[Microsoft.Windows.PowerShell.ScriptAnalyzer.Helper]::GetBuiltinSettingPresets() | `
37-
Where-Object {$_ -like "$wordToComplete*"} | `
36+
37+
[Microsoft.Windows.PowerShell.ScriptAnalyzer.Helper]::GetSettingPresets() | `
38+
Where-Object {$_ -like "$wordToComplete"} | `
3839
ForEach-Object { New-Object System.Management.Automation.CompletionResult $_ }
3940
}
41+
42+
Function RuleNameCompleter
43+
{
44+
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParmeter)
45+
46+
Get-ScriptAnalyzerRule *$wordToComplete* | `
47+
ForEach-Object { New-Object System.Management.Automation.CompletionResult $_.RuleName }
48+
}
49+
50+
Register-ArgumentCompleter -CommandName 'Invoke-ScriptAnalyzer' -ParameterName 'IncludeRule' -ScriptBlock $Function:RuleNameCompleter
51+
Register-ArgumentCompleter -CommandName 'Invoke-ScriptAnalyzer' -ParameterName 'ExcludeRule' -ScriptBlock $Function:RuleNameCompleter
52+
Register-ArgumentCompleter -CommandName 'Get-ScriptAnalyzerRule' -ParameterName 'Name' -ScriptBlock $Function:RuleNameCompleter
4053
}

0 commit comments

Comments
 (0)