# vim: set ft=sh ts=2 sw=2 et:
# file: /etc/bash_completion.d/yaourt

# Bash completion for yaourt
# Use pacman completion (_pacman())
#
# This file is in the public domain.
#


## yaourt completion

_yaourt_backup_file() {
  compopt -o filenames; _filedir 'tar.*'
}

_yaourt ()
{
  local op cur o
  COMPREPLY=()
  cur=$(_get_cword)
  if ((COMP_CWORD == 1)); then
    if [[ $cur != -* ]]; then
      _pacman_file; return 0; 
    else
      _pacman &> /dev/null 
      _arch_compgen "${COMPREPLY[@]}" "-B --backup -C -G --getpkgbuild --stats"
      return 0
    fi
  fi
  for o in 'D database' 'Q query' 'R remove' 'S sync' 'U upgrade' 'B backup' 'C' 'G getpkgbuild'; do
    _arch_incomp "$o" && break
  done
  (($?)) && op="" || op="${o% *}"
  _arch_incomp 'backupfile' || [[ $op == "B" ]] || _pacman &> /dev/null 
  if [[ "$cur" == -* ]]; then
    case "$op" in
      C) _arch_compgen "-c --clean";;
      Q) _arch_compgen  "${COMPREPLY[@]}" "--backupfile --date";;
      S) _arch_compgen  "${COMPREPLY[@]}" "-b --build -a --aur --devel --holdver";; 
    esac
  else
    case "$op" in
      Q) _arch_incomp 'backupfile' && _yaourt_backup_file;;
      B) _yaourt_backup_file;;
      G) _pacman_pkg Slq;;
    esac
  fi
}
_completion_loader pacman
complete -o default -F _yaourt yaourt 
