summaryrefslogtreecommitdiff
path: root/contrib/qemu
blob: 7baeddf3b5344337b326c51f3aeb59d6f5e2b484 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# -*- 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

	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


	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
} &&
complete -F _qemu $filenames qemu