CasperSecurity

Current Path : /usr/share/bash-completion/completions/
Upload File :
Current File : //usr/share/bash-completion/completions/phing

# 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 == 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
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY