summaryrefslogtreecommitdiffstats
path: root/bash-completion/setterm
blob: 25213dfd09d4f949c575151d9fbe588f83b033d0 (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
_setterm_module()
{
	local bright cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'--term')
			local TERM_LIST I
			TERM_LIST=''
			for I in /usr/share/terminfo/?/*; do
				TERM_LIST+="${I##*/} "
			done
			COMPREPLY=( $(compgen -W "$TERM_LIST" -- $cur) )
			return 0
			;;
		'--foreground'|'--background')
			COMPREPLY=( $(compgen -W "black blue cyan default green magenta red white yellow" -- $cur) )
			return 0
			;;
		'--ulcolor'|'--hbcolor'|'bright')
			if [ $prev != 'bright' ]; then
				bright='bright black grey'
			else
				bright=''
			fi
			COMPREPLY=( $(compgen -W "$bright blue cyan green magenta red white yellow" -- $cur) )
			return 0
			;;
		'--cursor'|'--repeat'|'--appcursorkeys'|'--linewrap'|'--inversescreen'|'--bold'|'--half-bright'|'--blink'|'--reverse'|'--underline'|'--msg')
			COMPREPLY=( $(compgen -W "off on" -- $cur) )
			return 0
			;;
		'--clear')
			COMPREPLY=( $(compgen -W "all rest" -- $cur) )
			return 0
			;;
		'--tabs'|'--clrtabs')
			COMPREPLY=( $(compgen -W "tab1 tab2 tab3 tab160" -- $cur) )
			return 0
			;;
		'--regtabs')
			COMPREPLY=( $(compgen -W "{1..160}" -- $cur) )
			return 0
			;;
		'--blank')
			COMPREPLY=( $(compgen -W "{0..60} force poke" -- $cur) )
			return 0
			;;
		'--dump'|'--append')
			local NUM_CONS
			NUM_CONS=(/dev/vcsa?*)
			COMPREPLY=( $(compgen -W "{1..${#NUM_CONS[*]}}" -- $cur) )
			return 0
			;;
		'--file')
			local IFS=$'\n'
			compopt -o filenames
			COMPREPLY=( $(compgen -f -- $cur) )
			return 0
			;;
		'--msglevel')
			COMPREPLY=( $(compgen -W "{0..8}" -- $cur) )
			return 0
			;;
		'--powersave')
			COMPREPLY=( $(compgen -W "on vsync hsync powerdown off" -- $cur) )
			return 0
			;;
		'--powerdown')
			COMPREPLY=( $(compgen -W "{0..60}" -- $cur) )
			return 0
			;;
		'--blength')
			COMPREPLY=( $(compgen -W "0-2000" -- $cur) )
			return 0
			;;
		'--bfreq')
			COMPREPLY=( $(compgen -W "freqnumber" -- $cur) )
			return 0
			;;
		'--help'|'--version')
			return 0
			;;
	esac
	OPTS="	--term
		--reset
		--resize
		--initialize
		--cursor
		--repeat
		--appcursorkeys
		--linewrap
		--default
		--foreground
		--background
		--ulcolor
		--hbcolor
		--ulcolor
		--hbcolor
		--inversescreen
		--bold
		--half-bright
		--blink
		--reverse
		--underline
		--store
		--clear
		--tabs
		--clrtabs
		--regtabs
		--blank
		--dump
		--append
		--file
		--msg
		--msglevel
		--powersave
		--powerdown
		--blength
		--bfreq
		--version
		--help"
	COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
	return 0
}
complete -F _setterm_module setterm