Public/Get-DevVmAlias.ps1
|
function Get-DevVmAlias { <# .SYNOPSIS Lists all configured custom aliases for devvm. .DESCRIPTION Displays all custom aliases defined in the global .devvm configuration file, as well as the default aliases (devvm, dvm). .EXAMPLE Get-DevVmAlias Lists all configured aliases. .NOTES Default aliases (devvm, dvm) are always available even if not listed in the configuration. #> [CmdletBinding()] param() $homeDir = Get-HomeDirectory $globalConfigPath = Join-Path -Path $homeDir -ChildPath '.devvm' # Collect aliases for output $defaultAliases = @('devvm', 'dvm') $customAliases = @() if (Test-Path $globalConfigPath) { try { $rawContent = Get-Content -Path $globalConfigPath -Raw if ($rawContent -and $rawContent.Trim()) { $parsed = $rawContent | ConvertFrom-Json if ($parsed.alias -and $parsed.alias.Count -gt 0) { $customAliases = @($parsed.alias) } } } catch { Write-Warning "Failed to load aliases: $_" } } # Display default aliases Write-Host "`nDefault aliases:" -ForegroundColor Cyan foreach ($alias in $defaultAliases) { Write-Host " $alias" -ForegroundColor Green } # Display custom aliases if ($customAliases.Count -gt 0) { Write-Host "`nCustom aliases:" -ForegroundColor Cyan foreach ($alias in $customAliases) { Write-Host " $alias" -ForegroundColor Green } } else { Write-Host "`nNo custom aliases configured." -ForegroundColor Yellow Write-Host "Use 'Set-DevVmAlias' or 'devvm alias add <name>' to create one." } Write-Host "" # Return object for testing/piping [PSCustomObject]@{ DefaultAliases = $defaultAliases CustomAliases = $customAliases } } |