ct-ng.comp
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Jul 23 22:02:23 2012 +0200 (2012-07-23)
changeset 3012 95173b196a88
parent 2053 2238f1167eaa
child 3034 11c23aa9c9f9
permissions -rw-r--r--
scripts+samples: fix listings the samples

Since we use defconfigs to save the samples, listing all the
samples can no longer be done by passing all the sample names
at one to the script; we need to pass them one-by-one after
we expand the sample's defconfig ibnto a complete .config.

Reported-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     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-short 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 extractconfig
    18              build build. build-all build-all.
    19              wiki-samples list-samples list-samples-short list-steps
    20              show-tuple show-all show-config
    21              clean distclean updatetools
    22              tarball version'
    23 
    24     vars="RESTART= STOP= PREFIX= V="
    25 
    26     ct_ng_opts="${samples} ${show_samples} ${build_samples}
    27                 ${steps} ${start_steps} ${stop_steps}
    28                 ${actions} ${vars}"
    29 
    30     COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
    31     return 0
    32 }
    33 complete -F _ct_ng ct-ng