about summary refs log tree commit diff
path: root/Completion/X/_x_extension
blob: 9321f4951af235312a32a38e2ec315cd26e157c4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#autoload

local expl

_wanted extensions expl 'X extensions' || return 1

(( $+_xe_cache )) || _xe_cache=( "${(@)${(@f)$(xdpyinfo)}[(r)number of extensions:*,-1][2,(r)default screen number:*][1,-2]//[      ]}" )

if [[ "$1" = -a ]]; then
  shift

  compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - all "$_xe_cache[@]"
else
  [[ "$1" = - ]] && shift

  compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - "$_xe_cache[@]"
fi