[pve-devel] [PATCH common 3/3] fix #6656: cli handler: generate anchors for all (sub-)commands
Christoph Heiss
c.heiss at proxmox.com
Tue Aug 12 11:56:27 CEST 2025
First part of fixing #6656 [0].
The `cli_` prefix here is chosen to make them unambiguous.
For example, anchors for subsections in the QEMU top-level section are
named `qm_<something>`, which could potentially introduce conflicts
without the prefix.
[0] https://bugzilla.proxmox.com/show_bug.cgi?id=6656
Signed-off-by: Christoph Heiss <c.heiss at proxmox.com>
---
src/PVE/CLIHandler.pm | 9 ++++++---
src/PVE/RESTHandler.pm | 2 ++
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/PVE/CLIHandler.pm b/src/PVE/CLIHandler.pm
index 82118a8..89cb7b7 100644
--- a/src/PVE/CLIHandler.pm
+++ b/src/PVE/CLIHandler.pm
@@ -233,7 +233,9 @@ sub generate_usage_str {
$oldclass = $class;
} elsif (defined($def->{$cmd}->{alias}) && ($format eq 'asciidoc')) {
-
+ my $safeprefix = $prefix =~ s/\s/_/rg;
+ my $safecmd = $cmd =~ s/\s/_/rg;
+ $str .= "[[cli_${safeprefix}_${safecmd}]]\n";
$str .=
"*$prefix $cmd*\n\nAn alias for '$prefix $def->{$cmd}->{alias}'.\n\n";
@@ -336,7 +338,8 @@ __PACKAGE__->register_method({
sub print_simple_asciidoc_synopsis {
$assert_initialized->();
- my $synopsis = "*${exename}* `help`\n\n";
+ my $synopsis = "[[cli_${exename}_help]]\n";
+ $synopsis .= "*${exename}* `help`\n\n";
$synopsis .= generate_usage_str('asciidoc');
return $synopsis;
@@ -345,7 +348,7 @@ sub print_simple_asciidoc_synopsis {
sub print_asciidoc_synopsis {
$assert_initialized->();
- my $synopsis = "";
+ my $synopsis = "[[cli_${exename}]]\n";
$synopsis .= "*${exename}* `<COMMAND> [ARGS] [OPTIONS]`\n\n";
diff --git a/src/PVE/RESTHandler.pm b/src/PVE/RESTHandler.pm
index 4c31ea1..82e6db5 100644
--- a/src/PVE/RESTHandler.pm
+++ b/src/PVE/RESTHandler.pm
@@ -820,6 +820,8 @@ sub getopt_usage {
}
if ($format eq 'asciidoc') {
+ my $safeprefix = $prefix =~ s/\s/_/rg;
+ $out .= "[[cli_${safeprefix}]]\n";
$out .= "*${prefix}*";
$out .= " `$args`" if $args;
$out .= " `[OPTIONS]`" if $opts;
--
2.50.1
More information about the pve-devel
mailing list