Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: _enscript
- X-seq: zsh-workers 11001
- From: Tanaka Akira <akr@xxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Re: PATCH: _enscript
- Date: 28 Apr 2000 18:49:26 +0900
- In-reply-to: <hvoya5za6l5.fsf@xxxxxxxxxxxxxxx> (Tanaka Akira's message of "28 Apr 2000 00:47:50 +0900")
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
- References: <hvoya5za6l5.fsf@xxxxxxxxxxxxxxx>
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