forked from crosstool-ng/crosstool-ng
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ct-ng.comp
36 lines (29 loc) · 1.33 KB
/
ct-ng.comp
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
# To be sourced
_ct_ng () {
local cur prev samples show_samples actions steps start_steps stop_steps ct_ng_opts vars
COMPREPLY=()
cur=$(_get_cword)
prev=${COMP_WORDS[COMP_CWORD-1]}
samples=$( "${COMP_WORDS[0]}" list-samples-short 2>/dev/null )
show_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1show-/g;')
build_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1build-/g;')
check_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1check-/g;')
steps=$(${COMP_WORDS[0]} list-steps 2>/dev/null |awk '$1 == "-" { print $2; }')
start_steps=$(echo "${steps}" |sed -r -e 's/($| )/\1+/;')
stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;')
actions='help menuconfig nconfig oldconfig saveconfig extractconfig
defconfig savedefconfig
build build. build-all build-all.
wiki-samples list-samples list-samples-short check-samples
list-steps
show-tuple show-all show-config
clean distclean updatetools
version'
vars="RESTART= STOP= PREFIX= V= DEFCONFIG="
ct_ng_opts="${samples} ${show_samples} ${build_samples} ${check_samples}
${steps} ${start_steps} ${stop_steps}
${actions} ${vars}"
COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
return 0
}
complete -F _ct_ng ct-ng