Warning, /sdk/pology/completion/bash/pology is written in an unsupported language. File is not indexed.
0001 # Bash completion for Pology scripts.
0002
0003 # Functionality depending on Bash version.
0004 _wcompopt=0
0005 _globnospace="-o nospace"
0006 if [[ ${BASH_VERSINFO[0]} -ge 4 ]]; then
0007 _wcompopt=1
0008 _globnospace=
0009 fi
0010
0011 shopt -s extglob
0012
0013
0014 _posieve()
0015 {
0016 local i cur prev opts prefix sieves sieve
0017 local IFS=$'\n'
0018
0019 COMPREPLY=()
0020
0021 [[ -z "$_posieve_options" ]] && _posieve_options=`posieve --list-options`
0022 [[ -z "$_posieve_sieves" ]] && _posieve_sieves=`posieve --list-sieve-names`
0023
0024 # Check if sieves were already issued.
0025 i=1
0026 while [[ $i -lt $COMP_CWORD ]]; do
0027 prev="${COMP_WORDS[i]}"
0028 if [[ $prev =~ , ]] || [[ $prev == *.py ]]; then
0029 sieves=$prev
0030 else
0031 for sieve in $_posieve_sieves; do
0032 if [[ $sieve == $prev ]]; then
0033 sieves=$prev
0034 break
0035 fi
0036 done
0037 fi
0038 [[ -n "$sieves" ]] && break
0039 i=$((i + 1))
0040 done
0041
0042 # Reassemble parameters if current sieve chain is different from previous.
0043 if [[ -n "$sieves" ]] && [[ $_posieve_lastsieves != $sieves ]]; then
0044 _posieve_lastsieves=$sieves
0045 _posieve_params=`posieve $sieves --list-sieve-params`
0046 # Add trailing space to non-colon ending parameters.
0047 _posieve_params=${_posieve_params//$'\n'/ $'\n'}' '
0048 _posieve_params=${_posieve_params//: /:}
0049 # Clean parameters, without trailing colons.
0050 _posieve_cparams=${_posieve_params//:/}
0051 fi
0052
0053 [[ $_wcompopt == 1 ]] && compopt -o nospace
0054
0055 cur="${COMP_WORDS[COMP_CWORD]}"
0056 prev="${COMP_WORDS[COMP_CWORD - 1]}"
0057 if ( [[ $cur == -s* ]] || [[ $prev == -s ]] ) && [[ $cur != *:* ]] \
0058 && [[ -n "$sieves" ]]; \
0059 then
0060 if [[ $cur == -* ]]; then
0061 prefix=${cur%%s*}s
0062 cur=${cur#*s}
0063 fi
0064 COMPREPLY=($(compgen -W "$_posieve_params" -P "$prefix" -- $cur))
0065 elif ( [[ $cur == -S* ]] || [[ $prev == -S ]] ) && [[ -n "$sieves" ]]; then
0066 if [[ $cur == -* ]]; then
0067 prefix=${cur%%S*}S
0068 cur=${cur#*S}
0069 fi
0070 COMPREPLY=($(compgen -W "$_posieve_cparams" -P "$prefix" -- $cur))
0071 elif [[ $cur == -* ]] ; then
0072 COMPREPLY=($(compgen -W "$_posieve_options" -S " " -- $cur))
0073 elif [[ -z "$sieves" ]] ; then
0074 if [[ $cur =~ , ]]; then
0075 prefix=${cur%,*},
0076 cur=${cur##*,}
0077 fi
0078 COMPREPLY=($(compgen -W "$_posieve_sieves" -P "$prefix" -S " " -- $cur))
0079 else
0080 # Turn on trailing space after completion on files.
0081 [[ $_wcompopt == 1 ]] && compopt +o nospace
0082 fi
0083 }
0084 _posieve_options=
0085 _posieve_sieves=
0086 _posieve_lastsieves=
0087 complete -F _posieve -o default $_globnospace posieve posieve.py
0088
0089
0090 _poediff()
0091 {
0092 local i cur prev opts prefix
0093
0094 COMPREPLY=()
0095
0096 [[ -z "$_poediff_options" ]] && _poediff_options=`poediff --list-options`
0097 [[ -z "$_poediff_vcs" ]] && _poediff_vcs=`poediff --list-vcs`
0098
0099 cur="${COMP_WORDS[COMP_CWORD]}"
0100 prev="${COMP_WORDS[COMP_CWORD - 1]}"
0101 if [[ $cur == -*([[:alnum:]])c* ]] || [[ $prev == -*([[:alnum:]])c ]]; then
0102 if [[ $cur == -* ]]; then
0103 prefix=${cur%%c*}c
0104 cur=${cur#*c}
0105 fi
0106 COMPREPLY=($(compgen -W "$_poediff_vcs" -P "$prefix" -- $cur))
0107 elif [[ $cur == -* ]] ; then
0108 COMPREPLY=($(compgen -W "$_poediff_options" -- $cur))
0109 fi
0110 }
0111 _poediff_options=
0112 _poediff_vcs=
0113 complete -F _poediff -o default poediff poediff.py
0114