diff options
Diffstat (limited to 'Completion/X/_x_keysym')
-rw-r--r-- | Completion/X/_x_keysym | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Completion/X/_x_keysym b/Completion/X/_x_keysym new file mode 100644 index 000000000..6b031014a --- /dev/null +++ b/Completion/X/_x_keysym @@ -0,0 +1,20 @@ +#autoload + +local expl + +if (( ! $+_keysym_cache )); then + local file + + file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/keysymdef.h(N) ) + + if (( $#file )); then + _keysym_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#\#define[ ]##XK_*}#\#define[ ]##XK_}%%[ ]*}" ) + else + _keysym_cache=( BackSpace Tab Linefeed Clear Return Pause Escape + Delete Left Right Up Down Space Home Begin End + F{1,2,3,4,5,6,7,8,9,10,11,12} ) + fi +fi + +_description expl 'key symbol' +compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - $_keysym_cache |