zsh-workers
 help / color / mirror / code / Atom feed
* PATCH: _enscript
@ 2000-04-27 15:47 Tanaka Akira
  2000-04-28  9:49 ` Tanaka Akira
  0 siblings, 1 reply; 2+ messages in thread
From: Tanaka Akira @ 2000-04-27 15:47 UTC (permalink / raw)
  To: zsh-workers

This is a completion function for GNU enscript.

--- /dev/null	Thu Feb 11 08:02:48 1999
+++ Completion/User/_enscript	Fri Apr 28 00:40:09 2000
@@ -0,0 +1,146 @@
+#compdef enscript
+
+local state context line opt_args
+
+_arguments -s \
+  '(   -2 --columns)-1' \
+  '(-1    --columns)-2' \
+  '(-1 -2          )--columns=:columns:' \
+  '(--pages)-a+:pages:(even odd)' \
+  '(-a)--pages=:pages:(even odd)' \
+  '(--file-align)-A+:align:' \
+  '(-A)--file-align=:align:' \
+  '(--header)-b+:page header:' \
+  '(-b)--header=:page header:' \
+  '(--no-header)-B' \
+  '(-B)--no-header' \
+  '(--truncate-lines)-c' \
+  '(-c)--truncate-lines' \
+  '(--line-numbers)-C-:start line:' \
+  '(-C)--line-numbers=-:start line:' \
+  '(--printer -d   )-P+:printer name:' \
+  '(--printer    -P)-d+:printer name:' \
+  '(          -d -P)--printer=:printer name:' \
+  '*-D+:key\:value:' \
+  '*--setpagedevice=:key\:value:' \
+  '(--escapes)-e-:escape character:' \
+  '(-e)--escapes=-:escape character:' \
+  '(--pretty-print)-E-:input language:->inputlang' \
+  '(-E)--pretty-print=-:input language:->inputlang' \
+  '(--font)-f+:fontname:' \
+  '(-f)--font=:fontname:' \
+  '(--header-font)-F+:fontname:' \
+  '(-F)--header-font=:fontname:' \
+  '(--print-anyway)-g' \
+  '(-g)--print-anyway' \
+  '(--fancy-header)-G' \
+  '(-G)--fancy-header=-:name:' \
+  '(--no-job-header)-h' \
+  '(-h)--no-job-header' \
+  '(--highlight-bars)-H-:lines:' \
+  '(-H)--highlight-bars=-:lines:' \
+  '(--indent)-i+:indent length:' \
+  '(-i)--indent=:indent length:' \
+  '(--filter)-I+:input filter:->commandline' \
+  '(-I)--filter=:input filter:->commandline' \
+  '(--borders)-j' \
+  '(-j)--borders' \
+  '(--page-prefeed)-k' \
+  '(-k)--page-prefeed' \
+  '(--no-page-prefeed)-K' \
+  '(-K)--no-page-prefeed' \
+  '(--lineprinter)-l' \
+  '(-l)--lineprinter' \
+  '(--lines-per-page)-L+:lines per page:' \
+  '(-L)--lines-per-page=:lines per page:' \
+  '(--mail)-m' \
+  '(-m)--mail' \
+  '(--media)-M+:media name:(A4)' \
+  '(-M)--media=:media name:(A4)' \
+  '(--copies -n   )-#+:number of copies:' \
+  '(--copies    -#)-n+:number of copies:' \
+  '(         -n -#)--copies=:number of copies:' \
+  '(--newline)-N+:newline type:((n\:unix r\:mac))' \
+  '(-N)--newline=:newline type:((n\:unix r\:mac))' \
+  '(--output -p   )-o+:output file:' \
+  '(--output    -o)-p+:output file:_files' \
+  '(         -p -o)--output=:output file:_files' \
+  '(--missing-characters)-O' \
+  '(-O)--missing-characters' \
+  '(--quiet --silent)-q' \
+  '(-q --silent)--quiet' \
+  '(-q --quiet)--silent' \
+  '(--landscape)-r' \
+  '(-r)--landscape' \
+  '(--portrait)-R' \
+  '(-R)--portrait' \
+  '(--baselineskip)-s+:baseline skip:' \
+  '(-s)--baselineskip=:baseline skip:' \
+  '*-S+:key\:value:' \
+  '*--statusdict=:key\:value:' \
+  '(--title -t   )-J+:banner title:' \
+  '(--title    -J)-t+:banner title:' \
+  '(        -t -J)--title=:banner title:' \
+  '(--tabsize)-T+:tabsize:(8)' \
+  '(-T)--tabsize=:tabsize:(8)' \
+  '(--underlay)-u-:underlay text:' \
+  '(-u)--underlay=-:underlay text:' \
+  '(--nup)-U+:pages:(4)' \
+  '(-U)--nup=:pages:(4)' \
+  '(--verbose)-v' \
+  '(-v)--verbose=-:level:' \
+  '(--version)-V' \
+  '(-V)--version' \
+  '(--language)-W+:output language:(PostScript html overstrike rtf)' \
+  '(-W)--language=:output language:(PostScript html overstrike rtf)' \
+  '(--encoding)-X+:character encoding:(88591 latin1 88592 latin2 88593 latin3 88594 latin4 88595 cyrillic 88597 greek 88599 latin5 885910 latin6 ascii asciifise asciifi asciise asciidkno asciidk asciino ibmpc pc dos mac vms hp8 koi8 ps PS pslatin1 ISOLatin1Encoding)' \
+  '(-X)--encoding=:character encoding:(88591 latin1 88592 latin2 88593 latin3 88594 latin4 88595 cyrillic 88597 greek 88599 latin5 885910 latin6 ascii asciifise asciifi asciise asciidkno asciidk asciino ibmpc pc dos mac vms hp8 koi8 ps PS pslatin1 ISOLatin1Encoding)' \
+  '(--no-formfeed)-z' \
+  '(-z)--no-formfeed' \
+  '(--pass-through)-Z' \
+  '(-Z)--pass-through' \
+  '--color=-:use color:(false true)' \
+  '--download-font=:fontname:' \
+  '--filter-stdin=:stdin name:(-)' \
+  '--h-column-height=:holizontal column height:' \
+  '--help' \
+  '--help-pretty-print' \
+  '--highlight-bar-gray=:gray level:' \
+  '--list-media' \
+  '--list-options' \
+  '--margins=:left\:right\:top\:bottom:' \
+  '--mark-wrapped-lines=-:wrapped line style:(none plus box arrow)' \
+  '--non-printable-format=:format to visualze non printable characters:(caret octal questionmark space)' \
+  '--nup-xpad=:x-padding:(10)' \
+  '--nup-ypad=:y-padding:(10)' \
+  '--page-label-format=:page label format:(short long)' \
+  '--ps-level=:PostScript language level:(1 2)' \
+  '--printer-options=:extra options:' \
+  '--rotate-even-pages' \
+  '--slice=:virtical slice number:' \
+  '--style=:highlighting style:' \
+  '--toc' \
+  '--word-wrap' \
+  '--ul-angle=:underlay text'\''s angle:(45)' \
+  '--ul-font=:underlay text'\''s fontname:(Times-Roman200)' \
+  '--ul-gray=:underlay text'\''s gray level:(.8)' \
+  '--ul-position=:underlay text'\''s position:(+0+0 -0-0)' \
+  '--ul-style=:underlay text'\''s style:(outline filled)' \
+  '*:filename:_files'
+
+case "$state" in
+commandline)
+  compset -q
+  _normal
+  ;;
+
+inputlang)
+  if (( ! $+_enscript_input_languages )); then
+    _enscript_input_languages=(${${(f)${(F)${(M)${(f)"$(enscript --help-pretty-print)"}:#(Name|Description):*}}//(#b)Name: ([^
+]##)(
+Description: ([^
+]##)|)/$match[1]:$match[3]}%:})
+  fi
+  _describe 'input language' _enscript_input_languages -- 
+  ;;
+esac
-- 
Tanaka Akira


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: PATCH: _enscript
  2000-04-27 15:47 PATCH: _enscript Tanaka Akira
@ 2000-04-28  9:49 ` Tanaka Akira
  0 siblings, 0 replies; 2+ messages in thread
