Bash completion template
The most of content of this file comes from the output of the command ' register-python-argcomplete $MY-SCRIPT', plus some changes. For the details about argcomplete, Please refer to https://pypi.org/project/argcomplete/ or https://github.com/kislyuk/argcomplete With this patchset, Users can use completion in bash. ex: $ virt-xml --<TAB><TAB> $ virt-install --disk <TAB><TAB> $ virt-install --panic model=isa,<TAB><TAB> $ virt-install --controller model=virtio-scsi,ty<TAB><TAB> Signed-off-by: Lin Ma <lma@suse.com>
This commit is contained in:
parent
2d38e22943
commit
ce0cad96ac
|
@ -0,0 +1,37 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Run something, muting output or redirecting it to the debug stream
|
||||
# depending on the value of _ARC_DEBUG.
|
||||
__python_argcomplete_run() {
|
||||
if [[ -z "$_ARC_DEBUG" ]]; then
|
||||
"$@" 8>&1 9>&2 1>/dev/null 2>&1
|
||||
else
|
||||
"$@" 8>&1 9>&2 1>&9 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
_python_argcomplete() {
|
||||
if [[ "$COMP_WORDBREAKS" != *,* ]]; then
|
||||
COMP_WORDBREAKS="${COMP_WORDBREAKS},"
|
||||
fi
|
||||
local IFS=$'\013'
|
||||
local SUPPRESS_SPACE=0
|
||||
if compopt +o nospace 2> /dev/null; then
|
||||
SUPPRESS_SPACE=1
|
||||
fi
|
||||
COMP_WORDS[4]=""
|
||||
COMPREPLY=( $(IFS="$IFS" \
|
||||
COMP_LINE="$COMP_LINE" \
|
||||
COMP_POINT="$COMP_POINT" \
|
||||
COMP_TYPE="$COMP_TYPE" \
|
||||
_ARGCOMPLETE_COMP_WORDBREAKS="\"'><;|&(:" \
|
||||
_ARGCOMPLETE=1 \
|
||||
_ARGCOMPLETE_SUPPRESS_SPACE=$SUPPRESS_SPACE \
|
||||
__python_argcomplete_run "$1") )
|
||||
if [[ $? != 0 ]]; then
|
||||
unset COMPREPLY
|
||||
elif [[ $SUPPRESS_SPACE == 1 ]] && [[ "$COMPREPLY" =~ [=/:]$ ]]; then
|
||||
compopt -o nospace
|
||||
fi
|
||||
}
|
||||
complete -o nospace -o default -F _python_argcomplete virtmanager
|
Loading…
Reference in New Issue