[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xl: wrap help output if command name is too long
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |