diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2017-09-21 21:15:37 -0700 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2017-09-21 21:15:37 -0700 |
| commit | 0489456a4efa512677dd7d27f1ca5b90b19c6a68 (patch) | |
| tree | 5b0ddaf83978cadfd935f2758f41552da977ea40 /nomsu.moon | |
| parent | 26d72ce56ed1e9066edfbb3fedd8f5570d0cb5f4 (diff) | |
Fixed lua block vars.
Diffstat (limited to 'nomsu.moon')
| -rwxr-xr-x | nomsu.moon | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -536,13 +536,15 @@ class NomsuCompiler -- Sets up some core functionality @defmacro "lua block %lua_code", (vars, kind)=> if kind == "Expression" then error("Expected to be in statement.") - inner_vars = setmetatable({}, {__index:(_,key)-> error"vars[#{repr(key)}]"}) - return "do\n"..@tree_to_value(vars.lua_code, inner_vars).."\nend", true + inner_vars = setmetatable({}, {__index:(_,key)-> "vars[#{repr(key)}]"}) + lua = @tree_to_value(vars.lua_code, inner_vars) + return "do\n#{lua}\nend", true @defmacro "lua expr %lua_code", (vars, kind)=> lua_code = vars.lua_code.value - inner_vars = setmetatable({}, {__index:(_,key)-> error"vars[#{repr(key)}]"}) - return @tree_to_value(vars.lua_code, inner_vars) + inner_vars = setmetatable({}, {__index:(_,key)-> "vars[#{repr(key)}]"}) + lua = @tree_to_value(vars.lua_code, inner_vars) + return lua @def "require %filename", (vars)=> if not @loaded_files[vars.filename] |
