From 7c427878ea9e5c4e7ef05e27be407c26008b85cd Mon Sep 17 00:00:00 2001 From: Richard Kuhnt Date: Wed, 4 Apr 2018 17:27:01 +0200 Subject: [PATCH] Improve "scoop alias list" output (#2160) (#2163) * Show command definition trough 'scoop alias list' (closes #2160) * Add verbose flag to alias list command * Update alias command help --- libexec/scoop-alias.ps1 | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/libexec/scoop-alias.ps1 b/libexec/scoop-alias.ps1 index 47e52def..d5cc6693 100644 --- a/libexec/scoop-alias.ps1 +++ b/libexec/scoop-alias.ps1 @@ -9,9 +9,19 @@ # scoop alias add # # e.g.: -# scoop alias add rm 'scoop uninstall $args[0]' "Uninstalls an app" +# scoop alias add rm 'scoop uninstall $args[0]' 'Uninstalls an app' +# scoop alias add upgrade 'scoop update *' 'Updates all apps, just like brew or apt' +# +# Options: +# -v, --verbose Show alias description and table headers (works only for 'list') -param($opt, $name, $command, $description) +param( + [String]$opt, + [String]$name, + [String]$command, + [String]$description, + [Switch]$verbose = $false +) . "$psscriptroot\..\lib\core.ps1" . "$psscriptroot\..\lib\help.ps1" @@ -74,19 +84,25 @@ function rm_alias($name) { } function list_aliases { - $aliases = @{} + $aliases = @() - (init_alias_config).getenumerator() | ForEach-Object { - $summary = summary (Get-Content (command_path $_.name) -raw) - if(!($summary)) { $summary = '' } - $aliases.add("$($_.name) ", $summary) + (init_alias_config).GetEnumerator() | ForEach-Object { + $content = Get-Content (command_path $_.name) + $command = ($content | Select-Object -Skip 1).Trim() + $summary = (summary $content).Trim() + + $aliases += New-Object psobject -Property @{Name=$_.name; Summary=$summary; Command=$command} } if(!$aliases.count) { warn "No aliases founds." } - - $aliases.getenumerator() | Sort-Object name | Format-Table -hidetablehead -autosize -wrap + $aliases = $aliases.GetEnumerator() | Sort-Object Name + if($verbose) { + return $aliases | Select-Object Name, Command, Summary | Format-Table -autosize -wrap + } else { + return $aliases | Select-Object Name, Command | Format-Table -autosize -hidetablehead -wrap + } } switch($opt) {