data/bash-completion.sh
author Richard Hughes <richard@hughsie.com>
Mon Jun 23 10:24:30 2008 -0400 (2008-06-23)
changeset 260 658912bf8d00
parent 258 29d5002bd17f
permissions -rw-r--r--
Don't assume razor is being run locally in bash-completion.

Breaks when installed system wide.

committer: Kristian H?gsberg <krh@redhat.com>
rhughes@241
     1
__razor_commands () {
rhughes@241
     2
    local IFS=$'\n'
jbowes@258
     3
    COMPREPLY=($(IFS=: compgen -S' ' -W "info:list-requires:list-provides:list-files:list-file-packages:list-package-files:what-requires:what-provides:import-yum:import-rpmdb:validate:update:diff:install:init:download" -- $1))
rhughes@241
     4
}
rhughes@241
     5
rhughes@241
     6
__razor_packages () {
rhughes@241
     7
    local IFS=$'\n'
rhughes@241
     8
richard@260
     9
    COMPREPLY=($(razor list --only-names "$1*" | while read p; do echo "$p "; done))
rhughes@241
    10
}
rhughes@241
    11
rhughes@241
    12
__razor_upstream_packages () {
rhughes@241
    13
    local IFS=$'\n'
rhughes@241
    14
richard@260
    15
    COMPREPLY=($(RAZOR_REPO=rawhide.repo razor list --only-names "$1*" | while read p; do echo "$p "; done))
rhughes@241
    16
}
rhughes@241
    17
rhughes@241
    18
__razor_files() {
richard@260
    19
    COMPREPLY=($(razor list-files "$1*"))
rhughes@241
    20
}
rhughes@241
    21
rhughes@241
    22
__razor_requires() {
richard@260
    23
    COMPREPLY=($(compgen -W "$(razor list-requires)" -- $1))
rhughes@241
    24
}
rhughes@241
    25
rhughes@241
    26
__razor_provides() {
richard@260
    27
    COMPREPLY=($(compgen -W "$(razor list-provides)" -- $1))
rhughes@241
    28
}
rhughes@241
    29
rhughes@241
    30
__razor() {
rhughes@241
    31
    local cur="${COMP_WORDS[COMP_CWORD]}"
rhughes@241
    32
rhughes@241
    33
    if [ $COMP_CWORD = 1 ]; then
rhughes@241
    34
	__razor_commands $cur
rhughes@241
    35
    else
rhughes@241
    36
	case "${COMP_WORDS[1]}" in
jbowes@258
    37
	    info|list-requires|list-provides|list-package-files)
rhughes@241
    38
		__razor_packages $cur ;;
rhughes@241
    39
	    list-files|list-file-packages) __razor_files $cur ;;
rhughes@241
    40
	    what-requires) __razor_requires $cur ;;
rhughes@241
    41
	    what-provides) __razor_provides $cur ;;
rhughes@241
    42
	    install|download) __razor_upstream_packages $cur ;;
rhughes@241
    43
	esac
rhughes@241
    44
    fi
rhughes@241
    45
}
rhughes@241
    46
rhughes@241
    47
complete -o nospace -F __razor razor