summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Completion/Base/Utility/_call_program13
1 files changed, 13 insertions, 0 deletions
diff --git a/Completion/Base/Utility/_call_program b/Completion/Base/Utility/_call_program
new file mode 100644
index 000000000..b038a80bc
--- /dev/null
+++ b/Completion/Base/Utility/_call_program
@@ -0,0 +1,13 @@
+#autoload +X
+
+local tmp
+
+if zstyle -s ":completion:${curcontext}:${1}" command tmp; then
+  if [[ "$tmp" = -* ]]; then
+    eval "$tmp[2,-1]" "$argv[2,-1]"
+  else
+    eval "$tmp"
+  fi
+else
+  eval "$argv[2,-1]"
+fi