[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