-
-
Save franzbischoff/0fc496c1bab9ecfed1dbf2984f5f9981 to your computer and use it in GitHub Desktop.
Alias commands to use GitHub Copilot CLI in PowerShell
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# You should insert this script into your PowerShell Profile script so it exists in every session | |
# Fun fact: This script was mostly generated by ChatGPT by giving it the bash version of the output | |
# from `github-copilot-cli alias -- "$0"` with a few fixes from me | |
function Invoke-CopilotWhatTheShell { | |
$TMPFILE = New-TemporaryFile; | |
try { | |
github-copilot-cli what-the-shell $args --shellout $TMPFILE | |
if ($LASTEXITCODE -eq 0) { | |
if (Test-Path $TMPFILE) { | |
$FIXED_CMD = Get-Content -Raw $TMPFILE; | |
Invoke-Expression $FIXED_CMD; | |
} | |
else { | |
Write-Host "Apologies! Extracting command failed"; | |
} | |
} | |
else { | |
Write-Error "Apologies! Copilot failed to generate a command"; | |
} | |
} | |
finally { | |
Remove-Item $TMPFILE; | |
} | |
} | |
Set-Alias '??' 'Invoke-CopilotWhatTheShell'; | |
Set-Alias 'wts' 'Invoke-CopilotWhatTheShell'; | |
function Invoke-CopilotGitAssist { | |
$TMPFILE = New-TemporaryFile; | |
try { | |
github-copilot-cli git-assist $args --shellout $TMPFILE | |
if ($LASTEXITCODE -eq 0) { | |
if (Test-Path $TMPFILE) { | |
$FIXED_CMD = Get-Content -Raw $TMPFILE; | |
Invoke-Expression $FIXED_CMD; | |
} | |
else { | |
Write-Host "Apologies! Extracting command failed"; | |
} | |
} | |
else { | |
Write-Error "Apologies! Copilot failed to generate a command"; | |
} | |
} | |
finally { | |
Remove-Item $TMPFILE; | |
} | |
} | |
Set-Alias 'git?' 'Invoke-CopilotGitAssist'; | |
function Invoke-CopilotGitHubAssist { | |
$TMPFILE = New-TemporaryFile; | |
try { | |
github-copilot-cli gh-assist $args --shellout $TMPFILE | |
if ($LASTEXITCODE -eq 0) { | |
if (Test-Path $TMPFILE) { | |
$FIXED_CMD = Get-Content -Raw $TMPFILE; | |
Invoke-Expression $FIXED_CMD; | |
} | |
else { | |
Write-Host "Apologies! Extracting command failed"; | |
} | |
} | |
else { | |
Write-Error "Apologies! Copilot failed to generate a command"; | |
} | |
} | |
finally { | |
Remove-Item $TMPFILE; | |
} | |
} | |
Set-Alias 'gh?' 'Invoke-CopilotGitHubAssist'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment