1#autoload
2
3local expl
4
5_tags extensions || return 1
6
7(( $+_xe_cache )) || _xe_cache=( "${(@)${(@f)$(xdpyinfo)}[(r)number of extensions:*,-1][2,(r)default screen number:*][1,-2]//[      ]}" )
8
9if [[ "$1" = -a ]]; then
10  shift
11
12  _wanted extensions expl 'X extension' \
13      compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - all "$_xe_cache[@]"
14else
15  [[ "$1" = - ]] && shift
16
17  _wanted extensions expl 'X extension' \
18      compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a - _xe_cache
19fi
20