summaryrefslogtreecommitdiff
path: root/Completion/User/_lp
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/User/_lp')
-rw-r--r--Completion/User/_lp55
1 files changed, 1 insertions, 54 deletions
diff --git a/Completion/User/_lp b/Completion/User/_lp
index 60cf8cfd0..844178169 100644
--- a/Completion/User/_lp
+++ b/Completion/User/_lp
@@ -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