# bash completion for qemu have qemu && _qemu() { local cur prev COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} case $prev in -fd[ab]|-hd[abcd]|-cdrom|-option-rom|-kernel|-initrd|-bootp|-pidfile| \ -loadvm|-mtdblock|-sd|-pflash|-bios) _filedir return 0 ;; -tftp|-smb|-L|-chroot) _filedir -d return 0 ;; -boot) COMPREPLY=( $( compgen -W 'a c d n' -- "$cur" ) ) return 0 ;; -k) COMPREPLY=( $( compgen -W 'ar de-ch es fo fr-ca hu ja \ mk no pt-br sv da en-gb et fr fr-ch is lt nl pl\ ru th de en-us fi fr-be hr it lv nl-be pt sl tr' -- "$cur" ) ) return 0 ;; -soundhw) COMPREPLY=( $( compgen -W "$( qemu -soundhw ? | awk \ '/^[[:lower:]]/ {print $1}' ) all" -- "$cur" ) ) return 0 ;; -M) COMPREPLY=( $( compgen -W "$( qemu -M ? | awk \ '/^[[:lower:]]/ {print $1}' )" -- "$cur" ) ) return 0 ;; -cpu) COMPREPLY=( $( compgen -W "$( qemu -cpu ? | awk \ '{print $2}' )" -- "$cur" ) ) return 0 ;; -usbdevice) COMPREPLY=( $( compgen -W 'mouse tablet disk: host: \ serial: braille net' -- "$cur" ) ) return 0 ;; -net) COMPREPLY=( $( compgen -W 'nic user tap socket vde none dump' \ -- "$cur" ) ) return 0 ;; -serial|-parallel|-monitor) COMPREPLY=( $( compgen -W 'vc pty none null /dev/ \ file: stdio pipe: COM udp: tcp: telnet: unix: \ mon: braille' -- "$cur" ) ) return 0 ;; -redir) COMPREPLY=( $( compgen -S":" -W 'tcp udp' -- "$cur" ) ) return 0 ;; -bt) COMPREPLY=( $( compgen -W 'hci vhci device' -- "$cur" ) ) return 0 ;; -vga) COMPREPLY=( $( compgen -W 'cirrus std vmware xenfb none' \ -- "$cur" ) ) return 0 ;; -drive) COMPREPLY=( $( compgen -S"=" -W 'file if bus unit index media \ cyls snapshot cache format serial addr' -- "$cur" ) ) return 0 ;; -ballon) COMPREPLY=( $( compgen -W 'none virtio' -- "$cur" ) ) return 0 ;; -smbios) COMPREPLY=( $( compgen -W 'file type' -- "$cur" ) ) return 0 ;; -watchdog) COMPREPLY=( $( compgen -W "$( qemu -watchdog ? 2>&1 | \ awk '{print $1}' )" -- "$cur" ) ) return 0 ;; -watchdog-action) COMPREPLY=( $( compgen -W 'reset shutdown poweroff pause debug \ none' -- "$cur" ) ) return 0 ;; -runas) COMPREPLY=( $( compgen -u -- "$cur" ) ) return 0 ;; esac if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-M -fda -fdb -hda -hdb -hdc -hdd \ -cdrom -boot -snapshot -no-fd-bootchk -m -smp -nographic -vnc \ -k -audio-help -soundhw -localtime -full-screen -pidfile \ -daemonize -win2k-hack -option-rom -usb -usbdevice -net -tftp \ -smb -redir -kernel -append -initrd -serial -parallel -monitor \ -s -p -S -d -hdachs -L -std-vga -no-acpi -no-reboot -loadvm \ -semihosting -cpu -bt -vga -drive -startdate -name -curses \ -no-frame -no-quit -bootp -echr -no-shutdown -icount -g \ -prom-env -help -version -numa -mtdblock -sd -pflash \ -device -uuid -alt-grab -sdl -portrait -rtc-td-hack -no-hpet \ -balloon -acpitable -smbios -singlestep -gdb -hdachs -bios \ -kernel-kqemu -enable-kqemu -enable-kvm -clock -watchdog \ -watchdog-action -virtioconsole -show-cursor -tb-size -incoming \ -chroot -runas' -- "$cur" ) ) else _filedir fi } && complete -F _qemu -o filenames qemu # Local variables: # mode: shell-script # sh-basic-offset: 4 # sh-indent-comment: t # indent-tabs-mode: nil # End: # ex: ts=4 sw=4 et filetype=sh