chiark / gitweb /
Add patterns for printing attributes in elite-cmdr.
[rocl] / elite-cmdr
index e5341585eed41eaddf1f10234511e64565c470e3..d75feda091b4de7ab52805b541aab81cb9aa116c 100755 (executable)
@@ -238,19 +238,23 @@ for {set i 0} {$i < [llength $argv]} {incr i} {
        exit 1
       }
     }
-    "^[a-z][a-z-]*$" {
-      if {![info exists attr($a)]} {
-       puts stderr "$argv0: no such attribute `$a'"
-       exit 1
-      }
-      puts [format "%-20s %s" $a [eval \
-         get/[lindex $attr($a) 0] [lrange $attr($a) 1 end] [list $a]]]
-      set acted 1
-    }
     default {
-      if {[catch { elite-unpackcmdr cmdr [read-file $a] } err]} {
-       puts stderr "$argv0: couldn't read `$a': $err"
-       exit 1
+      set n 0
+      foreach aa $attrs {
+       if {[string match $a $aa]} {
+         incr n
+         puts [format "%-20s %s" $aa [eval \
+             get/[lindex $attr($aa) 0] \
+             [lrange $attr($aa) 1 end] [list $aa]]]
+       }
+      }
+      if {$n} {
+       set acted 1
+      } else {
+       if {[catch { elite-unpackcmdr cmdr [read-file $a] } err]} {
+         puts stderr "$argv0: couldn't read `$a': $err"
+         exit 1
+       }
       }
     }
   }