From fb19d1af1155fa45a04b1f68b2254da551a3e780 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Mon, 14 Jan 2019 17:59:39 -0800 Subject: Fix for nomsu -v foo.lua, and made default nomsupath /opt/nomsu instead of /opt --- nomsu.lua | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'nomsu.lua') diff --git a/nomsu.lua b/nomsu.lua index 6f523c8..ff1e3fe 100644 --- a/nomsu.lua +++ b/nomsu.lua @@ -127,7 +127,7 @@ if NOMSU_VERSION and NOMSU_PREFIX then else add_path("./lib") end -local NOMSU_PACKAGEPATH = NOMSU_PACKAGEPATH or "/opt" +local NOMSU_PACKAGEPATH = NOMSU_PACKAGEPATH or "/opt/nomsu" add_path(NOMSU_PACKAGEPATH) add_path(".") package.nomsupath = table.concat(nomsupath, ";") @@ -203,24 +203,30 @@ run = function() print(("Compiled %-25s -> %s"):format(filename, filename:gsub("%.nom$", ".lua"))) output:close() elseif args.verbose then - local code = Files.read(filename) - local source = Source(filename, 1, #code) - code = NomsuCode:from(source, code) local env = nomsu_environment.new_environment() env.MODULE_NAME = filename env.WAS_RUN_DIRECTLY = true - local tree = env._1_parsed(code) - if not (tree.type == 'FileChunks') then - tree = { - tree - } - end - for chunk_no, chunk in ipairs(tree) do - local lua = env:compile(chunk) - lua:declare_locals() - lua:prepend((chunk_no > 1) and '\n' or '', "-- File " .. tostring(filename) .. " chunk #" .. tostring(chunk_no) .. "\n") - print(lua:text()) - env:run(lua) + local code = Files.read(filename) + local source = Source(filename, 1, #code) + if filename:match("%.lua$") then + code = LuaCode:from(Source(filename, 1, #code), code) + print(code:text()) + env:run(code) + else + code = NomsuCode:from(source, code) + local tree = env._1_parsed(code) + if not (tree.type == 'FileChunks') then + tree = { + tree + } + end + for chunk_no, chunk in ipairs(tree) do + local lua = env:compile(chunk) + lua:declare_locals() + lua:prepend((chunk_no > 1) and '\n' or '', "-- File " .. tostring(filename) .. " chunk #" .. tostring(chunk_no) .. "\n") + print(lua:text()) + env:run(lua) + end end else local f = Files.read(filename) -- cgit v1.2.3