summary refs log tree commit diff
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