#compdef trash-restore

# AUTOMATICALLY GENERATED by `shtab`


_shtab_trash_restore_commands() {
  local _commands=(
    
  )
  _describe 'trash-restore commands' _commands
}

_shtab_trash_restore_options=(
  "(- : *)"{-h,--help}"[show this help message and exit]"
  "(- : *)--print-completion[print shell completion script (default\: None)]:print_completion:(bash zsh tcsh)"
  "--sort[Sort list of restore candidates by given field (default\: date)]:sort:(date path none)"
  "--version[]"
  "--overwrite[Overwrite existing files with files coming out of the trash (default\: False)]"
  ":Restore files from given path instead of current directory (default\: ):_trash_files"
)

# guard to ensure default positional specs are added only once per session
_shtab_trash_restore_defaults_added=0


_shtab_trash_restore() {
  local context state line curcontext="$curcontext" one_or_more='(*)' remainder='(-)*' default='*::: :->trash-restore'

  # Add default positional/remainder specs only if none exist, and only once per session
  if (( ! _shtab_trash_restore_defaults_added )); then
    if (( ${_shtab_trash_restore_options[(I)${(q)one_or_more}*]} +          ${_shtab_trash_restore_options[(I)${(q)remainder}*]} +          ${_shtab_trash_restore_options[(I)${(q)default}]} == 0 )); then
      _shtab_trash_restore_options+=(': :_shtab_trash_restore_commands' '*::: :->trash-restore')
    fi
    _shtab_trash_restore_defaults_added=1
  fi
  _arguments -C -s $_shtab_trash_restore_options

  case $state in
    trash-restore)
      words=($line[1] "${words[@]}")
      (( CURRENT += 1 ))
      curcontext="${curcontext%:*:*}:_shtab_trash_restore-$line[1]:"
      case $line[1] in
        
      esac
  esac
}

# Custom Preamble

# https://github.com/zsh-users/zsh/blob/19390a1ba8dc983b0a1379058e90cd51ce156815/Completion/Unix/Command/_rm#L72-L74
_trash_files() {
  (( CURRENT > 0 )) && line[CURRENT]=()
  line=( ${line//(#m)[\[\]()\\*?#<>~\^\|]/\\$MATCH} )
  _files -F line
}

# End Custom Preamble


typeset -A opt_args

if [[ $zsh_eval_context[-1] == eval ]]; then
  # eval/source/. command, register function for later
  compdef _shtab_trash_restore -N trash-restore
else
  # autoload from fpath, call function directly
  _shtab_trash_restore "$@"
fi

