about summary refs log tree commit diff
path: root/Completion/Core/_requested
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Core/_requested')
-rw-r--r--Completion/Core/_requested21
1 files changed, 16 insertions, 5 deletions
diff --git a/Completion/Core/_requested b/Completion/Core/_requested
index 082c45820..bd838a28e 100644
--- a/Completion/Core/_requested
+++ b/Completion/Core/_requested
@@ -1,9 +1,20 @@
 #autoload
 
-local tag tname="$funcstack[2,-1]"
+local gopt=-J
 
-for tag; do
-  [[ "${_cur_tags[${tname}]}" = *:${tag}(:|\[*\]:)* ]] && return 0
-done
+if [[ "$1" = -([12]|)[VJ] ]]; then
+  gopt="$1"
+  shift
+fi
 
-return 1
+if comptags -R "$1"; then
+  _comp_tags="$_comp_tags $1"
+  if [[ $# -gt 3 ]]; then
+    _all_labels "$gopt" "$@"
+  elif [[ $# -gt 1 ]]; then
+    _description "$gopt" "$@"
+  fi
+  return 0
+else
+  return 1
+fi