forked from OpenBricks/openbricks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbash_completion
98 lines (89 loc) · 2.59 KB
/
bash_completion
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
# bash completion for OpenBricks
# save as ~/.bash_completion or put in /etc/bash_completion.d/openbricks
# ./scripts/get <package>
# ./scripts/unpack <package>
# ./scripts/package <package>
# ./scripts/packagedev <package>
# ./scripts/install <package>
# ./scripts/installdev <package>
# ./scripts/unpackage <package>
# ./scripts/unpackagedev <package>
# ./scripts/uninstall <package>
# ./scripts/uninstalldev <package>
_scripts_general()
{
local cur prev packages
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
packages=`ls -d packages/* | sed s:packages/::`
if echo ${packages} | grep -qv -- ${prev}; then
COMPREPLY=( $(compgen -W "${packages}" -- ${cur}) )
fi
}
complete -F _scripts_general \
./scripts/get \
./scripts/unpack \
./scripts/package \
./scripts/packagedev \
./scripts/install \
./scripts/installdev \
./scripts/unpackage \
./scripts/unpackagedev \
./scripts/uninstall \
./scripts/uninstalldev \
# ./scripts/build [--force] <package>
_scripts_build()
{
local cur prev opts packages
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--force"
packages=`ls -d packages/* | sed s:packages/::`
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
elif echo ${packages} | grep -qv -- ${prev}; then
COMPREPLY=( $(compgen -W "${packages}" -- ${cur}) )
fi
}
complete -F _scripts_build ./scripts/build
# ./scripts/clean [--full|--sources] <package>
_scripts_clean()
{
local cur prev opts packages
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--full --sources"
packages=`ls -d packages/* | sed s:packages/::`
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
elif echo ${packages} | grep -qv -- ${prev}; then
COMPREPLY=( $(compgen -W "${packages}" -- ${cur}) )
fi
}
complete -F _scripts_clean ./scripts/clean
# ./scripts/loadcfg <defconfig>
_scripts_loadcfg()
{
local cur prev opts defconfigs
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--full --sources"
defconfigs=`ls config/defconfigs/* | sed 's:^config/defconfigs/\(.*\).conf$:\1:'`
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
elif echo ${defconfigs} | grep -qv -- ${prev}; then
COMPREPLY=( $(compgen -W "${defconfigs}" -- ${cur}) )
fi
}
complete -F _scripts_loadcfg ./scripts/loadcfg
# 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