blob: e8d47fcdb3860145399d0accfa5b39036dc47639 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
#compdef lha
local expl
if (( CURRENT == 2 )); then
compset -P -
local lhacmds
lhacmds=(
'( x l v u d m c p t)a[add \(or replace\) to archive]'
'(a l v u d m c p t)x[extract from archive]'
'(a x v u d m c p t)l[list]'
'(a x l u d m c p t)v[verbose List]'
'(a x l v d m c p t)u[update newer files to archive]'
'(a x l v u m c p t)d[delete from archive]'
'(a x l v u d c p t)m[move to archive]'
'(a x l v u d m p t)c[re-construct new archive]'
'(a x l v u d m c t)p[print to stdout from archive]'
'(a x l v u d m c p )t[test file CRC in archive]'
)
if [ "${words[2]#-}" != "" ]; then
lhacmds=($lhacmds
'v[verbose]'
'q[quiet]'
'n[not execute]'
'f[force\(over write at extract\)]'
't[files are text files]'
'e[text code convert from/to EUC]'
'g[use generic format \(for compatibility\)]'
)
case ${words[2]#-} in
a*|u*)
lhacmds=($lhacmds
'd[delete files after]'
"z[don't compress files]"
'( 1 2)0[header level 0]'
'(0 2)1[header level 1]'
'(0 1 )2[header level 2]'
)
;;
c*)
lhacmds=($lhacmds 'd[delete files after]')
;;
x*)
lhacmds=($lhacmds 'i[ignore directory path]')
;;
esac
fi
_values -s '' 'lha command' $lhacmds
elif (( CURRENT == 3 )); then
_wanted files expl 'lha file' _files -g '*.lzh(-.)'
else
case ${words[2]#-} in
l*|x*|d*)
if [ -f "$words[3]" ]; then
_lzh_cache_list=`$words[1] lq $words[3] | awk '{print $NF}'`
_lzh_cache_list=("${(@f)${_lzh_cache_list}}")
_wanted files expl 'file from archive' _multi_parts / _lzh_cache_list
else
_message -r "archive file is not found : ${words[3]}"
return 1
fi
;;
*)
_files
;;
esac
fi
|