glib/gio/gresource-bash-completion.sh
Matthias Clasen 716cf35585 Add a resource tool
This lets you poke at resources in elf files and
standalone resource bundles. So far, only listing
and extracting resources is supported. The support
for elf files requires libelf.
2012-01-23 00:24:34 -05:00

59 lines
1.3 KiB
Bash

# Check for bash
[ -z "$BASH_VERSION" ] && return
####################################################################################################
__gresource() {
local choices coffset section
if [ ${COMP_CWORD} -gt 2 ]; then
if [ ${COMP_WORDS[1]} = --section ]; then
section=${COMP_WORDS[2]}
coffset=2
else
coffset=0
fi
else
coffset=0
fi
case "$((${COMP_CWORD}-$coffset))" in
1)
choices=$'--section \nhelp \nsections \nlist \ndetails \nextract '
;;
2)
case "${COMP_WORDS[$(($coffset+1))]}" in
--section)
return 0
;;
help)
choices=$'sections\nlist\ndetails\nextract'
;;
sections|list|details|extract)
COMPREPLY=($(compgen -f -- ${COMP_WORDS[${COMP_CWORD}]}))
return 0
;;
esac
;;
3)
case "${COMP_WORDS[$(($coffset+1))]}" in
list|details|extract)
choices="$(gresource list ${COMP_WORDS[$(($coffset+2))]} 2> /dev/null | sed -e 's.$. .')"
;;
esac
;;
esac
local IFS=$'\n'
COMPREPLY=($(compgen -W "${choices}" -- "${COMP_WORDS[${COMP_CWORD}]}"))
}
####################################################################################################
complete -o nospace -F __gresource gresource