SVN: vfmg/trunk/vfmg
sparky
sparky at pld-linux.org
Fri Jan 19 21:47:29 CET 2007
Author: sparky
Date: Fri Jan 19 21:47:29 2007
New Revision: 8183
Modified:
vfmg/trunk/vfmg
Log:
- display line no longer than 80 chars when printing available outputs
Modified: vfmg/trunk/vfmg
==============================================================================
--- vfmg/trunk/vfmg (original)
+++ vfmg/trunk/vfmg Fri Jan 19 21:47:29 2007
@@ -46,14 +46,27 @@
our $o_output;
$defopt{xterm}="$ENV{'VFMG_TERM'}" if $ENV{'VFMG_TERM'};
-sub wms() {
+sub wms($) {
my @wms;
foreach (grep -d, map {"$_/VFMG"} @INC) {
opendir DIR, $_;
push @wms, map /^(.*)_out\.pm$/, readdir DIR;
closedir DIR;
}
- return join ", ", sort @wms;
+ my $last = "";
+ @wms = grep { my $r = ($_ ne $last); $last = $_; $r } sort @wms;
+ my $line = (shift @_) . " { " . (shift @wms);
+ my $done = "";
+ foreach my $wm (@wms) {
+ if( (length $line) + (length $wm) + 2 >= 80 ) {
+ $done .= $line . ",\n";
+ $line = " " . $wm;
+ } else {
+ $line .= ", " . $wm;
+ }
+ }
+ $done .= $line . " }\n";
+ return $done;
}
# }}}
@@ -104,13 +117,12 @@
); # }}}
if($o_help) { # {{{
- my $wms = wms();
+ print wms("Usage: $0 [options]");
print <<EOF;
-Usage: $0 [options] {$wms}
Options:
- -h, --help - print this help and exit
- -V, --version - print version information and exit
+ -h, --help - print this help and exit
+ -V, --version - print version information and exit
Diagnostics:
-t, --tags - echo omitted tags to stderr
@@ -163,7 +175,7 @@
exit;
}
-die "Missing argument {".wms()."}\n" unless exists $ARGV[0];
+die wms("Missing argument") unless exists $ARGV[0];
# search dirs {{{
our @xdg_data_dirs = grep -d,
@@ -192,7 +204,7 @@
$o_output = $ARGV[0];
require "VFMG/${o_output}_out.pm"; # for testing
eval { require "VFMG/${o_output}_out.pm" }
- or die "Unrecognized argument: $o_output\n";
+ or die "Unrecognized argument: $o_output\n" . wms("Available outputs");
# vfmgrc {{{
my @rcFiles = ("/etc/vfmgrc", "$ENV{'HOME'}/.vfmgrc");
More information about the pld-cvs-commit
mailing list