diff --git a/completion/bash-completion b/completion/bash-completion index 8574454c..2ef8fa1b 100644 --- a/completion/bash-completion +++ b/completion/bash-completion @@ -24,191 +24,197 @@ # This way, one can simply do 'fbld com.some.app' or 'fcheckup com.some.app' __package() { - [[ -d ./metadata ]] || return 0 - files=( metadata/*.txt ) - files=( ${files[@]#metadata/} ) - files=${files[@]%.txt} - COMPREPLY=( $( compgen -W "$files" -- $cur ) ) + [[ -d ./metadata ]] || return 0 + files=( metadata/*.txt ) + files=( ${files[@]#metadata/} ) + files=${files[@]%.txt} + COMPREPLY=( $( compgen -W "$files" -- $cur ) ) } __fdroid_init() { - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" - (( $# >= 1 )) && __complete_${1} + (( $# >= 1 )) && __complete_${1} } __vercode() { - local s p_found p - s=${#COMP_WORDS[*]} - p_found=false + local s p_found p + s=${#COMP_WORDS[*]} + p_found=false - $aliased && p=${COMP_WORDS[1]} || { - for (( i=1; i <= s; i++ )); do - $p_found && { p=${COMP_WORDS[$i]}; break;} - [[ ${COMP_WORDS[$i]} == -p ]] || [[ ${COMP_WORDS[$i]} == --package ]] &&\ - p_found=true - done - $p_found || return 0 - } + $aliased && p=${COMP_WORDS[1]} || { + for (( i=1; i <= s; i++ )); do + $p_found && { p=${COMP_WORDS[$i]}; break;} + [[ ${COMP_WORDS[$i]} == -p ]] || [[ ${COMP_WORDS[$i]} == --package ]] &&\ + p_found=true + done + $p_found || return 0 + } - COMPREPLY=( $( compgen -W "$( while read line; do - [[ "$line" == "Build Version:"* ]] && { - line="${line#*,}" - printf "${line%%,*} " - } done < "metadata/${p}.txt" )" -- $cur ) ) + COMPREPLY=( $( compgen -W "$( while read line; do + if [[ "$line" == "Build Version:"* ]] + then + line="${line#*,}" + printf "${line%%,*} " + elif [[ "$line" == "Build:"* ]] + then + line="${line#*,}" + printf "${line%%,*} " + fi + done < "metadata/${p}.txt" )" -- $cur ) ) } __complete_options() { - case "${cur}" in - --*) - COMPREPLY=( $( compgen -W "${lopts}" -- $cur ) ) - return 0;; - *) - COMPREPLY=( $( compgen -W "${opts} ${lopts}" -- $cur ) ) - return 0;; - esac + case "${cur}" in + --*) + COMPREPLY=( $( compgen -W "${lopts}" -- $cur ) ) + return 0;; + *) + COMPREPLY=( $( compgen -W "${opts} ${lopts}" -- $cur ) ) + return 0;; + esac } __complete_build() { - opts="-h -v -p -c -l -s -t -f" - lopts="--help --verbose --package --vercode --latest --server --resetserver + opts="-h -v -p -c -l -s -t -f" + lopts="--help --verbose --package --vercode --latest --server --resetserver --on-server --force --install --all" - case "${prev}" in - -p|--package) - __package - return 0;; - -c|--vercode) - __vercode - return 0;; - esac - __complete_options + case "${prev}" in + -p|--package) + __package + return 0;; + -c|--vercode) + __vercode + return 0;; + esac + __complete_options } __complete_update() { - opts="-h -c -v -q -b -i -I -e -w" - lopts="--help --createmeta --verbose --quiet --buildreport --interactive + opts="-h -c -v -q -b -i -I -e -w" + lopts="--help --createmeta --verbose --quiet --buildreport --interactive --icons --editor --wiki --pretty --clean" - case "${prev}" in - -e|--editor) - _filedir - return 0;; - esac - __complete_options + case "${prev}" in + -e|--editor) + _filedir + return 0;; + esac + __complete_options } __complete_publish() { - opts="-h -v -p" - lopts="--help --verbose --package" - case "${prev}" in - -p|--package) - __package - return 0;; - esac - __complete_options + opts="-h -v -p" + lopts="--help --verbose --package" + case "${prev}" in + -p|--package) + __package + return 0;; + esac + __complete_options } __complete_checkupdates() { - opts="-h -v -p" - lopts="--help --verbose --package --auto --autoonly --commit --gplay" - case "${prev}" in - -p|--package) - __package - return 0;; - esac - __complete_options + opts="-h -v -p" + lopts="--help --verbose --package --auto --autoonly --commit --gplay" + case "${prev}" in + -p|--package) + __package + return 0;; + esac + __complete_options } __complete_import() { - opts="-h -u -s -r" - lopts="--help --url --subdir --repo" - case "${prev}" in - -u|--url|-r|--repo) return 0;; - -s|--subdir) - _filedir - return 0;; - esac - __complete_options + opts="-h -u -s -r" + lopts="--help --url --subdir --repo" + case "${prev}" in + -u|--url|-r|--repo) return 0;; + -s|--subdir) + _filedir + return 0;; + esac + __complete_options } __complete_rewritemeta() { - opts="-h -v -p" - lopts="--help --verbose --package" - case "${prev}" in - -p|--package) - __package - return 0;; - esac - __complete_options + opts="-h -v -p" + lopts="--help --verbose --package" + case "${prev}" in + -p|--package) + __package + return 0;; + esac + __complete_options } __complete_scanner() { - opts="-h -v -p" - lopts="--help --verbose --package --nosvn" - case "${prev}" in - -p|--package) - __package - return 0;; - esac - __complete_options + opts="-h -v -p" + lopts="--help --verbose --package --nosvn" + case "${prev}" in + -p|--package) + __package + return 0;; + esac + __complete_options } __complete_verify() { - opts="-h -v -p" - lopts="--help --verbose --package" - case "${prev}" in - -p|--package) - __package - return 0;; - esac - __complete_options + opts="-h -v -p" + lopts="--help --verbose --package" + case "${prev}" in + -p|--package) + __package + return 0;; + esac + __complete_options } __complete_stats() { - opts="-h -v -d" - lopts="--help --verbose --download" - __complete_options + opts="-h -v -d" + lopts="--help --verbose --download" + __complete_options } __complete_server() { - opts="-h -v" - lopts="--help --verbose update" - __complete_options + opts="-h -v" + lopts="--help --verbose update" + __complete_options } _fdroid() { - local cmd cmds aliased - cmd=${COMP_WORDS[1]} - cmds=" build update publish checkupdates import rewritemeta scanner verify stats server " - aliased=false + local cmd cmds aliased + cmd=${COMP_WORDS[1]} + cmds=" build update publish checkupdates import rewritemeta scanner verify stats server " + aliased=false - for c in $cmds; do eval "_fdroid_${c} () { - local cur prev cmds opts lopts - __fdroid_init ${c}; - }"; done + for c in $cmds; do eval "_fdroid_${c} () { + local cur prev cmds opts lopts + __fdroid_init ${c}; + }"; done - [[ $cmds == *\ $cmd\ * ]] && _fdroid_${cmd} || { - (($COMP_CWORD == 1)) && COMPREPLY=( $( compgen -W "${cmds}" -- $cmd ) ) - } + [[ $cmds == *\ $cmd\ * ]] && _fdroid_${cmd} || { + (($COMP_CWORD == 1)) && COMPREPLY=( $( compgen -W "${cmds}" -- $cmd ) ) + } } _fdroid_build_project() { - local cur prev cmds opts lopts aliased - __fdroid_init - aliased=true - (( $COMP_CWORD == 1 )) && prev="-p" + local cur prev cmds opts lopts aliased + __fdroid_init + aliased=true + (( $COMP_CWORD == 1 )) && prev="-p" - __complete_build + __complete_build } _fdroid_checkupdates_project() { - local cur prev cmds opts lopts aliased - __fdroid_init - aliased=true - (( $COMP_CWORD == 1 )) && prev="-p" + local cur prev cmds opts lopts aliased + __fdroid_init + aliased=true + (( $COMP_CWORD == 1 )) && prev="-p" - __complete_checkupdates + __complete_checkupdates } complete -F _fdroid fdroid