about summary refs log tree commit diff
path: root/Completion/Core/_description
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Core/_description')
-rw-r--r--Completion/Core/_description13
1 files changed, 10 insertions, 3 deletions
diff --git a/Completion/Core/_description b/Completion/Core/_description
index 6ee1026bd..9ea478ec5 100644
--- a/Completion/Core/_description
+++ b/Completion/Core/_description
@@ -29,9 +29,16 @@ zstyle -s ":completion:${curcontext}:$1" matcher match &&
     opts=($opts -M "${(q)match}")
 [[ -n "$_matcher" ]] && opts=($opts -M "${(q)_matcher}")
 
-if [[ -z "$_comp_no_ignore" ]] &&
-   zstyle -a ":completion:${curcontext}:$1" ignored-patterns _comp_ignore; then
-  opts=( $opts -F _comp_ignore )
+if [[ -z "$_comp_no_ignore" ]]; then
+  if zstyle -a ":completion:${curcontext}:$1" ignored-patterns _comp_ignore; then
+    opts=( $opts -F _comp_ignore )
+    zstyle -t ":completion:${curcontext}:$1" ignore-line &&
+        _comp_ignore=( "$_comp_ignore[@]" "$words[@]}" )
+  elif zstyle -t ":completion:${curcontext}:$1" ignore-line; then
+    _comp_ignore=( "$words[@]}]" )
+  else
+    _comp_ignore=()
+  fi
 else
   _comp_ignore=()
 fi