From 8abbc0186efe977cec2a3214e7aa3703e9f1169f Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 9 May 2016 11:07:53 +0200 Subject: Rename everything but the on-disk location to flatpak --- completion/flatpak | 405 +++++++++++++++++++++++++++++++++++++++++++++++++++++ completion/xdg-app | 405 ----------------------------------------------------- 2 files changed, 405 insertions(+), 405 deletions(-) create mode 100755 completion/flatpak delete mode 100755 completion/xdg-app (limited to 'completion') diff --git a/completion/flatpak b/completion/flatpak new file mode 100755 index 0000000..42fbaaf --- /dev/null +++ b/completion/flatpak @@ -0,0 +1,405 @@ +[ -z "$BASH_VERSION" ] && return + +__contains_word () { + local w word=$1; shift + for w in "$@"; do + [[ $w = "$word" ]] && return + done +} + +_flatpak() { + local cur prev + local cur=${COMP_WORDS[COMP_CWORD]} + local prev=${COMP_WORDS[COMP_CWORD-1]} + + if [[ $cur == "=" ]] && [[ "$prev" = -* ]]; then + cur="" + elif [[ $prev == "=" ]] && [[ "${COMP_WORDS[COMP_CWORD-2]}" = -* ]]; then + prev=${COMP_WORDS[COMP_CWORD-2]} + fi + + local i verb comps mode kind bundle + local remote name + local file dir cmd sdk loc + + local -A VERBS=( + [ALL]='remote-add remote-modify remote-delete remote-ls remote-list install update uninstall list run override enter export-file build-init build build-finish build-export build-bundle build-update-repo make-current' + [MODE]='remote-add remote-modify remote-delete remote-ls remote-list install update uninstall list list make-current' + [KIND]='install update uninstall list remote-ls' + [PERMS]='run override build build-finish' + [UNINSTALL]='uninstall' + [SHOW_DETAILS]='list remote-list remote-ls' + [ARCH]='build-init install build-bundle run uninstall update make-current' + [USER_AND_SYSTEM]='run remote-list list' + [APP_AND_RUNTIME]='install update uninstall' + ) + + local -A OPTS=( + [GENERAL]='--help --verbose --version' + [MODE]='--user --system' + [KIND]='--app --runtime' + [ARCH]='--arch=' + [SHOW_DETAILS]='-d --show-details' + [PERMS]='--share= --unshare= --socket= --nosocket= --device= --nodevice= --filesystem= --env= --own-name= --talk-name= --persist=' + [ADD_REMOTE]='--no-gpg-verify --if-not-exists --title= --gpg-import= --gpg-key=' + [MODIFY_REMOTE]='--no-gpg-verify --gpg-verify --title= --gpg-import= --gpg-key=' + [LIST_REMOTES]='--show-details' + [LS_REMOTE]='--show-details --updates' + [UNINSTALL]='--keep-ref --force-remove' + [INSTALL]='--bundle --gpg-file=' + [BUILD_BUNDLE]='--gpg-keys= --runtime --arch= --repo-url=' + [RUN]='--command= --branch= --devel --runtime=' + [BUILD_INIT]='--arch= --var=' + [BUILD]='--runtime' + [BUILD_FINISH]='--command= --allow' + [BUILD_EXPORT]='--subject= --body=' + [EXPORT_FILE]='--app= --allow-write --allow-delete --allow-grant-permission --unique --transient' + + [ARG]='--arch --command --branch --var --share --unshare --socket --nosocket --device --nodevice --subject --body --title --runtime --filesystem' + ) + + for ((i=0; i < COMP_CWORD; i++)); do + if [[ "${COMP_WORDS[i]}" = -* ]]; then + continue + fi + if __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then + continue + fi + if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && + test -z $first_verb; then + first_verb=${COMP_WORDS[i]} + fi + done + + if __contains_word "--bundle" ${COMP_WORDS[*]}; then + bundle="true" + else + bundle="false" + fi + + if __contains_word "--user" ${COMP_WORDS[*]}; then + if __contains_word "--system" ${COMP_WORDS[*]}; then + mode="--user --system" + else + mode="--user" + fi + else + if __contains_word "--system" ${COMP_WORDS[*]}; then + mode=--system + else + if __contains_word "$first_verb" ${VERBS[USER_AND_SYSTEM]}; then + mode="--user --system" + else + mode="--system" + fi + fi + fi + + if __contains_word "--app" ${COMP_WORDS[*]}; then + if __contains_word "--runtime" ${COMP_WORDS[*]}; then + kind="--app --runtime" + else + kind="--app" + fi + else + if __contains_word "--runtime" ${COMP_WORDS[*]}; then + kind="--runtime" + else + if __contains_word "$first_verb" ${VERBS[APP_AND_RUNTIME]}; then + kind="--app --runtime" + else + kind="--app" + fi + fi + fi + + if __contains_word "$prev" ${OPTS[ARG]}; then + case $prev in + --arch) + comps='x86_64 i686' + ;; + --command) + comps=$(compgen -A command) + ;; + --var) + comps=$(flatpak $mode list --runtime) + ;; + --runtime) + if __contains_word "$verb" ${VERBS[KIND]}; then + comps=XXX + else + comps=$(flatpak $mode list --runtime) + fi + ;; + --share|--noshare) + comps='network ipc' + ;; + --device|--nodevice) + comps='dri' + ;; + --socket|--nosocket) + comps='x11 wayland pulseaudio system-bus session-bus' + ;; + --branch|--subject|--body|--title) + comps='' + ;; + --filesystem) + comps='host home xdg-desktop xdg-documents xdg-download xdg-music xdg-pictures xdg-public-share xdg-templates xdg-videos' + ;; + esac + if [[ $comps != "XXXX" ]] ; then + COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) + return 0 + fi + fi + + for ((i=0; i < COMP_CWORD; i++)); do + if [[ "${COMP_WORDS[i]}" = -* ]]; then + continue + fi + if __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then + continue + fi + if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && + test -z $verb; then + verb=${COMP_WORDS[i]} + elif [[ $verb = install && $bundle = "true" ]]; then + if [[ -z $file ]]; then + file=${COMP_WORDS[i]} + fi + elif [[ $verb = install ]]; then + if [[ -z $remote ]]; then + remote=${COMP_WORDS[i]} + elif [[ -z $name ]]; then + name=${COMP_WORDS[i]} + fi + elif [[ $verb =~ (update|uninstall|run) ]]; then + if [[ -z $name ]]; then + name=${COMP_WORDS[i]} + fi + elif [[ $verb = build-init ]]; then + if [[ -z $dir ]]; then + dir=${COMP_WORDS[i]} + elif [[ -z $sdk ]]; then + sdk=${COMP_WORDS[i]} + elif [[ -z $name ]]; then + name=${COMP_WORDS[i]} + fi + elif [[ $verb = build ]]; then + if [[ -z $dir ]]; then + dir=${COMP_WORDS[i]} + elif [[ -z $cmd ]]; then + cmd=${COMP_WORDS[i]} + fi + elif [[ $verb = build-finish ]]; then + if [[ -z $dir ]]; then + dir=${COMP_WORDS[i]} + fi + elif [[ $verb = build-export ]]; then + if [[ -z $loc ]]; then + loc=${COMP_WORDS[i]} + elif [[ -z $dir ]]; then + dir=${COMP_WORDS[i]} + elif [[ -z $name ]]; then + name=${COMP_WORDS[i]} + fi + elif [[ $verb = build-bundle ]]; then + if [[ -z $loc ]]; then + loc=${COMP_WORDS[i]} + elif [[ -z $file ]]; then + file=${COMP_WORDS[i]} + elif [[ -z $name ]]; then + name=${COMP_WORDS[i]} + fi + elif [[ $verb = build-update-repo ]]; then + if [[ -z $loc ]]; then + loc=${COMP_WORDS[i]} + fi + elif [[ $verb = export-file ]]; then + if [[ -z $file ]]; then + file=${COMP_WORDS[i]} + fi + fi + done + + if [[ -z $verb ]]; then + comps="${VERBS[*]}" + + elif [[ "$cur" = -* ]]; then + comps="${OPTS[GENERAL]}" + if __contains_word "$verb" ${VERBS[MODE]}; then + comps="$comps ${OPTS[MODE]}" + fi + if __contains_word "$verb" ${VERBS[KIND]}; then + comps="$comps ${OPTS[KIND]}" + fi + if __contains_word "$verb" ${VERBS[PERMS]}; then + comps="$comps ${OPTS[PERMS]}" + fi + if [ "$verb" = "remote-list" ]; then + comps="$comps ${OPTS[LIST_REMOTES]}" + fi + if __contains_word "$verb" ${VERBS[ARCH]}; then + comps="$comps ${OPTS[ARCH]}" + fi + if __contains_word "$verb" ${VERBS[SHOW_DETAILS]}; then + comps="$comps ${OPTS[SHOW_DETAILS]}" + fi + if __contains_word "$verb" ${VERBS[UNINSTALL]}; then + comps="$comps ${OPTS[UNINSTALL]}" + fi + if [ "$verb" = "run" ]; then + comps="$comps ${OPTS[RUN]}" + fi + if [ "$verb" = "export-file" ]; then + comps="$comps ${OPTS[EXPORT_FILE]}" + fi + if [ "$verb" = "remote-ls" ]; then + comps="$comps ${OPTS[LS_REMOTE]}" + fi + if [ "$verb" = "build-init" ]; then + comps="$comps ${OPTS[BUILD_INIT]}" + fi + if [ "$verb" = "build" ]; then + comps="$comps ${OPTS[BUILD]}" + fi + if [ "$verb" = "build-finish" ]; then + comps="$comps ${OPTS[BUILD_FINISH]}" + fi + if [ "$verb" = "build-bundle" ]; then + comps="$comps ${OPTS[BUILD_BUNDLE]}" + fi + if [ "$verb" = "install" ]; then + comps="$comps ${OPTS[INSTALL]}" + fi + if [ "$verb" = "build-export" ]; then + comps="$comps ${OPTS[BUILD_EXPORT]}" + fi + if [ "$verb" = "repo-update" ]; then + comps="$comps ${OPTS[REPO_UPDATE]}" + fi + if [ "$verb" = "remote-add" ]; then + comps="$comps ${OPTS[ADD_REMOTE]}" + fi + if [ "$verb" = "remote-modify" ]; then + comps="$comps ${OPTS[MODIFY_REMOTE]}" + fi + else + case "$verb" in + remote-add|remote-modify|remote-delete|remote-ls) + comps=$(flatpak $mode remote-list) + ;; + + install) + if [[ $bundle == "true" ]]; then + comps='' + compopt -o filenames + else + if [[ -z $remote ]]; then + comps=$(flatpak $mode remote-list) + if [[ $mode == "--system" ]]; then + comps="$comps --user" + fi + elif [[ -z $name ]]; then + comps=$(flatpak remote-ls $mode $kind $remote) + else + comps='' # FIXME: branches + fi + fi + ;; + + remote-list|list) + comps='' + ;; + + update|uninstall) + if [[ -z $name ]]; then + comps=$(flatpak $mode $kind list) + else + comps='' # FIXME: branches + fi + ;; + + run|override) + # run doesn't take --user or --system, so don't use mode here + if [[ -z $name ]]; then + comps=$(flatpak list --app) + fi + ;; + + + build-init) + if [[ -z $dir ]]; then + comps='' + compopt -o dirnames + elif [[ -z $sdk ]]; then + comps="$(flatpak list --runtime) $(flatpak --user list --runtime)" + elif [[ -z $name ]]; then + comps="$(flatpak list --runtime) $(flatpak --user list --runtime)" + else + comps='' # FIXME: branches + fi + ;; + + build) + if [[ -z $dir ]]; then + comps='' + compopt -o dirnames + elif [[ -z $cmd ]]; then + comps='' + compopt -o bashdefault + fi + ;; + + build-finish) + if [[ -z $dir ]]; then + comps='' + compopt -o dirnames + fi + ;; + + build-export) + if [[ -z $loc ]]; then + comps='' + compopt -o dirnames + elif [[ -z $dir ]]; then + comps='' + compopt -o dirnames + fi + ;; + + build-bundle) + if [[ -z $loc ]]; then + comps='' + compopt -o dirnames + elif [[ -z $file ]]; then + comps='' + compopt -o filenames + else + comps='' # FIXME: list apps/runtimes + fi + ;; + + build-update-repo) + if [[ -z $loc ]]; then + comps='' + compopt -o dirnames + fi + ;; + + export-file) + if [[ -z $file ]]; then + comps='' + compopt -o dirnames + fi + ;; + + esac + fi + + COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) + [[ $COMPREPLY == *= ]] && compopt -o nospace + return 0 +} + +complete -F _flatpak flatpak diff --git a/completion/xdg-app b/completion/xdg-app deleted file mode 100755 index b59d8f0..0000000 --- a/completion/xdg-app +++ /dev/null @@ -1,405 +0,0 @@ -[ -z "$BASH_VERSION" ] && return - -__contains_word () { - local w word=$1; shift - for w in "$@"; do - [[ $w = "$word" ]] && return - done -} - -_xdg-app() { - local cur prev - local cur=${COMP_WORDS[COMP_CWORD]} - local prev=${COMP_WORDS[COMP_CWORD-1]} - - if [[ $cur == "=" ]] && [[ "$prev" = -* ]]; then - cur="" - elif [[ $prev == "=" ]] && [[ "${COMP_WORDS[COMP_CWORD-2]}" = -* ]]; then - prev=${COMP_WORDS[COMP_CWORD-2]} - fi - - local i verb comps mode kind bundle - local remote name - local file dir cmd sdk loc - - local -A VERBS=( - [ALL]='remote-add remote-modify remote-delete remote-ls remote-list install update uninstall list run override enter export-file build-init build build-finish build-export build-bundle build-update-repo make-current' - [MODE]='remote-add remote-modify remote-delete remote-ls remote-list install update uninstall list list make-current' - [KIND]='install update uninstall list remote-ls' - [PERMS]='run override build build-finish' - [UNINSTALL]='uninstall' - [SHOW_DETAILS]='list remote-list remote-ls' - [ARCH]='build-init install build-bundle run uninstall update make-current' - [USER_AND_SYSTEM]='run remote-list list' - [APP_AND_RUNTIME]='install update uninstall' - ) - - local -A OPTS=( - [GENERAL]='--help --verbose --version' - [MODE]='--user --system' - [KIND]='--app --runtime' - [ARCH]='--arch=' - [SHOW_DETAILS]='-d --show-details' - [PERMS]='--share= --unshare= --socket= --nosocket= --device= --nodevice= --filesystem= --env= --own-name= --talk-name= --persist=' - [ADD_REMOTE]='--no-gpg-verify --if-not-exists --title= --gpg-import= --gpg-key=' - [MODIFY_REMOTE]='--no-gpg-verify --gpg-verify --title= --gpg-import= --gpg-key=' - [LIST_REMOTES]='--show-details' - [LS_REMOTE]='--show-details --updates' - [UNINSTALL]='--keep-ref --force-remove' - [INSTALL]='--bundle --gpg-file=' - [BUILD_BUNDLE]='--gpg-keys= --runtime --arch= --repo-url=' - [RUN]='--command= --branch= --devel --runtime=' - [BUILD_INIT]='--arch= --var=' - [BUILD]='--runtime' - [BUILD_FINISH]='--command= --allow' - [BUILD_EXPORT]='--subject= --body=' - [EXPORT_FILE]='--app= --allow-write --allow-delete --allow-grant-permission --unique --transient' - - [ARG]='--arch --command --branch --var --share --unshare --socket --nosocket --device --nodevice --subject --body --title --runtime --filesystem' - ) - - for ((i=0; i < COMP_CWORD; i++)); do - if [[ "${COMP_WORDS[i]}" = -* ]]; then - continue - fi - if __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then - continue - fi - if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && - test -z $first_verb; then - first_verb=${COMP_WORDS[i]} - fi - done - - if __contains_word "--bundle" ${COMP_WORDS[*]}; then - bundle="true" - else - bundle="false" - fi - - if __contains_word "--user" ${COMP_WORDS[*]}; then - if __contains_word "--system" ${COMP_WORDS[*]}; then - mode="--user --system" - else - mode="--user" - fi - else - if __contains_word "--system" ${COMP_WORDS[*]}; then - mode=--system - else - if __contains_word "$first_verb" ${VERBS[USER_AND_SYSTEM]}; then - mode="--user --system" - else - mode="--system" - fi - fi - fi - - if __contains_word "--app" ${COMP_WORDS[*]}; then - if __contains_word "--runtime" ${COMP_WORDS[*]}; then - kind="--app --runtime" - else - kind="--app" - fi - else - if __contains_word "--runtime" ${COMP_WORDS[*]}; then - kind="--runtime" - else - if __contains_word "$first_verb" ${VERBS[APP_AND_RUNTIME]}; then - kind="--app --runtime" - else - kind="--app" - fi - fi - fi - - if __contains_word "$prev" ${OPTS[ARG]}; then - case $prev in - --arch) - comps='x86_64 i686' - ;; - --command) - comps=$(compgen -A command) - ;; - --var) - comps=$(xdg-app $mode list --runtime) - ;; - --runtime) - if __contains_word "$verb" ${VERBS[KIND]}; then - comps=XXX - else - comps=$(xdg-app $mode list --runtime) - fi - ;; - --share|--noshare) - comps='network ipc' - ;; - --device|--nodevice) - comps='dri' - ;; - --socket|--nosocket) - comps='x11 wayland pulseaudio system-bus session-bus' - ;; - --branch|--subject|--body|--title) - comps='' - ;; - --filesystem) - comps='host home xdg-desktop xdg-documents xdg-download xdg-music xdg-pictures xdg-public-share xdg-templates xdg-videos' - ;; - esac - if [[ $comps != "XXXX" ]] ; then - COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) - return 0 - fi - fi - - for ((i=0; i < COMP_CWORD; i++)); do - if [[ "${COMP_WORDS[i]}" = -* ]]; then - continue - fi - if __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then - continue - fi - if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} && - test -z $verb; then - verb=${COMP_WORDS[i]} - elif [[ $verb = install && $bundle = "true" ]]; then - if [[ -z $file ]]; then - file=${COMP_WORDS[i]} - fi - elif [[ $verb = install ]]; then - if [[ -z $remote ]]; then - remote=${COMP_WORDS[i]} - elif [[ -z $name ]]; then - name=${COMP_WORDS[i]} - fi - elif [[ $verb =~ (update|uninstall|run) ]]; then - if [[ -z $name ]]; then - name=${COMP_WORDS[i]} - fi - elif [[ $verb = build-init ]]; then - if [[ -z $dir ]]; then - dir=${COMP_WORDS[i]} - elif [[ -z $sdk ]]; then - sdk=${COMP_WORDS[i]} - elif [[ -z $name ]]; then - name=${COMP_WORDS[i]} - fi - elif [[ $verb = build ]]; then - if [[ -z $dir ]]; then - dir=${COMP_WORDS[i]} - elif [[ -z $cmd ]]; then - cmd=${COMP_WORDS[i]} - fi - elif [[ $verb = build-finish ]]; then - if [[ -z $dir ]]; then - dir=${COMP_WORDS[i]} - fi - elif [[ $verb = build-export ]]; then - if [[ -z $loc ]]; then - loc=${COMP_WORDS[i]} - elif [[ -z $dir ]]; then - dir=${COMP_WORDS[i]} - elif [[ -z $name ]]; then - name=${COMP_WORDS[i]} - fi - elif [[ $verb = build-bundle ]]; then - if [[ -z $loc ]]; then - loc=${COMP_WORDS[i]} - elif [[ -z $file ]]; then - file=${COMP_WORDS[i]} - elif [[ -z $name ]]; then - name=${COMP_WORDS[i]} - fi - elif [[ $verb = build-update-repo ]]; then - if [[ -z $loc ]]; then - loc=${COMP_WORDS[i]} - fi - elif [[ $verb = export-file ]]; then - if [[ -z $file ]]; then - file=${COMP_WORDS[i]} - fi - fi - done - - if [[ -z $verb ]]; then - comps="${VERBS[*]}" - - elif [[ "$cur" = -* ]]; then - comps="${OPTS[GENERAL]}" - if __contains_word "$verb" ${VERBS[MODE]}; then - comps="$comps ${OPTS[MODE]}" - fi - if __contains_word "$verb" ${VERBS[KIND]}; then - comps="$comps ${OPTS[KIND]}" - fi - if __contains_word "$verb" ${VERBS[PERMS]}; then - comps="$comps ${OPTS[PERMS]}" - fi - if [ "$verb" = "remote-list" ]; then - comps="$comps ${OPTS[LIST_REMOTES]}" - fi - if __contains_word "$verb" ${VERBS[ARCH]}; then - comps="$comps ${OPTS[ARCH]}" - fi - if __contains_word "$verb" ${VERBS[SHOW_DETAILS]}; then - comps="$comps ${OPTS[SHOW_DETAILS]}" - fi - if __contains_word "$verb" ${VERBS[UNINSTALL]}; then - comps="$comps ${OPTS[UNINSTALL]}" - fi - if [ "$verb" = "run" ]; then - comps="$comps ${OPTS[RUN]}" - fi - if [ "$verb" = "export-file" ]; then - comps="$comps ${OPTS[EXPORT_FILE]}" - fi - if [ "$verb" = "remote-ls" ]; then - comps="$comps ${OPTS[LS_REMOTE]}" - fi - if [ "$verb" = "build-init" ]; then - comps="$comps ${OPTS[BUILD_INIT]}" - fi - if [ "$verb" = "build" ]; then - comps="$comps ${OPTS[BUILD]}" - fi - if [ "$verb" = "build-finish" ]; then - comps="$comps ${OPTS[BUILD_FINISH]}" - fi - if [ "$verb" = "build-bundle" ]; then - comps="$comps ${OPTS[BUILD_BUNDLE]}" - fi - if [ "$verb" = "install" ]; then - comps="$comps ${OPTS[INSTALL]}" - fi - if [ "$verb" = "build-export" ]; then - comps="$comps ${OPTS[BUILD_EXPORT]}" - fi - if [ "$verb" = "repo-update" ]; then - comps="$comps ${OPTS[REPO_UPDATE]}" - fi - if [ "$verb" = "remote-add" ]; then - comps="$comps ${OPTS[ADD_REMOTE]}" - fi - if [ "$verb" = "remote-modify" ]; then - comps="$comps ${OPTS[MODIFY_REMOTE]}" - fi - else - case "$verb" in - remote-add|remote-modify|remote-delete|remote-ls) - comps=$(xdg-app $mode remote-list) - ;; - - install) - if [[ $bundle == "true" ]]; then - comps='' - compopt -o filenames - else - if [[ -z $remote ]]; then - comps=$(xdg-app $mode remote-list) - if [[ $mode == "--system" ]]; then - comps="$comps --user" - fi - elif [[ -z $name ]]; then - comps=$(xdg-app remote-ls $mode $kind $remote) - else - comps='' # FIXME: branches - fi - fi - ;; - - remote-list|list) - comps='' - ;; - - update|uninstall) - if [[ -z $name ]]; then - comps=$(xdg-app $mode $kind list) - else - comps='' # FIXME: branches - fi - ;; - - run|override) - # run doesn't take --user or --system, so don't use mode here - if [[ -z $name ]]; then - comps=$(xdg-app list --app) - fi - ;; - - - build-init) - if [[ -z $dir ]]; then - comps='' - compopt -o dirnames - elif [[ -z $sdk ]]; then - comps="$(xdg-app list --runtime) $(xdg-app --user list --runtime)" - elif [[ -z $name ]]; then - comps="$(xdg-app list --runtime) $(xdg-app --user list --runtime)" - else - comps='' # FIXME: branches - fi - ;; - - build) - if [[ -z $dir ]]; then - comps='' - compopt -o dirnames - elif [[ -z $cmd ]]; then - comps='' - compopt -o bashdefault - fi - ;; - - build-finish) - if [[ -z $dir ]]; then - comps='' - compopt -o dirnames - fi - ;; - - build-export) - if [[ -z $loc ]]; then - comps='' - compopt -o dirnames - elif [[ -z $dir ]]; then - comps='' - compopt -o dirnames - fi - ;; - - build-bundle) - if [[ -z $loc ]]; then - comps='' - compopt -o dirnames - elif [[ -z $file ]]; then - comps='' - compopt -o filenames - else - comps='' # FIXME: list apps/runtimes - fi - ;; - - build-update-repo) - if [[ -z $loc ]]; then - comps='' - compopt -o dirnames - fi - ;; - - export-file) - if [[ -z $file ]]; then - comps='' - compopt -o dirnames - fi - ;; - - esac - fi - - COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) - [[ $COMPREPLY == *= ]] && compopt -o nospace - return 0 -} - -complete -F _xdg-app xdg-app -- cgit v1.2.1