about summary refs log tree commit diff
path: root/Completion/User/_gs_name
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/User/_gs_name')
-rw-r--r--Completion/User/_gs_name31
1 files changed, 31 insertions, 0 deletions
diff --git a/Completion/User/_gs_name b/Completion/User/_gs_name
new file mode 100644
index 000000000..3aef646eb
--- /dev/null
+++ b/Completion/User/_gs_name
@@ -0,0 +1,31 @@
+#autoload
+
+local expl
+
+if [[ "$1" = -d ]]; then
+  if [[ "$PREFIX" = *\=* ]]; then
+    _message 'systemdict definition value'
+  else
+    _description expl 'systemdict definition name'
+    compadd "$expl[@]" -M 'm:{a-z}={A-Z}' - \
+            DISKFONTS NOCACHE NOBIND NODISPLAY NOPAUSE PLATFONTS SAFER \
+            WRITESYSTEMDICT
+  fi
+elif compset -P '*\='; then
+  case "$IPREFIX" in
+  *DEVICE\=)
+    _description expl 'ghostscript device'
+    compadd "$expl[@]" - "${(@)${=${$(gs -h)##* devices:}%%Search path:*}:#}"
+    ;;
+  *OutputFile\=)
+    _description expl 'output file'
+    _files
+    ;;
+  *)
+    _message 'systemdict value'
+    return 1
+  esac
+else
+  _description expl 'systemdict name'
+  compadd "$expl[@]" -S\= -M 'm:{a-z}={A-Z}' - DEVICE OutputFile
+fi