# $name: option name
# $display_name: for example "-$name" of "<$name>", pass undef to use "$name:"
# $phash: json schema property hash
-# $format: 'asciidoc', 'pod' or 'text'
+# $format: 'asciidoc', 'short', 'long' or 'full'
# $style: 'config', 'arg' or 'fixed'
my $get_property_description = sub {
my ($name, $style, $phash, $format, $hidepw, $fileparams) = @_;
}
$res .= "\n";
- } elsif ($format eq 'pod' || $format eq 'text') {
+ } elsif ($format eq 'short' || $format eq 'long' || $format eq 'full') {
my $defaulttxt = '';
if (defined(my $dv = $phash->{default})) {
# on the command line (or single parameter name for lists)
# $fixed_param ... do not generate and info about those parameters
# $format:
-# 'long' ... default (list all options)
-# 'short' ... command line only (one line)
-# 'full' ... also include description
+# 'long' ... default (text, list all options)
+# 'short' ... command line only (text, one line)
+# 'full' ... text, include description
# 'asciidoc' ... generate asciidoc for man pages (like 'full')
# $hidepw ... hide password option (use this if you provide a read passwork callback)
# $stringfilemap ... mapping for string parameters to file path parameters
foreach my $k (@$arg_param) {
next if defined($fixed_param->{$k}); # just to be sure
next if !$prop->{$k}; # just to be sure
- $argdescr .= &$get_property_description($k, 'fixed', $prop->{$k}, 'text', 0);
+ $argdescr .= &$get_property_description($k, 'fixed', $prop->{$k}, $format, 0);
}
my $idx_param = {}; # -vlan\d+ -scsi\d+
$base = "${name}[n]";
}
- $opts .= &$get_property_description($base, 'arg', $prop->{$k}, 'text',
- $hidepw, &$stringfilemap($name));
+ my $mapping = defined($stringfilemap) ? &$stringfilemap($name) : undef;
+ $opts .= &$get_property_description($base, 'arg', $prop->{$k}, $format,
+ $hidepw, $mapping);
if (!$prop->{$k}->{optional}) {
$args .= " " if $args;
$raw .= &$get_property_description($base, $style, $phash, $format, 0);
}
+
return $raw;
}