35 lines
967 B
Plaintext
35 lines
967 B
Plaintext
#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)"$( _call_program languages command osalang )"} \
|
|
&& 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
|