summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
25d9bda)
We try to keep the text short by default.
};
sub generate_typetext {
};
sub generate_typetext {
+ my ($format, $list_enums) = @_;
my ($default_key, $keyAliasProps) = &$find_schema_default_key($format);
my ($default_key, $keyAliasProps) = &$find_schema_default_key($format);
} elsif (my $text = $phash->{typetext}) {
$typetext .= $text;
} elsif (my $enum = $phash->{enum}) {
} elsif (my $text = $phash->{typetext}) {
$typetext .= $text;
} elsif (my $enum = $phash->{enum}) {
- $typetext .= '<' . join('|', @$enum) . '>';
+ if ($list_enums || (scalar(@$enum) <= 3)) {
+ $typetext .= '<' . join('|', @$enum) . '>';
+ } else {
+ $typetext .= '<enum>';
+ }
} elsif ($phash->{type} eq 'boolean') {
$typetext .= '<1|0>';
} elsif ($phash->{type} eq 'integer') {
} elsif ($phash->{type} eq 'boolean') {
$typetext .= '<1|0>';
} elsif ($phash->{type} eq 'integer') {
}
sub schema_get_type_text {
}
sub schema_get_type_text {
+ my ($phash, $style) = @_;
my $type = $phash->{type} || 'string';
my $type = $phash->{type} || 'string';
if (my $format = $phash->{format}) {
$format = get_format($format) if ref($format) ne 'HASH';
if (ref($format) eq 'HASH') {
if (my $format = $phash->{format}) {
$format = get_format($format) if ref($format) ne 'HASH';
if (ref($format) eq 'HASH') {
- return generate_typetext($format);
+ my $list_enums = 0;
+ $list_enums = 1 if $style && $style eq 'config-sub';
+ return generate_typetext($format, $list_enums);
# $display_name: for example "-$name" of "<$name>", pass undef to use "$name:"
# $phash: json schema property hash
# $format: 'asciidoc', 'short', 'long' or 'full'
# $display_name: for example "-$name" of "<$name>", pass undef to use "$name:"
# $phash: json schema property hash
# $format: 'asciidoc', 'short', 'long' or 'full'
-# $style: 'config', 'arg' or 'fixed'
+# $style: 'config', 'config-sub', 'arg' or 'fixed'
my $get_property_description = sub {
my ($name, $style, $phash, $format, $hidepw, $fileparams) = @_;
my $get_property_description = sub {
my ($name, $style, $phash, $format, $hidepw, $fileparams) = @_;
- my $type = PVE::JSONSchema::schema_get_type_text($phash);
+ my $type = PVE::JSONSchema::schema_get_type_text($phash, $style);
if ($hidepw && $name eq 'password') {
$type = '';
if ($hidepw && $name eq 'password') {
$type = '';
} elsif ($style eq 'arg') {
$res .= "`-$name` ";
} elsif ($style eq 'fixed') {
} elsif ($style eq 'arg') {
$res .= "`-$name` ";
} elsif ($style eq 'fixed') {
} else {
die "unknown style '$style'";
}
} else {
die "unknown style '$style'";
}