aboutsummaryrefslogtreecommitdiff
path: root/nomsu.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nomsu.lua')
-rw-r--r--nomsu.lua23
1 files changed, 10 insertions, 13 deletions
diff --git a/nomsu.lua b/nomsu.lua
index 3d78dd1..bd1ee85 100644
--- a/nomsu.lua
+++ b/nomsu.lua
@@ -91,8 +91,6 @@ do
local _obj_0 = require("code_obj")
NomsuCode, LuaCode, Source = _obj_0.NomsuCode, _obj_0.LuaCode, _obj_0.Source
end
-local repr
-repr = require("utils").repr
if not arg or debug.getinfo(2).func == require then
return NomsuCompiler
end
@@ -135,8 +133,7 @@ end
local nomsu = NomsuCompiler
nomsu.environment.arg = NomsuCompiler.environment._List(args.nomsu_args)
if args.version then
- nomsu:run([[use "core"
-say (Nomsu version)]])
+ nomsu:run([[(: use "core"; say (Nomsu version))]])
os.exit(EXIT_SUCCESS)
end
FILE_CACHE = setmetatable({ }, {
@@ -185,11 +182,7 @@ run = function()
return true
end
if not (args.no_core) then
- for _, filename in Files.walk('core') do
- if filename:match("%.nom$") then
- nomsu:import(nomsu:run_file(filename))
- end
- end
+ nomsu:import_file('core')
end
local get_file_and_source
get_file_and_source = function(filename)
@@ -282,8 +275,8 @@ run = function()
if not (args.primary_file or args.exec_strings) then
nomsu:run([[#!/usr/bin/env nomsu -V4
use "lib/consolecolor.nom"
-action [quit, exit]: lua> "os.exit(0)"
-action [help]:
+[quit, exit] all mean: lua> "os.exit(0)"
+(help) means:
say "\
..This is the Nomsu v\(Nomsu version) interactive console.
You can type in Nomsu code here and hit 'enter' twice to run it.
@@ -322,9 +315,13 @@ say "\
return Errhand.print_error(error_message)
end
local ret
- ok, ret = xpcall(nomsu.run, err_hand, nomsu, buff, Source(pseudo_filename, 1, #buff))
+ ok, ret = xpcall(nomsu.run, err_hand, nomsu, NomsuCode(Source(pseudo_filename, 1, #buff), buff))
if ok and ret ~= nil then
- print("= " .. repr(ret))
+ if type(ret) == 'number' then
+ print("= " .. tostring(ret))
+ else
+ print("= " .. tostring(ret:as_nomsu()))
+ end
elseif not ok then
Errhand.print_error(ret)
end