ct-ng.comp 1.2 KB
Newer Older
ZHJ0125's avatar
ZHJ0125 已提交
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
# 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;')

    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 oldconfig saveconfig extractconfig
             defconfig olddefconfig
             build build. build-all build-all.
             wiki-samples list-samples list-samples-short list-steps
             show-tuple show-all show-config
             clean distclean updatetools
             tarball version'

    vars="RESTART= STOP= PREFIX= V= DEFCONFIG="

    ct_ng_opts="${samples} ${show_samples} ${build_samples}
                ${steps} ${start_steps} ${stop_steps}
                ${actions} ${vars}"

    COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
    return 0
}
complete -F _ct_ng ct-ng