CasperSecurity

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

# gcc(1) completion                                        -*- shell-script -*-

_gcc()
{
    local cur prev prev2 words cword argument prefix prefix_length
    _init_completion || return

    # Test that GCC is recent enough and if not fallback to
    # parsing of --completion option.
    if ! $1 --completion=" " 2>/dev/null; then
        if [[ $cur == -* ]]; then
            local cc=$($1 -print-prog-name=cc1 2>/dev/null)
            [[ $cc ]] || return
            COMPREPLY=($(compgen -W "$($cc --help 2>/dev/null | tr '\t' ' ' |
                command sed -e '/^  *-/!d' -e 's/ *-\([^][ <>]*\).*/-\1/')" \
                -- "$cur"))
            [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
        else
            _filedir
        fi
        return
    fi

    # extract also for situations like: -fsanitize=add
    if ((cword > 2)); then
        prev2="${COMP_WORDS[cword - 2]}"
    fi

    # sample: -fsan
    if [[ $cur == -* ]]; then
        argument=$cur
        prefix=""
    # sample: -fsanitize=
    elif [[ $cur == "=" && $prev == -* ]]; then
        argument=$prev$cur
        prefix=$prev$cur
    # sample: -fsanitize=add
    elif [[ $prev == "=" && $prev2 == -* ]]; then
        argument=$prev2$prev$cur
        prefix=$prev2$prev
    # sample: --param lto-
    elif [[ $prev == --param ]]; then
        argument="$prev $cur"
        prefix="$prev "
    fi

    if [[ ! -v argument ]]; then
        _filedir
    else
        # In situation like '-fsanitize=add' $cur is equal to last token.
        # Thus we need to strip the beginning of suggested option.
        prefix_length=$((${#prefix} + 1))
        local flags=$($1 --completion="$argument" | cut -c $prefix_length-)
        [[ ${flags} == "=*" ]] && compopt -o nospace 2>/dev/null
        COMPREPLY=($(compgen -W "$flags" -- ""))
    fi
} &&
    complete -F _gcc gcc{,-5,-6,-7,-8} g++{,-5,-6,-7,-8} g77 g95 \
        gccgo{,-5,-6,-7,-8} gcj gfortran{,-5,-6,-7,-8} gpc &&
    {
        cc --version 2>/dev/null | command grep -q GCC ||
            [[ $(_realcommand cc) == *gcc* ]] &&
            complete -F _gcc cc || complete -F _minimal cc
        c++ --version 2>/dev/null | command grep -q GCC ||
            [[ $(_realcommand c++) == *g++* ]] &&
            complete -F _gcc c++ || complete -F _minimal c++
        f77 --version 2>/dev/null | command grep -q GCC ||
            [[ $(_realcommand f77) == *gfortran* ]] &&
            complete -F _gcc f77 || complete -F _minimal f77
        f95 --version 2>/dev/null | command grep -q GCC ||
            [[ $(_realcommand f95) == *gfortran* ]] &&
            complete -F _gcc f95 || complete -F _minimal f95
    }

# 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