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