data/razor.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Wed Apr 29 17:00:01 2009 +0100 (2009-04-29)
changeset 361 2523d03a840e
parent 290 f2461ae87dde
permissions -rw-r--r--
Add support for preloading lua modules. This is useful both when
providing lua bindings to applications based on librazor and when
producing static binaries using librazor (where otherwise the lua
POSIX library would need to be included as an additional dynamic
object).
richard@261
     1
__razor_commands () {
richard@261
     2
    local IFS=$'\n'
jbowes@290
     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:import-rpms: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@310
    15
    COMPREPLY=($(RAZOR_REPO=rawhide.rzdb 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