data/razor.sh
author James Bowes <jbowes@redhat.com>
Mon Jun 23 20:09:56 2008 -0400 (2008-06-23)
changeset 275 1862b95f4cd6
child 290 f2461ae87dde
permissions -rw-r--r--
Implement rpm --query --list
richard@261
     1
__razor_commands () {
richard@261
     2
    local IFS=$'\n'
richard@261
     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))
richard@261
     4
}
richard@261
     5
richard@261
     6
__razor_packages () {
richard@261
     7
    local IFS=$'\n'
richard@261
     8
richard@261
     9
    COMPREPLY=($(razor list --only-names "$1*" | while read p; do echo "$p "; done))
richard@261
    10
}
richard@261
    11
richard@261
    12
__razor_upstream_packages () {
richard@261
    13
    local IFS=$'\n'
richard@261
    14
richard@261
    15
    COMPREPLY=($(RAZOR_REPO=rawhide.repo razor list --only-names "$1*" | while read p; do echo "$p "; done))
richard@261
    16
}
richard@261
    17
richard@261
    18
__razor_files() {
richard@261
    19
    COMPREPLY=($(razor list-files "$1*"))
richard@261
    20
}
richard@261
    21
richard@261
    22
__razor_requires() {
richard@261
    23
    COMPREPLY=($(compgen -W "$(razor list-requires)" -- $1))
richard@261
    24
}
richard@261
    25
richard@261
    26
__razor_provides() {
richard@261
    27
    COMPREPLY=($(compgen -W "$(razor list-provides)" -- $1))
richard@261
    28
}
richard@261
    29
richard@261
    30
__razor() {
richard@261
    31
    local cur="${COMP_WORDS[COMP_CWORD]}"
richard@261
    32
richard@261
    33
    if [ $COMP_CWORD = 1 ]; then
richard@261
    34
	__razor_commands $cur
richard@261
    35
    else
richard@261
    36
	case "${COMP_WORDS[1]}" in
richard@261
    37
	    info|list-requires|list-provides|list-package-files)
richard@261
    38
		__razor_packages $cur ;;
richard@261
    39
	    list-files|list-file-packages) __razor_files $cur ;;
richard@261
    40
	    what-requires) __razor_requires $cur ;;
richard@261
    41
	    what-provides) __razor_provides $cur ;;
richard@261
    42
	    install|download) __razor_upstream_packages $cur ;;
richard@261
    43
	esac
richard@261
    44
    fi
richard@261
    45
}
richard@261
    46
richard@261
    47
complete -o nospace -F __razor razor