zsh-completion.in 1.71 KB
Newer Older
Sebastian Ramacher's avatar
Sebastian Ramacher committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#compdef zathura

local -a all_opts
all_opts=(
  '(-c --config-dir=DIR)'{-c,--config-dir}'[Path to config directory]:config directory:_files -/'
  '(-d --data-dir=DIR)'{-d,--data-dir}'[Path to data directory]:data directory:_files -/'
  '--cache-dir=DIR[Path to cache directory]:cache directory:_files -/'
  '(-p --plugins-dir=DIR)'{-p,--plugins-dir}'[Path to plugins directory]:plugins directory:_files -/'
  '(-e --reparent=XID)'{-e,--reparent}'[Reparents to window specified by XID (X11)]:xid'
  '(-w --password=password)'{-w,--password}'[Document password]:password'
  '(-P --page=page)'{-p,--page}'[Page number to go to]:page number'
  '(-l --log-level=level)'{-l,--log-level}'[Log level]:level:(error warning info debug)'
  '(-x --snyctex-editor-command=cmd)'{-x,--synxtec-editor-command}'[Synctex editor (forwarded to the synctex command)]:command'
  '--synctex-forward=position[Move to given synctex position]:position'
  '--synctex-pid=pid[Highlight position in given process]:pid'
  '--mode=mode[Start in a non-default mode]:mode:(presentation fullscreen)'
  '--fork[Fork into the background]'
  '-h --help[Show help message]'
Ivan Tham's avatar
Ivan Tham committed
19
  '-v --version[Print version information]'
Sebastian Ramacher's avatar
Sebastian Ramacher committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
  '*:file:->files'
)

local context state state_descr line
typeset -A opt_args
_arguments -S "$all_opts[@]" && return 0

local exts
for PLUGIN in @PLUGINDIR@/lib*.so; do
  case ${PLUGIN##*/} in
    libpdf-poppler.so)
      exts="$exts|pdf"
      ;;
    libpdf-mupdf.so)
      exts="$exts|pdf|epub|oxps"
      ;;
    libps.so)
      exts="$exts|ps|eps|epsi|epsf"
      ;;
    libdjvu.so)
      exts="$exts|djvu|djv"
      ;;
    libcb.so)
      exts="$exts|cb7|cbr|cbz|cbt|rar|zip|7z|tar"
      ;;
    esac
done

case $state in
  (files)
    _files -g "*.($exts)"
    ;;
esac