summary refs log tree commit diff
path: root/Completion/Darwin/Command/_osascript
diff options
context:
space:
mode:
authordana <dana@dana.is>2018-01-05 14:26:17 -0600
committerOliver Kiddle <opk@zsh.org>2018-01-06 00:13:51 +0100
commit0f0b602415961aa9ca069c9719a0fbb4bbb9941f (patch)
tree03001cfaf7ed12c26a354a996f52c4920d08cb76 /Completion/Darwin/Command/_osascript
parent0c5f851021b3aacea96d9ca446282b8dab9f260d (diff)
downloadzsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.tar.gz
zsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.tar.xz
zsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.zip
42231: new completion functions for simple utilities belonging to the 'Darwin' and 'Linux' groups.
Diffstat (limited to 'Completion/Darwin/Command/_osascript')
-rw-r--r--Completion/Darwin/Command/_osascript34
1 files changed, 34 insertions, 0 deletions
diff --git a/Completion/Darwin/Command/_osascript b/Completion/Darwin/Command/_osascript
new file mode 100644
index 000000000..5e4a5f70c
--- /dev/null
+++ b/Completion/Darwin/Command/_osascript
@@ -0,0 +1,34 @@
+#compdef osascript
+
+local ret=1
+local -a context line state state_descr tmp
+local -A opt_args val_args
+
+_arguments -s -S : \
+  '-l+[specify script language]: :->languages' \
+  '(:)*-e+[execute specified line of script]:script' \
+  '-i[run interactively]' \
+  '*-s+[specify output style]: :->modifiers' \
+  '(-e)1:script file:_files' \
+&& ret=0
+
+case $state in
+  languages)
+    # So far, the three languages specified here are the only ones supported,
+    # but adding the output of osalang makes this future-proof
+    _values 'script language' \
+      AppleScript JavaScript 'Generic Scripting System' \
+      ${(f)"$( command osalang 2> /dev/null )"} \
+    && ret=0
+    ;;
+  modifiers)
+    _values -S '' 'output modifier flag' \
+      'h[print values in human-readable form]' \
+      's[print values in recompilable source form]' \
+      'e[print script errors to stderr]' \
+      'o[print script errors to stdout]' \
+    && ret=0
+    ;;
+esac
+
+return ret