%PDF- %PDF-
Direktori : /snap/core20/2434/usr/share/bash-completion/completions/ |
Current File : //snap/core20/2434/usr/share/bash-completion/completions/ant |
# bash completion for ant and phing -*- shell-script -*- _ant_parse_targets() { local line basedir [[ $1 == */* ]] && basedir=${1%/*} || basedir=. # parse buildfile for targets while read -rd '>' line; do if [[ $line =~ \<(target|extension-point)[[:space:]].*name=[\"\']([^\"\']+) ]]; then targets+=" ${BASH_REMATCH[2]}" fi done <$1 # parse imports while read -rd '>' line; do if [[ $line =~ \<import[[:space:]].*file=[\"\']([^\"\']+) ]]; then local imported_buildfile imported_buildfile="${basedir}/${BASH_REMATCH[1]}" if [[ -f $imported_buildfile ]]; then _ant_parse_targets $imported_buildfile fi fi done <$1 } _ant() { local cur prev words cword _init_completion || return case $prev in -h|-help|--h|--help|-projecthelp|-p|-version|-diagnostics) return ;; -buildfile|-file|-f) _filedir 'xml' return ;; -logfile|-l) [[ $1 != *phing || $prev != -l ]] && _filedir return ;; -propertyfile) _filedir properties return ;; -nice) COMPREPLY=( $(compgen -W '{1..10}' -- "$cur") ) return ;; -lib) _filedir -d return ;; -logger|-listener|-inputhandler|-main|-find|-s) return ;; esac if [[ $cur == -D* ]]; then return elif [[ "$cur" == -* ]]; then # The </dev/null prevents "phing -" weirdness/getting just a literal # tab displayed on complete on CentOS 6 with phing 2.6.1. COMPREPLY=( $(compgen -W '$(_parse_help "$1" -h </dev/null)' -- "$cur") ) else # available targets completion # find which buildfile to use local buildfile=build.xml i for (( i=1; i < cword; i++ )); do if [[ "${words[i]}" == -@(?(build)file|f) ]]; then buildfile=${words[i+1]} break fi done if [[ $i -eq $cword ]]; then for i in $ANT_ARGS; do if [[ $prev == -@(?(build)file|f) ]]; then buildfile=$i break fi prev=$i done fi [[ ! -f $buildfile ]] && return local targets # fill targets _ant_parse_targets $buildfile COMPREPLY=( $(compgen -W '$targets' -- "$cur") ) fi } && complete -F _ant ant phing type complete-ant-cmd.pl &>/dev/null && \ complete -C complete-ant-cmd.pl -F _ant ant || : # ex: filetype=sh