Auto complete vm names and basic options example:
# qvm-check(1) -*- shell-script -*-
_qvm_check()
{
local cur prev words cword
_init_completion || return
if [[ $cur == -* ]]; then
COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
else
COMPREPLY=($(IFS=$'\n' compgen -W '$(qvm-ls --raw-list)' -- "$cur"))
fi
} &&
complete -F _qvm_check qvm-check
if you add the above script to /usr/share/bash-completion/completions/qvm-check
and install the required package with sudo qubes-dom0-update bash-completion
and source the functions and all completions with source /usr/share/bash-completion/bash_completion
you would se VMNAMES with:
qvm-check <TAB><TAB>
and option names with:
qvm-check --<TAB><TAB>
The above script is just an example, some qubes-
and qvm-
scripts require arguments and specific properties.
Would be great if more people contributed to other qubes specific scripts and maybe even push upstream to https://github.com/scop/bash-completion/tree/master/completions
For the next person trying bash-completion for qubes-prefs
:
- to get all properties listed: qubes-prefs --help-properties | cut -d " " -f3 | grep -v "^$"