ct-ng.comp
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 05 10:36:53 2008 +0000 (2008-09-05)
changeset 835 8b976f2f38f9
child 848 5b3785e0d41d
permissions -rw-r--r--
Add completion for crosstool-NG.
To be sourced by a bash-compatible shell startup script; ideally, to be installed in /etc/bash_completion.d/

/trunk/ct-ng.comp | 30 30 0 0 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
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@835
     9
    samples=$(${COMP_WORDS[0]} list-samples)
yann@835
    10
    show_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1show-/g;')
yann@835
    11
yann@835
    12
    steps=$(${COMP_WORDS[0]} list-steps |awk '$1 == "-" { print $2; }')
yann@835
    13
    start_steps=$(echo "${steps}" |sed -r -e 's/(^| )/\1+/;')
yann@835
    14
    stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;')
yann@835
    15
yann@835
    16
    actions='config menuconfig oldconfig saveconfig extractconfig
yann@835
    17
             list-samples build list-steps regtest regtest-local
yann@835
    18
             regtest-global clean distclean wiki-samples update-tools
yann@835
    19
             tarball'
yann@835
    20
yann@835
    21
    vars="RESTART= STOP="
yann@835
    22
yann@835
    23
    ct_ng_opts="${samples} ${show_samples}
yann@835
    24
                ${steps} ${start_steps} ${stop_steps}
yann@835
    25
                ${actions} ${vars}"
yann@835
    26
yann@835
    27
    COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
yann@835
    28
    return 0
yann@835
    29
}
yann@835
    30
complete -F _ct-ng ct-ng