aboutsummaryrefslogtreecommitdiffstats
path: root/src/_patool
diff options
context:
space:
mode:
Diffstat (limited to 'src/_patool')
-rw-r--r--src/_patool95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/_patool b/src/_patool
new file mode 100644
index 0000000..d132a6c
--- /dev/null
+++ b/src/_patool
@@ -0,0 +1,95 @@
+#compdef patool
+# ------------------------------------------------------------------------------
+# Copyright (c) 2017 Github zsh-users - http://github.com/zsh-users
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+# ------------------------------------------------------------------------------
+# Description
+# -----------
+#
+# Completion script for patool (https://github.com/wummel/patool).
+#
+# ------------------------------------------------------------------------------
+# Authors
+# -------
+#
+# * Sergei Eremenko (https://github.com/SmartFinn)
+#
+# ------------------------------------------------------------------------------
+
+local state line ret=1
+
+_arguments -C \
+ '(-h --help)'{-h,--help}'[show help message and exit]' \
+ '(--non-interactive)'--non-interactive'[do not query for user input]' \
+ '(-v --verbose)'{-v,--verbose}'[verbose operation]' \
+ '1:cmd:->cmds' \
+ '*:arg:->args' && ret=0
+
+case $state in
+ (cmds)
+ local -a cmds
+
+ cmds=(
+ 'create:create an archive from given files'
+ 'diff:show differences between two archives'
+ 'extract:extract files from given archives'
+ 'formats:show all supported archive formats'
+ 'list:list files in archives'
+ 'repack:repackage archive to a different format'
+ 'recompress:recompress an archive to smaller size'
+ 'search:search in archive contents for given pattern'
+ 'test:test the given archives'
+ )
+
+ _describe -t commands 'patool commands' cmds && ret=0
+ ;;
+ (args)
+ case $line[1] in
+ (extract)
+ _arguments \
+ '--outdir[extract to the given output directory]:select directory:_files -/' \
+ '*:files:_files' && ret=0
+ ;;
+ (formats)
+ _message 'no more arguments' && ret=0
+ ;;
+ (search)
+ _arguments \
+ '2:search pattern:' \
+ '*:files:_files' && ret=0
+ ;;
+ (*)
+ _arguments \
+ '*:files:_files' && ret=0
+ ;;
+ esac
+ ;;
+esac
+
+return $ret
+
+# Local Variables:
+# mode: Shell-Script
+# sh-indentation: 2
+# indent-tabs-mode: nil
+# sh-basic-offset: 2
+# End:
+# vim: ft=zsh sw=2 ts=2 et