MOON
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
System: Linux vps.panamaemb.org.sg 3.10.0-1160.80.1.vz7.191.4 #1 SMP Thu Dec 15 20:31:06 MSK 2022 x86_64
User: panama (500)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/2/root/usr/share/zsh/4.2.6/functions/_open
#compdef open

_open_absolute_application_path() {
  local expl curcontext
  zstyle -T ":completion:${curcontext}:files" prefix-needed && \
    [[ "$PREFIX" != [/~]* && compstate[nmatches] -ne 0 ]] && return 1
  _wanted files expl 'application file' _path_files -P "$PREFIX[1]" -W /
}

_open() {
  local curcontext="$curcontext" state line expl

  _arguments -C \
    '-a[specify application]: :->open_mac_applications' \
    '-e[open with TextEdit]' \
    '-f[Reads input from standard input and opens with TextEdit]' \
    '*: :->open_files'

  case "$state" in
    open_mac_applications)
      _alternative \
        "commands: :_mac_applications" \
        "files:: _open_absolute_application_path"
      ;;
    open_files)
      local app
      if [[ -n "$words[(r)-a]" ]]; then
        app="${(Q)words[words[(i)-a] + 1]}"
      elif [[ -n "$words[(r)-e]" || -n "$words[(r)-f]" ]]; then
        app="Text Edit"
      fi
      if [[ -n "$app" ]]; then
        _wanted files expl "file for $app" _mac_files_for_application "$app"
      else
        _webbrowser
      fi
      ;;
  esac
}

_open "$@"