diff options
-rw-r--r-- | Completion/X/Type/_x_extension | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Completion/X/Type/_x_extension b/Completion/X/Type/_x_extension new file mode 100644 index 000000000..d1a299e8b --- /dev/null +++ b/Completion/X/Type/_x_extension @@ -0,0 +1,19 @@ +#autoload + +local expl + +_tags 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 + + _wanted extensions expl 'X extensions' \ + compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - all "$_xe_cache[@]" +else + [[ "$1" = - ]] && shift + + _wanted extensions expl 'X extensions' \ + compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a _xe_cache +fi |