ct-ng.comp
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Mar 05 09:00:07 2010 +0100 (2010-03-05)
branch1.6
changeset 1831 5ade5174a2ce
parent 1788 9547490131d9
permissions -rw-r--r--
scripts: fix completion to show samples
(transplanted from bf1f86bdd79fd20126d20795f425f603a5544952)
yann@835
     1
# To be sourced
yann@835
     2
yann@835
     3
_ct-ng () {
yann@835
     4
    local cur prev samples show_samples actions steps start_steps stop_steps ct_ng_opts vars
yann@835
     5
    COMPREPLY=()
yann@835
     6
    cur=$(_get_cword)
yann@835
     7
    prev=${COMP_WORDS[COMP_CWORD-1]}
yann@835
     8
yann@1831
     9
    samples=$( ${COMP_WORDS[0]} list-samples 2>/dev/null    \
yann@1831
    10
               |sed -r -e 's/^(.*) \(host: (.*)\)$/\2,\1/;' \
yann@1831
    11
             )
yann@835
    12
    show_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1show-/g;')
yann@1025
    13
    build_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1build-/g;')
yann@835
    14
yann@918
    15
    steps=$(${COMP_WORDS[0]} list-steps 2>/dev/null |awk '$1 == "-" { print $2; }')
yann@934
    16
    start_steps=$(echo "${steps}" |sed -r -e 's/($| )/\1+/;')
yann@835
    17
    stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;')
yann@835
    18
yann@1000
    19
    actions='help menuconfig oldconfig saveconfig
yann@1025
    20
             build build. build-all build-all.
yann@1788
    21
             list-samples list-steps show-tuple show-all show-config
yann@1025
    22
             clean distclean wiki-samples updatetools
yann@932
    23
             tarball version'
yann@835
    24
yann@835
    25
    vars="RESTART= STOP="
yann@835
    26
yann@1025
    27
    ct_ng_opts="${samples} ${show_samples} ${build_samples}
yann@835
    28
                ${steps} ${start_steps} ${stop_steps}
yann@835
    29
                ${actions} ${vars}"
yann@835
    30
yann@835
    31
    COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
yann@835
    32
    return 0
yann@835
    33
}
yann@835
    34
complete -F _ct-ng ct-ng