#compdef flatpak emulate -L zsh local index (( index = ${(c)#words[0,CURRENT]} + $#PREFIX + 1 )) local resp=($(flatpak complete "$words" $index "$words[CURRENT]")) _description options opt_expl option _description arguments arg_expl argument local match for match in $resp; do case $match in __FLATPAK_FILE) _files;; __FLATPAK_BUNDLE_FILE) _path_files -g '*.flatpak';; __FLATPAK_BUNDLE_OR_REF_FILE) _path_files -g '*.flatpak(|ref)';; __FLATPAK_DIR) _path_files -/;; -*=) compadd $opt_expl[@] -S "" -- $match;; -*) compadd $opt_expl[@] -- $match;; *) compadd $arg_expl[@] $match;; esac done # vim: ft=zsh