Open Myaamori opened 5 years ago
It turns out that MoonScript already provides a loadstring function that can be accessed from automations. However, actually running it (or moonscript.to_lua) from an automation results in the following error:
Lua reported a runtime error:
File "/home/x/playground/subs/automation/aoi.ScriptHandler.moon", line 103
<anonymous function at lines 94-95>
File "/home/x/playground/subs/automation/aoi.ScriptHandler.moon", line 77
run_script
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4954
loadstring
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4941
to_lua
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4880
string
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4844
file_parser
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4748
build_grammar
File "<C function>", line -1
?
rule 'version' is not a pattern
Compiling Aegisub against a more recent version of LPeg results in a slightly different error:
Lua reported a runtime error:
File "/home/x/playground/subs/automation/aoi.ScriptHandler.moon", line 105
<anonymous function at lines 96-97>
File "/home/x/playground/subs/automation/aoi.ScriptHandler.moon", line 77
run_script
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4941
to_lua
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4880
string
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4844
file_parser
File "/usr/share/aegisub/automation/include/moonscript.lua", line 4748
build_grammar
File "<C function>", line -1
?
grammar has no initial rule
The code resulting in the error is
moonscript.to_lua 'aegisub.log "test\n"'
Additionally, it would be good if the fact that the moonscript modules are all preloaded when running automations was documented.
Aegisub should expose some way of parsing MoonScript from an automation, e.g. by providing a function similar to Lua's loadstring, but for a string of MoonScript code.