about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Completion/X/Type/_x_cursor18
1 files changed, 18 insertions, 0 deletions
diff --git a/Completion/X/Type/_x_cursor b/Completion/X/Type/_x_cursor
new file mode 100644
index 000000000..5346710d7
--- /dev/null
+++ b/Completion/X/Type/_x_cursor
@@ -0,0 +1,18 @@
+#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:|_=*' -a _cursor_cache