aboutsummaryrefslogtreecommitdiff
path: root/nomsu.moon
diff options
context:
space:
mode:
Diffstat (limited to 'nomsu.moon')
-rwxr-xr-xnomsu.moon7
1 files changed, 7 insertions, 0 deletions
diff --git a/nomsu.moon b/nomsu.moon
index 43d21f1..03309b1 100755
--- a/nomsu.moon
+++ b/nomsu.moon
@@ -99,6 +99,7 @@ class NomsuCompiler
@initialize_core!
@write = (...)=> io.write(...)
@utils = utils
+ @loaded_files = {}
writeln:(...)=>
@write(...)
@@ -593,6 +594,12 @@ class NomsuCompiler
inner_vars = setmetatable({}, {__index:(_,key)-> "vars[#{utils.repr(key,true)}]"})
return @tree_to_value(vars.lua_code, inner_vars)
+ @def "require %filename", (vars)=>
+ if not @loaded_files[vars.filename]
+ file = io.open(vars.filename)
+ @loaded_files[vars.filename] = @run(file\read('*a'))
+ return @loaded_files[vars.filename]
+
@def "run file %filename", (vars)=>
file = io.open(vars.filename)
return @run(file\read('*a'))