diff options
| author | Weicao-CatilGrass <1992414357@qq.com> | 2025-06-09 12:06:15 +0800 |
|---|---|---|
| committer | Weicao-CatilGrass <1992414357@qq.com> | 2025-06-09 12:06:15 +0800 |
| commit | 0d8761e5f907d173c40a2a44f3a1d8d8ce5a2f6e (patch) | |
| tree | c4f851afd3e0951e43a2092176cec78ea9bc3773 /.cargo | |
| parent | 44d61a897519e4f180d981d2c0846b9f59ef55c8 (diff) | |
.
Diffstat (limited to '.cargo')
| -rw-r--r-- | .cargo/resources/scripts/install_completion_powershell.ps1 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/.cargo/resources/scripts/install_completion_powershell.ps1 b/.cargo/resources/scripts/install_completion_powershell.ps1 new file mode 100644 index 0000000..8707870 --- /dev/null +++ b/.cargo/resources/scripts/install_completion_powershell.ps1 @@ -0,0 +1,39 @@ +$ErrorActionPreference = "Stop" + +try { + # Check if padc.exe exists in the current directory + if (-not (Test-Path -Path ".\..\padc.exe" -PathType Leaf)) { + throw "Error: padc.exe program not found in the current directory" + } + + # Generate completion script + Write-Host "Generating padc.ps1 file..." + .\..\padc.exe generate-completion powershell | Out-File padc.ps1 -Encoding utf8 -Force + + # Get target profile file path + $targetProfile = $PROFILE.CurrentUserAllHosts + + # Ensure the profile directory exists + $profileDir = Split-Path $targetProfile -Parent + if (-not (Test-Path $profileDir)) { + New-Item -ItemType Directory -Path $profileDir -Force | Out-Null + } + + # Copy the generated script to the profile file + Write-Host "Installing to user profile file..." + Copy-Item padc.ps1 $targetProfile -Force + + # Clean up temporary files (optional) + # Remove-Item padc.ps1 -Force + + Write-Host "`nComplete! Auto-completion has been successfully installed to $targetProfile" -ForegroundColor Green + Write-Host "Effective in new terminal sessions (restart PowerShell to use)" +} +catch { + Write-Host "`nError: $_" -ForegroundColor Red + exit 1 +} + +# Pause the script +Write-Host "`nPress any key to continue..." +$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
\ No newline at end of file |
