diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-04-17 01:10:07 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-04-17 01:10:07 +0800 |
| commit | e17117e027cf8f0aa077c861b707651e040800a0 (patch) | |
| tree | 0c0cc10932f59bb6bee6b3328a0f7a710eee88ca /mingling_core/tmpls/comps/pwsh.ps1 | |
| parent | cbb77a0569b6b79f51767180cb47cf50e68cf18c (diff) | |
Fix Windows UTF-16 argument handling in PowerShell completion
Diffstat (limited to 'mingling_core/tmpls/comps/pwsh.ps1')
| -rw-r--r-- | mingling_core/tmpls/comps/pwsh.ps1 | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mingling_core/tmpls/comps/pwsh.ps1 b/mingling_core/tmpls/comps/pwsh.ps1 index c9d9b97..eccb776 100644 --- a/mingling_core/tmpls/comps/pwsh.ps1 +++ b/mingling_core/tmpls/comps/pwsh.ps1 @@ -49,7 +49,16 @@ Register-ArgumentCompleter -Native -CommandName '<<<bin_name>>>' -ScriptBlock { $args += ($element -replace '-', '^') } + $originalEncoding = [Console]::OutputEncoding + $originalPSEncoding = $OutputEncoding + [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 + $OutputEncoding = [System.Text.Encoding]::UTF8 + $output = & <<<bin_name>>> __comp $args 2>&1 + + [Console]::OutputEncoding = $originalEncoding + $OutputEncoding = $originalPSEncoding + $output = $output -replace "`r`n", "`n" -replace "`r", "`n" if (-not $output) { |