From: Tanaka Akira @ 2000-04-28  9:49 UTC (permalink / raw)
  To: zsh-workers

In article <hvoya5za6l5.fsf@serein.m17n.org>,
  Tanaka Akira <akr@m17n.org> writes:

> This is a completion function for GNU enscript.

This patch separates a completion function _printers for printer names
from _lp and modifies _enscript to complete printer names using
_printers.

Index: Completion/User/_enscript
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/User/_enscript,v
retrieving revision 1.1
diff -u -r1.1 _enscript
--- Completion/User/_enscript	2000/04/28 00:59:40	1.1
+++ Completion/User/_enscript	2000/04/28 09:36:07
@@ -18,9 +18,9 @@
   '(-c)--truncate-lines' \
   '(--line-numbers)-C-:start line:' \
   '(-C)--line-numbers=-:start line:' \
-  '(--printer -d   )-P+:printer name:' \
-  '(--printer    -P)-d+:printer name:' \
-  '(          -d -P)--printer=:printer name:' \
+  '(--printer -d   )-P+:printer name: _printers' \
+  '(--printer    -P)-d+:printer name: _printers' \
+  '(          -d -P)--printer=:printer name: _printers' \
   '*-D+:key\:value:' \
   '*--setpagedevice=:key\:value:' \
   '(--escapes)-e-:escape character:' \
Index: Completion/User/_lp
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/User/_lp,v
retrieving revision 1.4
diff -u -r1.4 _lp
--- Completion/User/_lp	2000/04/11 07:57:57	1.4
+++ Completion/User/_lp	2000/04/28 09:36:07
@@ -2,61 +2,8 @@
 
 local expl ret=1 printer list disp strs shown
 
