diff options
| author | Weicao-CatilGrass <1992414357@qq.com> | 2025-06-13 20:07:53 +0800 |
|---|---|---|
| committer | Weicao-CatilGrass <1992414357@qq.com> | 2025-06-13 20:07:53 +0800 |
| commit | 83c6fc2d55cdd7de949f2815b86dfe0b9cc18f27 (patch) | |
| tree | b05a51ddea06694f3e5ba9671ef436cc3681c97f /export/dev/bin | |
| parent | a210ab86ee43dea3b4d9d0f2af5750c5a4adf096 (diff) | |
.
Diffstat (limited to 'export/dev/bin')
| -rw-r--r-- | export/dev/bin/completeion/install_completion_powershell.ps1 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/export/dev/bin/completeion/install_completion_powershell.ps1 b/export/dev/bin/completeion/install_completion_powershell.ps1 new file mode 100644 index 0000000..8707870 --- /dev/null +++ b/export/dev/bin/completeion/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 |
