[117702] trunk/base/src/port/port.tcl
cal at macports.org
cal at macports.org
Sat Mar 8 09:24:15 PST 2014
Revision: 117702
https://trac.macports.org/changeset/117702
Author: cal at macports.org
Date: 2014-03-08 09:24:15 -0800 (Sat, 08 Mar 2014)
Log Message:
-----------
port select --summary: format all lines equally, sort the "none" option to the back
Modified Paths:
--------------
trunk/base/src/port/port.tcl
Modified: trunk/base/src/port/port.tcl
===================================================================
--- trunk/base/src/port/port.tcl 2014-03-08 16:28:17 UTC (rev 117701)
+++ trunk/base/src/port/port.tcl 2014-03-08 17:24:15 UTC (rev 117702)
@@ -2614,25 +2614,41 @@
set w1 4
set w2 8
set formatStr "%-*s %-*s %s"
- puts [format $formatStr $w1 "Name" $w2 "Selected" "Options"]
+
+ set groups [list]
foreach pg $portgroups {
+ array set groupdesc {}
+ set groupdesc(name) [string trim $pg]
+
if {[catch {mportselect list $pg} versions]} {
- ui_error "The list of versions could not be obtained: $versions"
- return 1
+ ui_warn "The list of options for the select group $pg could not be obtained: $versions"
+ continue
}
+ # remove "none", sort the list, append none at the end
+ set noneidx [lsearch -exact $versions "none"]
+ set versions [lsort [lreplace $versions $noneidx $noneidx]]
+ lappend versions "none"
+ set groupdesc(versions) $versions
- foreach v $versions {
- if {[catch {mportselect show $pg} selected_version]} {
- ui_error "The 'show' command failed: $selected_version"
- return 1
- }
+ if {[catch {mportselect show $pg} selected_version]} {
+ ui_warn "The currently selected option for the select group $pg could not be obtained: $selected_version"
+ continue
}
+ set groupdesc(selected) $selected_version
set w1 [expr {max($w1, [string length $pg])}]
set w2 [expr {max($w2, [string length $selected_version])}]
- puts [format $formatStr $w1 [string trim $pg] $w2 $selected_version [join $versions " "]]
+ lappend groups [array get groupdesc]
+ array unset groupdesc
}
+ puts [format $formatStr $w1 "Name" $w2 "Selected" "Options"]
+ puts [format $formatStr $w1 "====" $w2 "========" "======="]
+ foreach groupdesc $groups {
+ array set groupd $groupdesc
+ puts [format $formatStr $w1 $groupd(name) $w2 $groupd(selected) [join $groupd(versions) " "]]
+ array unset groupd
+ }
return 0
}
default {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140308/6827555e/attachment.html>
More information about the macports-changes
mailing list