about summary refs log tree commit diff
path: root/Completion/Core/_ignored
blob: 4046f4c2d6e8a2adf8e6f911d5981c26ad18d41d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#autoload

# Use ignored matches.

(( $compstate[ignored] )) || return 1

local comp i _comp_no_ignore=yes tmp expl

zstyle -a ":completion:${curcontext}:" completer comp ||
  comp=( "${(@)_completers[1,_completer_num-1][(R)_ignored(|:*),-1]}" )

for i in "$comp[@]"; do
  if [[ "$i" != _ignored ]] && "$i"; then
    if zstyle -s ":completion:${curcontext}:" single-ignored tmp &&
       [[ $compstate[old_list] != shown && $compstate[nmatches] -eq 1 ]]; then
      case "$tmp" in
      show) compstate[insert]='' compstate[list]='list force' tmp='' ;;
      menu)
        compstate[insert]=menu
        _description original expl original    
        compadd "$expl[@]" -S '' - "$PREFIX$SUFFIX"
        ;;
      *) tmp='' ;;
      esac
    fi

    return 0
  fi
done

return 1