Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PATCH: _enscript



In article <hvoya5za6l5.fsf@xxxxxxxxxxxxxxx>,
  Tanaka Akira <akr@xxxxxxxx> 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



Messages sorted by: Reverse Date, Date, Thread, Author