123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- _pisi()
- {
- local cur command commands options packages files
- COMPREPLY=()
- cur=${COMP_WORDS[COMP_CWORD]}
- commands="add-repo build check clean configure-pending delete-cache delta \
- emerge graph help history index info install list-available \
- list-components list-installed list-newest list-pending list-repo \
- list-sources list-upgrades rebuild-db remove remove-repo search \
- search-file update-repo upgrade"
- options="--destdir --yes-all --username --password --bandwidth-limit --verbose \
- --debug --no-color"
- packages=""
- files=""
- if [[ $COMP_CWORD -eq 1 ]] ; then
- if [[ "$cur" == -* ]]; then
- COMPREPLY=($(compgen -W "--version --help" -- $cur))
- else
- COMPREPLY=($(compgen -W "$commands --version --help" -- $cur))
- fi
- return 0;
- else
- command=${COMP_WORDS[1]}
- if [[ "$cur" == -* ]]; then
- case $command in
- @(add-repo|ar))
- options="${options} --at --ignore-check"
- ;;
- @(blame|bl))
- options="${options} --release --all"
- ;;
- @(build|bi))
- options="${options} --fetch --unpack --setup --build \
- --check --install --package --ignore-build-no \
- --quiet --ignore-dependency --output-dir \
- --ignore-action-errors --ignore-safety \
- --ignore-check --create-static --package-format \
- --use-quilt --ignore-sandbox"
- ;;
- @(check))
- options="${options} --component --config"
- ;;
- @(clean))
- options="${options}"
- ;;
- @(configure-pending|cp))
- options="${options} --ignore-dependency --ignore-comar \
- --ignore-safety --dry-run"
- ;;
- @(delete-cache|dc))
- options="${options}"
- ;;
- @(delta|dt))
- options="${options} --output-dir"
- ;;
- @(disable-repo|dr))
- options="${options}"
- ;;
- @(emerge|em))
- options="${options} --ignore-build-no --quiet --ignore-dependency \
- --output-dir --ignore-action-errors --ignore safety \
- --ignore-check --create-static --package-format \
- --use-quilt --ignore-sandbox --component \
- --ignore-file-conflicts --ignore-package-conflicts --ignore-comar"
- ;;
- @(enable-repo|er))
- options="${options}"
- ;;
- @(fetch|fc))
- options="${options} --output-dir"
- ;;
- @(graph))
- options="${options} --reporsitory --installed \
- --ignore-installed --output"
- ;;
- @(help|--help))
- options="${commands}"
- ;;
- @(history|hs))
- options="${options} --last --snapshot --takeback"
- ;;
- @(index|ix))
- options="${options} --absolute-urls --output --skip-sources \
- --skip-signing"
- ;;
- @(info))
- options="${options} --files --component --files-path --short --xml"
- ;;
- @(install|it))
- options="${options} --ignore-dependency --ignore-comar \
- --ignore-safety --dry-run --ignore-build-no \
- --reinstall --ignore-check --ignore-file-conflicts \
- --ignore-package-conflicts --component --repository \
- --fetch-only --exclude --exclude-from"
- ;;
- @(list-available|la))
- options="${options} --long --component --uninstalled"
- ;;
- @(list-components|lc))
- options="${options} --long --repository"
- ;;
- @(list-installed|li))
- options="${options} --without-buildno --long --component --install-info"
- ;;
- @(list-newest|ln))
- options="${options} --since --last"
- ;;
- @(list-pending|lp))
- options="${options}"
- ;;
- @(list-repo|lr))
- options="${options}"
- ;;
- @(list-sources|ls))
- options="${options} --long"
- ;;
- @(list-upgrades|lu))
- options="${options} --ignore-build-no --long --component \
- --install-info"
- ;;
- @(rebuild-db|rdb))
- options="${options} --files"
- ;;
- @(remove|rm))
- options="${options} --ignore-dependency --ignore-comar \
- --ignore-safety --dry-run --purge --component"
- ;;
- @(remove-repo|rr))
- options="${options}"
- ;;
- @(search|sr))
- options="${options} --language --repository --installdb \
- --sourcedb --name --summary --description"
- ;;
- @(search-file|sf))
- options="${options} --long --quiet"
- ;;
- @(update-repo|ur))
- options="${options} --force"
- ;;
- @(upgrade|up))
- options="${options} --ignore-dependency --ignore-comar \
- --ignore-safety --dry-run --ignore-build-no \
- --security-only --bypass-update-repo \
- --ignore-file-conflicts --ignore-package-conflicts \
- --component --repository --fetch-only --exclude --exclude-from"
- ;;
- esac
- COMPREPLY=($(compgen -W "$options" -- $cur))
- return 0;
- else
- case $command in
- @(install|it))
- if [ `ls *.pisi 2> /dev/null | wc -l` -gt 0 ]; then
- packages=""
- else
- if `ls /var/lib/pisi/index/* &>/dev/null`; then
- packages=`grep -P "<Name>[^\s]*</Name>" /var/lib/pisi/index/*/pisi-index.xml | gawk -F '>' '{print $2}' | gawk -F '<' '{print $1}' | sort | uniq | tr "\n" " "`
- fi
- fi
- ;;
- @(info))
- if `ls /var/lib/pisi/index/* &>/dev/null`; then
- packages=`grep -P "<Name>[^\s]*</Name>" /var/lib/pisi/index/*/pisi-index.xml | gawk -F '>' '{print $2}' | gawk -F '<' '{print $1}' | sort | uniq | tr "\n" " "`
- fi
- ;;
- @(upgrade|up|remove|rm))
- if `ls /var/lib/pisi/index/* &>/dev/null`; then
- packages=`grep -P "<Name>[^\s]*</Name>" /var/lib/pisi/package/*/metadata.xml | gawk -F '>' '{print $2}' | gawk -F '<' '{print $1}' | sort | uniq | tr "\n" " "`
- fi
- ;;
- esac
- COMPREPLY=($(compgen -f -W "$packages" -- $cur))
- return 0;
- fi
- fi
- _filedir '@(pisi)'
- }
- complete -F _pisi -o filenames pisi
- _service()
- {
- local list
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- cur_num=${#COMP_WORDS[*]}
- if [[ ${cur_num} == 2 ]]; then
- list=`/usr/bin/hav list-apps System.Service`
- COMPREPLY=($(compgen -W "${list} dbus" -- ${cur}))
- elif [[ ${cur_num} -ge 3 ]]; then
- COMPREPLY=($(compgen -W "on off start stop restart reload" -- ${cur}))
- fi
- }
- complete -F _service service
- _hav()
- {
- local list command app model
- list=""
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- cur_num=${#COMP_WORDS[*]}
- if [[ ${cur_num} == 2 ]]; then
- COMPREPLY=($(compgen -W "call list-apps list-models list-methods register remove" -- ${cur}))
- elif [[ ${cur_num} == 3 ]]; then
- command=${COMP_WORDS[1]}
- case $command in
- @(call))
- list=`/usr/bin/hav list-apps`
- ;;
- @(list-models|list-methods|register|remove))
- list=`/usr/bin/hav list-apps`
- ;;
- esac
- COMPREPLY=($(compgen -W "${list}" -- ${cur}))
- elif [[ ${cur_num} == 4 ]]; then
- command=${COMP_WORDS[1]}
- app=${COMP_WORDS[2]}
- case $command in
- @(call))
- list=`/usr/bin/hav list-models ${app}`
- ;;
- esac
- COMPREPLY=($(compgen -W "${list}" -- ${cur}))
- elif [[ ${cur_num} == 5 ]]; then
- command=${COMP_WORDS[1]}
- app=${COMP_WORDS[2]}
- model=${COMP_WORDS[3]}
- case $command in
- @(call))
- list=`/usr/bin/hav list-methods ${app} ${model}`
- ;;
- esac
- COMPREPLY=($(compgen -W "${list}" -- ${cur}))
- fi
- }
- complete -F _hav hav
|