summary refs log tree commit diff
path: root/Completion/Unix/Command/_aap
blob: 6a06480ed693c60c6025509a2f17d206d7042087 (plain) (blame)
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
35
36
37
38
39
40
41
42
43
44
45
#compdef aap

# A-A-P recipe executive version 1.001; released 2003 Jul 05 20:44:44 GMT

local curcontext="$curcontext" state line ret=1
typeset -A opt_args

_arguments \
  '(- *)'{-V,--version}'[print version information and exit]' \
  '(- *)'{-h,--help}'[print help information and exit]' \
  {-v,--verbose}'[print more information]' \
  {-s,--silent}'[print less information]' \
  {-d,--debug=}'[debug the specified items]:flags:' \
  '--profile=[profile A-A-P execution and write results in specified file]:output file:_files' \
  {-n,--nobuild}'[print the build commands but do not execute them]' \
  '--changed=[consider specified file changed]:changed file:_files' \
  {-t,--touch}'[update target signatures, do not build]' \
  {-F,--force}'[force rebuilding]' \
  {-C,--contents}'[only build when file contents changed]' \
  \*{-c,--command=}'[execute a command after reading the recipe]:aap command:' \
  {-k,--continue}'[continue building after an error]' \
  {-S,--stop}'[stop building at first error (default)]' \
  {-R,--fetch-recipe}'[fetch recipe file and child recipes]' \
  {-N,--nofetch-recipe}'[do not fetch recipes for "fetch" target]' \
  {-a,--nocache}"[always download files, don't use the cache]" \
  {-l,--local}'[do not recurse into subdirectories]' \
  {-j,--jobs=}'[maximum number of parallel jobs]:number of jobs:' \
  {-u,--search-up,--up}'[search directory tree upwards for main.aap recipe]' \
  \*{-I,--include=}'[directory to search for included recipes]:include directory:_files -/' \
  {-f,--recipe=}'[recipe file to be executed]:recipe file:_files -g \*.aap' \
  '--install=[install specified package]:package name:' \
  '--[end of options, targets and assignments follow]' \
  '*:aap target:->target' && ret=0

if [[ "$state" = target ]]; then
  local aap_targets aap_recipe expl

  aap_recipe=${(v)opt_args[(I)(-f|--recipe)]:-main.aap}
  if [[ -f $aap_recipe ]] && _tags targets; then
    aap_targets=( "${(@)${(@)${(@f)$( _call_program targets "$words[1]" -f $aap_recipe comment 2>/dev/null )}#target }%%: *}" comment )
    _wanted targets expl target compadd -a aap_targets && ret=0
  fi
fi

return ret