#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]' '-V --version[Print version information]' '*: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|PDF" ;; libpdf-mupdf.so) exts="$exts|pdf|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