ct-ng.comp
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Dec 23 22:20:25 2008 +0000 (2008-12-23)
changeset 1106 2051ee3d1b75
parent 1000 b5bbe3bf5204
child 1336 bc8b9381f637
permissions -rw-r--r--
Further enhance the check for needed tools:
- update the tool_pattern to use ' || ' as a pattern separator
- which allows using | in regexp
- add checks for cut and xargs
- manually check for grep and sed because they are needed when checking for tools
- print why a test failed, with each tested tool and regexp
- move tools checks before options parsing
- apply conttibutions before computing the version string
- inform user to run make && make install

/trunk/configure | 173 111 62 0 ++++++++++++++++++++++++++++++++++++++++----------------------
1 file changed, 111 insertions(+), 62 deletions(-)
     1 # To be sourced
     2 
     3 _ct-ng () {
     4     local cur prev samples show_samples actions steps start_steps stop_steps ct_ng_opts vars
     5     COMPREPLY=()
     6     cur=$(_get_cword)
     7     prev=${COMP_WORDS[COMP_CWORD-1]}
     8 
     9     samples=$(${COMP_WORDS[0]} list-samples 2>/dev/null)
    10     show_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1show-/g;')
    11     build_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1build-/g;')
    12 
    13     steps=$(${COMP_WORDS[0]} list-steps 2>/dev/null |awk '$1 == "-" { print $2; }')
    14     start_steps=$(echo "${steps}" |sed -r -e 's/($| )/\1+/;')
    15     stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;')
    16 
    17     actions='help menuconfig oldconfig saveconfig
    18              build build. build-all build-all.
    19              list-samples list-steps
    20              clean distclean wiki-samples updatetools
    21              tarball version'
    22 
    23     vars="RESTART= STOP="
    24 
    25     ct_ng_opts="${samples} ${show_samples} ${build_samples}
    26                 ${steps} ${start_steps} ${stop_steps}
    27                 ${actions} ${vars}"
    28 
    29     COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
    30     return 0
    31 }
    32 complete -F _ct-ng ct-ng