-if (( ! $+_lp_cache )); then
-  local file entry names i
-
-   file=( /etc/(printcap|printers.conf)(N) )
-
-  _lp_cache=()
-  _lp_alias_cache=()
-
-  if (( $#file )); then
-    while read entry; do
-      if [[ "$entry" = [^[:blank:]\#\*_]*:* ]]; then
-        names=( "${(s:|:)entry%%:*}" )
-        if [[ "$entry" = *:description=* ]]; then
-          disp="${${entry##*:description=}%%:*}"
-        elif [[ $#names -gt 1 && "$names[-1]" = *\ * ]] ;then
-          disp="$names[-1]"
-        else
-          disp=''
-        fi
-        if [[ -n "$disp" ]]; then
-          _lp_cache=( "$_lp_cache[@]" "${names[1]}:${disp}" )
-  	_lp_alias_cache=( "$_lp_alias_cache[@]" "${(@)^names[2,-1]:#*\ *}:${disp}" )
-        else
-          _lp_cache=( "$_lp_cache[@]" "${names[1]}" )
-  	_lp_alias_cache=( "$_lp_alias_cache[@]" "${(@)names[2,-1]:#*\ *}" )
-        fi
-      fi
-    done < $file[1]
-  fi
-  (( $#_lp_cache )) || _lp_cache=( 'lp0:Guessed default printer' )
-  (( $#_lp_alias_cache )) || unset _lp_alias_cache
-fi
-
 if compset -P -P || [[ "$words[CURRENT-1]" = -P ]]; then
-  if zstyle -T ":completion:${curcontext}:printers" verbose; then
-    zformat -a list ' -- ' "$_lp_cache[@]"
-    disp=(-ld list)
-  else
-    disp=()
-  fi
-  _wanted printers expl printer \
-      compadd "$disp[@]" - "${(@)_lp_cache%%:*}" && return 0
-
-  (( $+_lp_alias_cache )) || return 1
-
-  if zstyle -T ":completion:${curcontext}:printers" verbose; then
-    zformat -a list ' -- ' "$_lp_alias_cache[@]"
-    disp=(-ld list)
-  else
-    disp=()
-  fi
-  _wanted printers expl printer \
-      compadd "$disp[@]" - "${(@)_lp_alias_cache%%:*}" && return 0
-
-  return 1
+  _printers
 else
   if [[ "${words[1]:t}" = (lpq|lprm) ]]; then
     if [[ "$words" = *-P* ]]; then
--- /dev/null	Wed May  6 05:32:27 1998
+++ Completion/User/_printers	Fri Apr 28 18:34:04 2000
@@ -0,0 +1,58 @@
+#autoload
+
+local expl ret=1 list disp
+
+if (( ! $+_lp_cache )); then
+  local file entry names i
+
+   file=( /etc/(printcap|printers.conf)(N) )
+
+  _lp_cache=()
+  _lp_alias_cache=()
+
+  if (( $#file )); then
+    while read entry; do
+      if [[ "$entry" = [^[:blank:]\#\*_]*:* ]]; then
+        names=( "${(s:|:)entry%%:*}" )
+        if [[ "$entry" = *:description=* ]]; then
+          disp="${${entry##*:description=}%%:*}"
+        elif [[ $#names -gt 1 && "$names[-1]" = *\ * ]] ;then
+          disp="$names[-1]"
+        else
+          disp=''
+        fi
+        if [[ -n "$disp" ]]; then
+          _lp_cache=( "$_lp_cache[@]" "${names[1]}:${disp}" )
+  	_lp_alias_cache=( "$_lp_alias_cache[@]" "${(@)^names[2,-1]:#*\ *}:${disp}" )
+        else
+          _lp_cache=( "$_lp_cache[@]" "${names[1]}" )
+  	_lp_alias_cache=( "$_lp_alias_cache[@]" "${(@)names[2,-1]:#*\ *}" )
+        fi
+      fi
+    done < $file[1]
+  fi
+  (( $#_lp_cache )) || _lp_cache=( 'lp0:Guessed default printer' )
+  (( $#_lp_alias_cache )) || unset _lp_alias_cache
+fi
+
+if zstyle -T ":completion:${curcontext}:printers" verbose; then
+  zformat -a list ' -- ' "$_lp_cache[@]"
+  disp=(-ld list)
+else
+  disp=()
+fi
+_wanted printers expl printer \
+    compadd "$disp[@]" - "${(@)_lp_cache%%:*}" && return 0
+
+(( $+_lp_alias_cache )) || return 1
+
+if zstyle -T ":completion:${curcontext}:printers" verbose; then
+  zformat -a list ' -- ' "$_lp_alias_cache[@]"
+  disp=(-ld list)
+else
+  disp=()
+fi
+_wanted printers expl printer \
+    compadd "$disp[@]" - "${(@)_lp_alias_cache%%:*}" && return 0
+
+return 1
-- 
Tanaka Akira


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-04-28  9:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-04-27 15:47 PATCH: _enscript Tanaka Akira
2000-04-28  9:49 ` Tanaka Akira

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).