Blame gio/completion/gresource

Packit ae235b
Packit ae235b
# Check for bash
Packit ae235b
[ -z "$BASH_VERSION" ] && return
Packit ae235b
Packit ae235b
####################################################################################################
Packit ae235b
Packit ae235b
__gresource() {
Packit ae235b
  local choices coffset section
Packit ae235b
Packit ae235b
  if [ ${COMP_CWORD} -gt 2 ]; then
Packit ae235b
      if [ ${COMP_WORDS[1]} = --section ]; then
Packit ae235b
          section=${COMP_WORDS[2]}
Packit ae235b
          coffset=2
Packit ae235b
      else
Packit ae235b
          coffset=0
Packit ae235b
      fi
Packit ae235b
  else
Packit ae235b
      coffset=0
Packit ae235b
  fi
Packit ae235b
Packit ae235b
  case "$((${COMP_CWORD}-$coffset))" in
Packit ae235b
    1)
Packit ae235b
      choices=$'--section \nhelp \nsections \nlist \ndetails \nextract '
Packit ae235b
      ;;
Packit ae235b
Packit ae235b
    2)
Packit ae235b
      case "${COMP_WORDS[$(($coffset+1))]}" in
Packit ae235b
        --section)
Packit ae235b
          return 0
Packit ae235b
          ;;
Packit ae235b
Packit ae235b
        help)
Packit ae235b
          choices=$'sections\nlist\ndetails\nextract'
Packit ae235b
          ;;
Packit ae235b
Packit ae235b
        sections|list|details|extract)
Packit ae235b
          COMPREPLY=($(compgen -f -- ${COMP_WORDS[${COMP_CWORD}]}))
Packit ae235b
          return 0
Packit ae235b
          ;;
Packit ae235b
      esac
Packit ae235b
      ;;
Packit ae235b
Packit ae235b
    3)
Packit ae235b
      case "${COMP_WORDS[$(($coffset+1))]}" in
Packit ae235b
        list|details|extract)
Packit ae235b
          choices="$(gresource list ${COMP_WORDS[$(($coffset+2))]} 2> /dev/null | sed -e 's.$. .')"
Packit ae235b
          ;;
Packit ae235b
      esac
Packit ae235b
      ;;
Packit ae235b
  esac
Packit ae235b
Packit ae235b
  local IFS=$'\n'
Packit ae235b
  COMPREPLY=($(compgen -W "${choices}" -- "${COMP_WORDS[${COMP_CWORD}]}"))
Packit ae235b
}
Packit ae235b
Packit ae235b
####################################################################################################
Packit ae235b
Packit ae235b
complete -o nospace -F __gresource gresource