All pastes #238314 Raw Edit

Stuff

public text v1 · immutable
·published 2006-11-04 22:59 UTC
rendered paste body
csuead@molotov ~ % which _which                                                                                                                                                                            [1003]
_which () {
        local farg aarg cargs args state line curcontext="$curcontext" ret=1
        cargs=('(-v -c)-w[print command type]' '-p[always do a path search]' '-m[treat the arguments as patterns]' '-s[print symlink free path as well]' '*:commands:->command')
        farg='-f[output contents of functions]'
        aarg='-a[print all occurrences in path]'
        case ${service} in
                (whence) _arguments -C -s -A "-*" -S '(-c -w)-v[verbose output]' '(-v -w)-c[csh-like output]' "${cargs[@]}" "$farg" "$aarg" && ret=0  ;;
                (where) _arguments -C -s -A "-*" -S "${cargs[@]}" && ret=0  ;;
                (which) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" && ret=0  ;;
                (type) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" "$farg" && ret=0  ;;
        esac
        if [[ "$state" = command ]]
        then
                args=("$@")
                _alternative -O args 'commands:external command:compadd -k commands' 'builtins:builtin command:compadd -k builtins' 'functions:shell function:compadd -k functions' 'aliases:alias:compadd -k aliases' 'reserved-words:reserved word:compadd -k reswords' && ret=0
        fi
        return ret
}