|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] xl: wrap help output if command name is t
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1317917918 -3600
# Node ID 1344d4476c5263652a403d1f851eb6f314145df1
# Parent abd34aba46a3784b176db26af2721ed7277c9c49
xl: wrap help output if command name is too long
Without this in the "xl help" line for pci-list-assignable-devices the command
name merges with the first word of the help. Since the bash completion support
parses "xl help" this leads to "pci-list-assignable-devicesList" being
presented as an option instead of the correct command name.
We also need to filter out lines which start with more than one space in the
bash completion support to stop "List" appearing as a possible command name
after the change to wrap it.
Doesn't address the fact that some help text overflows 80 columns.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
diff -r abd34aba46a3 -r 1344d4476c52 tools/libxl/bash-completion
--- a/tools/libxl/bash-completion Thu Oct 06 16:19:46 2011 +0100
+++ b/tools/libxl/bash-completion Thu Oct 06 17:18:38 2011 +0100
@@ -11,7 +11,7 @@
xl=xl
if [[ $COMP_CWORD == 1 ]] ; then
- opts=`${xl} help 2>/dev/null | sed '1,4d' | awk '{print $1}' |
sed 's/$/ ,/g'` && COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+ opts=`${xl} help 2>/dev/null | sed '1,4d' | awk '/^ [^ ]/
{print $1}' | sed 's/$/ ,/g'` && COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
diff -r abd34aba46a3 -r 1344d4476c52 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c Thu Oct 06 16:19:46 2011 +0100
+++ b/tools/libxl/xl_cmdimpl.c Thu Oct 06 17:18:38 2011 +0100
@@ -1728,9 +1728,12 @@
if (!command || !strcmp(command, "help")) {
printf("Usage xl [-vN] <subcommand> [args]\n\n");
printf("xl full list of subcommands:\n\n");
- for (i = 0; i < cmdtable_len; i++)
- printf(" %-20s%s\n",
- cmd_table[i].cmd_name, cmd_table[i].cmd_desc);
+ for (i = 0; i < cmdtable_len; i++) {
+ printf(" %-19s ", cmd_table[i].cmd_name);
+ if (strlen(cmd_table[i].cmd_name) > 19)
+ printf("\n %-19s ", "");
+ printf("%s\n", cmd_table[i].cmd_desc);
+ }
} else {
cmd = cmdtable_lookup(command);
if (cmd) {
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] xl: wrap help output if command name is too long,
Xen patchbot-unstable <=
|
|
|
|
|