about summary refs log tree commit diff
path: root/Completion/Core
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Core')
-rw-r--r--Completion/Core/.distfiles2
-rw-r--r--Completion/Core/_call13
2 files changed, 14 insertions, 1 deletions
diff --git a/Completion/Core/.distfiles b/Completion/Core/.distfiles
index 2925c6368..0c85315fb 100644
--- a/Completion/Core/.distfiles
+++ b/Completion/Core/.distfiles
@@ -1,6 +1,6 @@
 DISTFILES_SRC='
     .distfiles
-    _alternative _approximate _compalso _complete _correct _description
+    _alternative _approximate _call _compalso _complete _correct _description
     _expand _files _funcall _list _main_complete _match
     _menu _multi_parts _message _normal _oldlist _options
     _parameters _path_files _prefix _requested _sep_parts
diff --git a/Completion/Core/_call b/Completion/Core/_call
new file mode 100644
index 000000000..345dae50d
--- /dev/null
+++ b/Completion/Core/_call
@@ -0,0 +1,13 @@
+#autoload
+
+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