diff options
Diffstat (limited to 'Completion/User/_lp')
-rw-r--r-- | Completion/User/_lp | 55 |
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 |