From 93fb9aaec51f597a9a19b06764f005952e447e54 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Fri, 5 May 2000 10:08:25 +0000 Subject: Use one function for compression/decompression programs and new lzop completion --- Completion/User/_compress | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) (limited to 'Completion/User/_compress') diff --git a/Completion/User/_compress b/Completion/User/_compress index 860aeb5b0..288bb1645 100644 --- a/Completion/User/_compress +++ b/Completion/User/_compress @@ -1,3 +1,45 @@ -#defcomp compress +#compdef compress uncompress -_files -g '*~*.Z' +local expl state line bits common_args1 common_args2 decompress +typeset -A opt_args +bits=( {9..16} ) + +common_args1=( \ + '-n[omit compressed file header from compressed file]' \ + '-V[display current version and compile options]' \ + '*:files:->files') +common_args2=( \ + '-c[write on standard output]' \ + '(-F)-f[force overwrite]' \ + '(-f)-F[force overwrite]' \ + '(-v)-q[suppress display of compression statistics]' \ + '(-q)-v[display compression statistics]' \ + "${common_args1[@]}" ) + +case "${words[1]:t}" in + compress) + _arguments -s \ + "-b[specify maximum number of bits used to replace common substring]:bits:(${bits[*]})" \ + '-C[produce output compatible with BSD 2.0]' \ + '(-b -C)-d[decompress]' \ + "${common_args2[@]}" + ;; + uncompress) + _arguments -s "${common_args2[@]}" + decompress=yes + ;; + zcat) + _arguments -s "${common_args1[@]}" + decompress=yes + ;; +esac + +if [[ "$state" = files ]]; then + if [[ -z "$decompress" ]] || (( $+opt_args[-d] )); then + _description files expl 'file to compress' + _files "$expl[@]" -g '*~*.Z' + else + _description files expl 'compressed file' + _files "$expl[@]" -g '*.Z' + fi +fi -- cgit 1.4.1