chiark / gitweb /
Support new Build: syntax in completion; retab
authorDaniel Martí <mvdan@mvdan.cc>
Mon, 28 Oct 2013 23:19:33 +0000 (00:19 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Mon, 28 Oct 2013 23:19:33 +0000 (00:19 +0100)
completion/bash-completion

index 8574454cf550505e74c8e8fa6250b17ecc2bb3c2..2ef8fa1be275771bc1c82609085766bb25d344ce 100644 (file)
 # 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
-
-    $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 ) )
+       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
+       }
+
+       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