mirror of
https://github.com/flatpak/flatpak.git
synced 2026-01-03 05:18:00 -05:00
41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
# Check for bash
|
|
[ -z "$BASH_VERSION" ] && return
|
|
|
|
####################################################################################################
|
|
|
|
__flatpak() {
|
|
local IFS=$'\n'
|
|
local cur=`_get_cword :`
|
|
RES=($(flatpak complete "${COMP_LINE}" "${COMP_POINT}" "${cur}"))
|
|
|
|
COMPREPLY=()
|
|
for i in "${!RES[@]}"; do
|
|
if [[ "${RES[$i]}" = "__FLATPAK_FILE" ]]; then
|
|
declare -a COMPGEN_OPTS=('-f')
|
|
elif [[ "${RES[$i]}" = "__FLATPAK_BUNDLE_FILE" ]]; then
|
|
declare -a COMPGEN_OPTS=('-f' '-X' '!*.flatpak')
|
|
elif [[ "${RES[$i]}" = "__FLATPAK_BUNDLE_OR_REF_FILE" ]]; then
|
|
declare -a COMPGEN_OPTS=('-f' '-X' '!*.flatpak@(|ref)')
|
|
elif [[ "${RES[$i]}" = "__FLATPAK_DIR" ]]; then
|
|
declare -a COMPGEN_OPTS=('-d')
|
|
else
|
|
declare -a COMPGEN_OPTS=()
|
|
fi
|
|
|
|
if [[ ${#COMPGEN_OPTS[@]} -ne 0 ]]; then
|
|
if [[ "${cur}" = "=" ]]; then
|
|
CUR=""
|
|
else
|
|
CUR="${cur}"
|
|
fi
|
|
COMPREPLY=("${COMPREPLY[@]}" $(compgen ${COMPGEN_OPTS[@]} -- "${CUR}") )
|
|
else
|
|
COMPREPLY=("${COMPREPLY[@]}" "${RES[$i]}")
|
|
fi
|
|
done
|
|
}
|
|
|
|
####################################################################################################
|
|
|
|
complete -o nospace -F __flatpak flatpak
|