various improvements
This commit is contained in:
		
							
								
								
									
										93
									
								
								packaging/files/compute.bash-completion
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								packaging/files/compute.bash-completion
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
# compute bash completion script
 | 
			
		||||
 | 
			
		||||
_compute_root_cmd="
 | 
			
		||||
    --version
 | 
			
		||||
    --verbose
 | 
			
		||||
    --connect
 | 
			
		||||
    --log-level
 | 
			
		||||
    init
 | 
			
		||||
    exec
 | 
			
		||||
    ls
 | 
			
		||||
    start
 | 
			
		||||
    shutdown
 | 
			
		||||
    reboot
 | 
			
		||||
    reset
 | 
			
		||||
    powrst
 | 
			
		||||
    pause
 | 
			
		||||
    resume
 | 
			
		||||
    status
 | 
			
		||||
    setvcpus
 | 
			
		||||
    setmem
 | 
			
		||||
    setpasswd"
 | 
			
		||||
_compute_init_opts=""
 | 
			
		||||
_compute_exec_opts="
 | 
			
		||||
    --timeout
 | 
			
		||||
    --executable
 | 
			
		||||
    --env
 | 
			
		||||
    --no-join-args"
 | 
			
		||||
_compute_ls_opts=""
 | 
			
		||||
_compute_start_opts=""
 | 
			
		||||
_compute_shutdown_opts="--method"
 | 
			
		||||
_compute_reboot_opts=""
 | 
			
		||||
_compute_reset_opts=""
 | 
			
		||||
_compute_powrst_opts=""
 | 
			
		||||
_compute_pause_opts=""
 | 
			
		||||
_compute_resume_opts=""
 | 
			
		||||
_compute_status_opts=""
 | 
			
		||||
_compute_setvcpus_opts=""
 | 
			
		||||
_compute_setmem_opts=""
 | 
			
		||||
_compute_setpasswd_opts="--encrypted"
 | 
			
		||||
 | 
			
		||||
_compute_complete_instances()
 | 
			
		||||
{
 | 
			
		||||
    for file in /etc/libvirt/qemu/*.xml; do
 | 
			
		||||
        nodir="${file##*/}"
 | 
			
		||||
        printf '%s ' "${nodir//\.xml}"
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_compute_compreply()
 | 
			
		||||
{
 | 
			
		||||
    if [[ "$current" = [a-z]* ]]; then
 | 
			
		||||
        _compute_compwords="$(_compute_complete_instances)"
 | 
			
		||||
    else
 | 
			
		||||
        _compute_compwords="$*"
 | 
			
		||||
    fi
 | 
			
		||||
    COMPREPLY=($(compgen -W "$_compute_compwords" -- "$current"))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_compute_complete()
 | 
			
		||||
{
 | 
			
		||||
    local current previous nshift
 | 
			
		||||
    current="${COMP_WORDS[COMP_CWORD]}"
 | 
			
		||||
    case "$COMP_CWORD" in
 | 
			
		||||
        1)  COMPREPLY=($(compgen -W "$_compute_root_cmd" -- "$current"))
 | 
			
		||||
        ;;
 | 
			
		||||
        2|3|4|5)
 | 
			
		||||
            nshift=$((COMP_CWORD-1))
 | 
			
		||||
            previous="${COMP_WORDS[COMP_CWORD-nshift]}"
 | 
			
		||||
            case "$previous" in
 | 
			
		||||
                init) COMPREPLY=($(compgen -f -- "$current"));;
 | 
			
		||||
                exec) _compute_compreply "$_compute_exec_opts";;
 | 
			
		||||
                ls) COMPREPLY=($(compgen -W "$_compute_ls_opts" -- "$current"));;
 | 
			
		||||
                start) _compute_compreply "$_compute_start_opts";;
 | 
			
		||||
                shutdown) _compute_compreply "$_compute_shutdown_opts";;
 | 
			
		||||
                reboot) _compute_compreply "$_compute_reboot_opts";;
 | 
			
		||||
                reset) _compute_compreply "$_compute_reset_opts";;
 | 
			
		||||
                powrst) _compute_compreply "$_compute_powrst_opts";;
 | 
			
		||||
                pause) _compute_compreply "$_compute_pause_opts";;
 | 
			
		||||
                resume) _compute_compreply "$_compute_resume_opts";;
 | 
			
		||||
                status) _compute_compreply "$_compute_status_opts";;
 | 
			
		||||
                setvcpus) _compute_compreply "$_compute_setvcpus_opts";;
 | 
			
		||||
                setmem) _compute_compreply "$_compute_setmem_opts";;
 | 
			
		||||
                setpasswd) _compute_compreply "$_compute_setpasswd_opts";;
 | 
			
		||||
                *) COMPREPLY=()
 | 
			
		||||
            esac
 | 
			
		||||
            ;;
 | 
			
		||||
        *)  COMPREPLY=($(compgen -W "$_compute_compwords" -- "$current"))
 | 
			
		||||
    esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
complete -F _compute_complete compute
 | 
			
		||||
 | 
			
		||||
# vim: ft=bash
 | 
			
		||||
		Reference in New Issue
	
	Block a user