diff --git a/powershell_completions.go b/powershell_completions.go index 1dad20394..d4c759805 100644 --- a/powershell_completions.go +++ b/powershell_completions.go @@ -279,12 +279,12 @@ filter __%[1]s_escapeStringWithSpecialChars { } } # Enumerate the cmds for %[1]s (set by System.Environment) -$available%[2]s = Get-Command -Name '%[1]s' -All -ErrorAction SilentlyContinue +$available%[2]s = Get-Command -Name '%[1]s' -All -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Definition -ErrorAction SilentlyContinue # Enumerate extant aliases for %[1]s (already set by user) ${__%[2]sAliases} = @() foreach($__%[2]sCmd in $available%[2]s){ - $__%[2]sAliases += Get-Alias | Where-Object { $_.Definition -eq ($__%[2]sCmd | Resolve-Path) } + $__%[2]sAliases += Get-Alias | Where-Object { $_ -eq ($__%[2]sCmd | Resolve-Path) -or $_ -eq (Get-Command -Name $_ -ErrorAction SilentlyContinue).Definition} } # Register args completer for all cmds and aliases [string[]]$joint%[2]snames = [array]$available%[2]s.Name + [array]${__%[2]sAliases}.Name + @('%[1]s')