aboutsummaryrefslogtreecommitdiff
path: root/nomsu.moon
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2017-09-21 21:15:37 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2017-09-21 21:15:37 -0700
commit0489456a4efa512677dd7d27f1ca5b90b19c6a68 (patch)
tree5b0ddaf83978cadfd935f2758f41552da977ea40 /nomsu.moon
parent26d72ce56ed1e9066edfbb3fedd8f5570d0cb5f4 (diff)
Fixed lua block vars.
Diffstat (limited to 'nomsu.moon')
-rwxr-xr-xnomsu.moon10
1 files changed, 6 insertions, 4 deletions
diff --git a/nomsu.moon b/nomsu.moon
index ed4b955..604ea94 100755
--- a/nomsu.moon
+++ b/nomsu.moon
@@ -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]