summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMarc Cornellà <marc@mcornella.com>2024-09-05 12:07:18 +0200
committerGitHub <noreply@github.com>2024-09-05 12:07:18 +0200
commite50dd3417c8b9e072593b6c14473e1360bd88b02 (patch)
tree40d445c1abfa67e87ebf3b3a0f8c1b3f2e497efb /plugins
parentab3d42a34cd0600b723de0accc248632f2dcf4e3 (diff)
downloadzsh-e50dd3417c8b9e072593b6c14473e1360bd88b02.tar.gz
zsh-e50dd3417c8b9e072593b6c14473e1360bd88b02.tar.bz2
zsh-e50dd3417c8b9e072593b6c14473e1360bd88b02.zip
feat(extract): add support for `.crx` (Chrome extension format) (#12652)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/extract/_extract49
-rw-r--r--plugins/extract/extract.plugin.zsh2
2 files changed, 49 insertions, 2 deletions
diff --git a/plugins/extract/_extract b/plugins/extract/_extract
index 56b17058f..0b43e86bc 100644
--- a/plugins/extract/_extract
+++ b/plugins/extract/_extract
@@ -1,7 +1,54 @@
#compdef extract
#autoload
+local -a exts=(
+ 7z
+ aar
+ apk
+ bz2
+ cab
+ cpio
+ crx
+ deb
+ ear
+ gz
+ ipa
+ ipsw
+ jar
+ lrz
+ lz4
+ lzma
+ obscpio
+ rar
+ rpm
+ sublime-package
+ tar
+ tar.bz2
+ tar.gz
+ tar.lrz
+ tar.lz
+ tar.lz4
+ tar.xz
+ tar.zma
+ tar.zst
+ tbz
+ tbz2
+ tgz
+ tlz
+ txz
+ tzst
+ vsix
+ war
+ whl
+ xpi
+ xz
+ Z
+ zip
+ zpaq
+ zst
+)
+
_arguments \
'(-r --remove)'{-r,--remove}'[Remove archive.]' \
- "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|cab|cpio|deb|ear|gz|ipa|ipsw|jar|lrz|lz4|lzma|obscpio|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.lrz|tar.lz|tar.lz4|tar.xz|tar.zma|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst|zpaq)(-.)'" \
+ "*::archive file:_files -g '(#i)*.(${(j:|:)exts})(-.)'" \
&& return 0
diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh
index f2eebf4d6..aa3fd00e6 100644
--- a/plugins/extract/extract.plugin.zsh
+++ b/plugins/extract/extract.plugin.zsh
@@ -76,7 +76,7 @@ EOF
(*.lz4) lz4 -d "$full_path" ;;
(*.lzma) unlzma "$full_path" ;;
(*.z) uncompress "$full_path" ;;
- (*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix) unzip "$full_path" ;;
+ (*.zip|*.war|*.jar|*.ear|*.sublime-package|*.ipa|*.ipsw|*.xpi|*.apk|*.aar|*.whl|*.vsix|*.crx) unzip "$full_path" ;;
(*.rar) unrar x -ad "$full_path" ;;
(*.rpm)
rpm2cpio "$full_path" | cpio --quiet -id ;;