1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-11 04:20:01 +01:00
zsh/Completion/X/Command/_pdftk

62 lines
1.3 KiB
Plaintext

#compdef pdftk
_pdfwithhandle()
{
compset -P '(#I)[A-Z]='
_files "$@" -g '(#i)*.pdf'
}
local expl
local -a opts operations
opts=(output encrypt_40bit encrypt_128bit allow owner_pw user_pw flatten
compress uncompress keep_first_id keep_final_id drop_xfa verbose
dont_ask do_ask)
operations=(cat attach_files unpack_files burst fill_form background stamp
generate_fdf multibackground multistamp dump_data dump_data_fields
update_info)
case $words[CURRENT-1] in
((input|owner|user)_pw)
_message "password, or PROMPT"
;;
(allow)
#_description permissions expl "permission"
#compadd $expl \
_values -s , permission \
Printing DegradedPrinting ModifyContents Assembly CopyContents \
ScreenReaders ModifyAnnotations FillIn AllFeatures
;;
(attach_files)
_files "$@"
;;
(fill_form)
_wanted files expl 'FDF or XFDF file' _files -g '(#i)*.(fdf|xfdf)(-.)'
;;
((multibackground|background|stamp|multistamp|output))
_pdf
;;
(update_info)
_files
;;
(*)
false
;;
esac && return 0
if [[ -n $words[(r)(${(j:|:)operations})] ]]; then
_description options expl "option"
compadd $@ $expl $opts
else
_tags files operations
_alternative \
'files:PDF file:_pdfwithhandle' \
"operations:operation:($operations)"
fi