about summary refs log tree commit diff
path: root/Functions/Completion/__tar
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/Completion/__tar')
-rw-r--r--Functions/Completion/__tar14
1 files changed, 14 insertions, 0 deletions
diff --git a/Functions/Completion/__tar b/Functions/Completion/__tar
new file mode 100644
index 000000000..4f8b51a00
--- /dev/null
+++ b/Functions/Completion/__tar
@@ -0,0 +1,14 @@
+#function tar
+
+local nm=$NMATCHES tf="$2"
+compsave
+
+if [[ ( -mword 1 *t*f* || -mword 1 *x*f* ) && -position 3 100000 ]]; then
+  complist -k "( $(tar tf $tf) )"
+  compreset
+elif [[ -mword 1 *c*f* && -position 3 100000 ]]; then
+  __files
+  compreset
+elif [[ -mcurrent -1 *f* && -position 2 ]]; then
+  __files -g '*.(tar|TAR)'
+fi