mirror of
https://git.pwmt.org/pwmt/zathura.git
synced 2024-11-10 21:44:20 +01:00
Improve and fix zsh completion
This commit is contained in:
parent
a3e4bce386
commit
48c5e9e23f
@ -2,51 +2,54 @@
|
|||||||
|
|
||||||
local -a all_opts
|
local -a all_opts
|
||||||
all_opts=(
|
all_opts=(
|
||||||
'(-c --config-dir=DIR)'{-c,--config-dir}'[Path to config directory]:config directory:_files -/'
|
'(-c --config-dir)'{-c,--config-dir=}'[specify path to config directory]:config directory:_files -/'
|
||||||
'(-d --data-dir=DIR)'{-d,--data-dir}'[Path to data directory]:data directory:_files -/'
|
'(-d --data-dir)'{-d,--data-dir=}'[specify path to data directory]:data directory:_files -/'
|
||||||
'--cache-dir=DIR[Path to cache directory]:cache directory:_files -/'
|
'--cache-dir=[specify path to cache directory]:cache directory:_files -/'
|
||||||
'(-p --plugins-dir=DIR)'{-p,--plugins-dir}'[Path to plugins directory]:plugins directory:_files -/'
|
'(-p --plugins-dir)'{-p,--plugins-dir=}'[specify path to plugins directory]:plugins directory:_files -/'
|
||||||
'(-e --reparent=XID)'{-e,--reparent}'[Reparents to window specified by XID (X11)]:xid'
|
'(-e --reparent)'{-e,--reparent=}'[reparent to window specified by XID (X11)]: :_x_window'
|
||||||
'(-w --password=password)'{-w,--password}'[Document password]:password'
|
'(-w --password)'{-w,--password=}'[specify a password for the document]:password'
|
||||||
'(-P --page=page)'{-p,--page}'[Page number to go to]:page number'
|
'(-P --page)'{-p,--page=}'[open the document at the given page number]:page number'
|
||||||
'(-l --log-level=level)'{-l,--log-level}'[Log level]:level:(error warning info debug)'
|
'(-l --log-level)'{-l,--log-level=}'[set log level]:level:(error warning info debug)'
|
||||||
'(-x --snyctex-editor-command=cmd)'{-x,--synxtec-editor-command}'[Synctex editor (forwarded to the synctex command)]:command'
|
'(-x --snyctex-editor-command)'{-x,--synxtec-editor-command=}'[specify synctex editor (forwarded to the synctex command)]:command'
|
||||||
'--synctex-forward=position[Move to given synctex position]:position'
|
'--synctex-forward=[move to the given position]:position'
|
||||||
'--synctex-pid=pid[Highlight position in given process]:pid'
|
'--synctex-pid=[highlight position in given process]:pid:_pids'
|
||||||
'--mode=mode[Start in a non-default mode]:mode:(presentation fullscreen)'
|
'--mode[start in a non-default mode]:mode:(presentation fullscreen)'
|
||||||
'--fork[Fork into the background]'
|
'--fork[fork into the background]'
|
||||||
'-h --help[Show help message]'
|
'(- :)'{-h,--help}'[show help message]'
|
||||||
'-v --version[Print version information]'
|
'(- :)'{-v,--version}'[print version information]'
|
||||||
'*:file:->files'
|
'*:file:->files'
|
||||||
)
|
)
|
||||||
|
|
||||||
local context state state_descr line
|
local curcontext="$curcontext" state state_descr line ret=1
|
||||||
typeset -A opt_args
|
typeset -A opt_args
|
||||||
_arguments -S "$all_opts[@]" && return 0
|
_arguments -C -s -S "$all_opts[@]" && ret=0
|
||||||
|
|
||||||
local exts
|
local PLUGIN
|
||||||
|
local -a exts
|
||||||
for PLUGIN in @PLUGINDIR@/lib*.so; do
|
for PLUGIN in @PLUGINDIR@/lib*.so; do
|
||||||
case ${PLUGIN##*/} in
|
case ${PLUGIN##*/} in
|
||||||
libpdf-poppler.so)
|
libpdf-poppler.so)
|
||||||
exts="$exts|pdf|PDF"
|
exts+=( pdf PDF )
|
||||||
;;
|
;;
|
||||||
libpdf-mupdf.so)
|
libpdf-mupdf.so)
|
||||||
exts="$exts|pdf|PDF|epub|oxps"
|
exts+=( pdf PDF epub oxps )
|
||||||
;;
|
;;
|
||||||
libps.so)
|
libps.so)
|
||||||
exts="$exts|ps|eps|epsi|epsf"
|
exts+=( ps eps epsi epsf )
|
||||||
;;
|
;;
|
||||||
libdjvu.so)
|
libdjvu.so)
|
||||||
exts="$exts|djvu|djv"
|
exts+=( djvu djv )
|
||||||
;;
|
;;
|
||||||
libcb.so)
|
libcb.so)
|
||||||
exts="$exts|cb7|cbr|cbz|cbt|rar|zip|7z|tar"
|
exts+=( cb7 cbr cbz cbt rar zip 7z tar )
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
case $state in
|
case $state in
|
||||||
(files)
|
(files)
|
||||||
_files -g "*.($exts)"
|
_wanted files expl file _files -g "*.(${(j:|:)exts:-pdf})(-.)" && ret=0
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
return ret
|
||||||
|
Loading…
Reference in New Issue
Block a user