diff options
Diffstat (limited to 'contrib/qemu')
-rw-r--r-- | contrib/qemu | 210 |
1 files changed, 121 insertions, 89 deletions
diff --git a/contrib/qemu b/contrib/qemu index 7baeddf3..c129f0c3 100644 --- a/contrib/qemu +++ b/contrib/qemu @@ -1,100 +1,132 @@ -# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*- -# ex: ts=8 sw=8 noet filetype=sh -# # bash completion for qemu have qemu && _qemu() { - local cur prev + local cur prev - COMPREPLY=() - cur=`_get_cword` - prev=${COMP_WORDS[COMP_CWORD-1]} + 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)) - _filedir - return 0 - ;; - -@(tftp|smb|L)) - _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' \ - -- $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' -- $cur ) ) - return 0 - ;; - -drive) - COMPREPLY=( $( compgen -S"=" -W 'file if bus index media \ - cyls snapshot cache format' -- $cur ) ) - return 0 - ;; - esac + 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-hacks -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' -- $cur ) ) - else - _filedir - fi + 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 -h -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 $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 |