File: getopt

package info (click to toggle)
util-linux 2.42~rc1-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 101,864 kB
  • sloc: ansic: 185,733; sh: 24,450; yacc: 1,288; makefile: 534; xml: 422; python: 316; lex: 89; ruby: 75; csh: 37; exp: 19; sed: 16; perl: 15; sql: 9
file content (48 lines) | stat: -rw-r--r-- 893 bytes parent folder | download
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
_getopt_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-l'|'--longoptions')
			COMPREPLY=( $(compgen -W "longopts" -- $cur) )
			return 0
			;;
		'-n'|'--name')
			COMPREPLY=( $(compgen -W "name" -- $cur) )
			return 0
			;;
		'-o'|'--options')
			COMPREPLY=( $(compgen -W "optstring" -- $cur) )
			return 0
			;;
		'-s'|'--shell')
			COMPREPLY=( $(compgen -W "sh bash csh tcsh" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			OPTS="--alternative
						--help
						--longoptions
						--name
						--options
						--quiet
						--quiet-output
						--shell
						--test 
						--unknown
						--unquoted 
						--version"
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
	esac
	return 0
}
complete -F _getopt_module getopt