Parent directory

_extract

598 bytes
 1#compdef extract
 2#autoload
 3
 4local -a exts=(
 5  7z
 6  aar
 7  apk
 8  bz2
 9  cab
10  cpio
11  crx
12  deb
13  ear
14  gz
15  ipa
16  ipsw
17  jar
18  lrz
19  lz4
20  lzma
21  obscpio
22  pk3
23  pk4
24  pk7
25  rar
26  rpm
27  sublime-package
28  tar
29  tar.bz2
30  tar.gz
31  tar.lrz
32  tar.lz
33  tar.lz4
34  tar.xz
35  tar.zma
36  tar.zst
37  tbz
38  tbz2
39  tgz
40  tlz
41  txz
42  tzst
43  vsix
44  war
45  whl
46  xpi
47  xz
48  Z
49  zip
50  zpaq
51  zst
52)
53
54_arguments \
55  '(-r --remove)'{-r,--remove}'[Remove archive.]' \
56  '(-t --to-directory)'{-t,--to-directory}'[Extract to a specific directory.]' \
57  "*::archive file:_files -g '(#i)*.(${(j:|:)exts})(-.)'" \
58    && return 0