#!/usr/bin/env bash
## Bash completion for aurto

_aurto() {
  COMPREPLY=()
  local cur="${COMP_WORDS[COMP_CWORD]}"
  local prev="${COMP_WORDS[COMP_CWORD-1]}"
  if [[ $prev == 'aurto' ]]; then
    mapfile -t COMPREPLY < <(compgen -W 'add remove addpkg status' -- "$cur")
    return 0
  elif [[ ${COMP_WORDS[0]} == 'aurto' ]] && [[ ${COMP_WORDS[1]} == 'remove' ]]; then
    mapfile -t COMPREPLY < <(compgen -W "$(pacman -Slq aurto 2>/dev/null)" -- "$cur")
    return 0
  elif [[ ${COMP_WORDS[0]} == 'aurto' ]] \
    && [[ ${COMP_WORDS[1]} == 'add' ]] \
    && [[ ${#cur} -gt 2 ]] \
    && command -v aur >/dev/null 2>&1
  then
    local search
    search=$(aur pkglist -P "^$cur" 2>/dev/null)
    mapfile -t COMPREPLY < <(compgen -W "$search" -- "$cur")
    return 0
  fi
}
complete -F _aurto aurto
