#autoload local expl if (( ! $+_cursor_cache )); then local file file=( /usr/{include,{{X11R6,openwin},local{,/X11{,R6}}}/include}/X11/cursorfont.h(N) ) if (( $#file )); then _cursor_cache=( "${(@)${(@)${(M@)${(@f)$(< $file[1])}:#*XC_*}[2,-1]#* XC_}% *}" ) else _cursor_cache=( X_cursor ) fi fi _wanted cursors expl 'cursor name' \ compadd "$@" -M 'm:-=_ r:|_=*' - "$_cursor_cache[@]"