summaryrefslogtreecommitdiffstats
path: root/Completion/User/_a2ps
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-04-15 18:20:19 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-04-15 18:20:19 +0000
commit04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8 (patch)
tree2215f99f95d55660fc939a029bf965c454d080b5 /Completion/User/_a2ps
parentzsh-3.1.5-pws-11 (diff)
downloadzsh-04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8.tar
zsh-04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8.tar.gz
zsh-04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8.tar.bz2
zsh-04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8.tar.lz
zsh-04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8.tar.xz
zsh-04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8.tar.zst
zsh-04a89199d02a3ee6c4b3d89a6c782bdb0a4f1bc8.zip
zsh-3.1.5-pws-12zsh-3.1.5-pws-12
Diffstat (limited to 'Completion/User/_a2ps')
-rw-r--r--Completion/User/_a2ps53
1 files changed, 35 insertions, 18 deletions
diff --git a/Completion/User/_a2ps b/Completion/User/_a2ps
index 600b58872..9923ae20d 100644
--- a/Completion/User/_a2ps
+++ b/Completion/User/_a2ps
@@ -1,22 +1,39 @@
#defcomp a2ps
-if [[ "$PREFIX[1,2]" = -- ]]; then
- _comp_parts '(--borders --compact --truncate-lines --interpret
- --print-anyway --delegate)' '=' '(yes no)'
- _comp_parts '(--major)' '=' '(rows columns)'
- _comp_parts '(--end-of-line)' '=' '(r n nr rn any)'
+# This is for the GNU version of a2ps.
- compgen -S= -k '(--medium --columns --rows --line-numbers
- --font-size --lines-per-page --chars-per-line
- --tabsize --non-printable-format --encoding
- --title --stdin --prologue --highlight-level
- --strip-level --output --version-control --suffix
- --printer --copies --sides --page-prefeed
- --no-page-prefeed)'
- compgen -qS= -k '(--margin --header --underlay --left-title
- --right-title --left-footer --footer --right-footer
- --pages --pretty-print)'
- compgen -k '(--landscape --portrait --catman --no-header)'
-else
- _files -F fignore -g "*~*.ps"
+if [[ "$words[1]" != "$_a2ps_cache_cmd" ]]; then
+ local descr
+
+ _a2ps_cache_cmd="$words[1]"
+
+ descr=( "${(@)${(f@)$($words[1] --list=features)//
+ / }:#}" )
+
+ _a2ps_cache_values=(
+ "${descr[(r)Known style sheets*]#* }"
+ "${descr[(r)Known encodings*]#* }"
+ "${descr[(r)Known media*]#* }"
+ "${descr[(r)Known prologues*]#* }"
+ "${descr[(r)Known PostScript Printer Descriptions*]#* }"
+ "${descr[(r)Known output destination*]#* }"
+ "${descr[(r)Known user options*]#* }"
+ "${descr[(r)Known Variables*]#* }"
+ )
fi
+
+_long_options -t '*\*' '(yes no)' \
+ '*=DIRECTION' '(rows columns)' \
+ '*=TYPE' '(r n nr rn any)' \
+ '--highlight-level*' '(none normal heavy)' \
+ '--version-control*' '(none off t numbered nil
+ existing never simple)' \
+ '--pretty-print*' "[${_a2ps_cache_values[1]}]" \
+ '--encoding*' "(${_a2ps_cache_values[2]})" \
+ '--medium*' "[${_a2ps_cache_values[3]}]" \
+ '--prologue*' "[${_a2ps_cache_values[4]}]" \
+ '--ppd*' "[${_a2ps_cache_values[5]}]" \
+ '--printer*' "[${_a2ps_cache_values[6]}]" \
+ '--user-option*' "[${_a2ps_cache_values[7]}]" \
+ '--variable*' "[${_a2ps_cache_values[8]}]" ||
+ _files -F fignore -g '*~*.(ps|PS|eps|EPS)'