diff --git a/clap_complete/src/shells/powershell.rs b/clap_complete/src/shells/powershell.rs index 3c53910db20..77a007e41e9 100644 --- a/clap_complete/src/shells/powershell.rs +++ b/clap_complete/src/shells/powershell.rs @@ -37,7 +37,8 @@ Register-ArgumentCompleter -Native -CommandName '{bin_name}' -ScriptBlock {{ $element = $commandElements[$i] if ($element -isnot [StringConstantExpressionAst] -or $element.StringConstantType -ne [StringConstantType]::BareWord -or - $element.Value.StartsWith('-')) {{ + $element.Value.StartsWith('-') -or + $element.Value -eq $wordToComplete) {{ break }} $element.Value diff --git a/clap_complete/tests/completions/powershell.rs b/clap_complete/tests/completions/powershell.rs index b0ae782835f..2bb4d815401 100644 --- a/clap_complete/tests/completions/powershell.rs +++ b/clap_complete/tests/completions/powershell.rs @@ -52,7 +52,8 @@ Register-ArgumentCompleter -Native -CommandName 'my_app' -ScriptBlock { $element = $commandElements[$i] if ($element -isnot [StringConstantExpressionAst] -or $element.StringConstantType -ne [StringConstantType]::BareWord -or - $element.Value.StartsWith('-')) { + $element.Value.StartsWith('-') -or + $element.Value -eq $wordToComplete) { break } $element.Value @@ -123,7 +124,8 @@ Register-ArgumentCompleter -Native -CommandName 'my_app' -ScriptBlock { $element = $commandElements[$i] if ($element -isnot [StringConstantExpressionAst] -or $element.StringConstantType -ne [StringConstantType]::BareWord -or - $element.Value.StartsWith('-')) { + $element.Value.StartsWith('-') -or + $element.Value -eq $wordToComplete) { break } $element.Value @@ -222,7 +224,8 @@ Register-ArgumentCompleter -Native -CommandName 'cmd' -ScriptBlock { $element = $commandElements[$i] if ($element -isnot [StringConstantExpressionAst] -or $element.StringConstantType -ne [StringConstantType]::BareWord -or - $element.Value.StartsWith('-')) { + $element.Value.StartsWith('-') -or + $element.Value -eq $wordToComplete) { break } $element.Value