Change summary
dist/wt | 54 +++++++++++++++++++++++++++++++++++++++++++-------
src/main.lua | 16 +++++++-------
src/wt/exit.lua | 15 ++++++++++++++
3 files changed, 69 insertions(+), 16 deletions(-)
Detailed changes
@@ -7,16 +7,54 @@
-- AUTO-GENERATED FILE - Do not edit directly
-- Edit src/*.lua and run 'make dist' to regenerate
+-- Embedded module loader
+local _EMBEDDED_MODULES = {}
+local _LOADED_MODULES = {}
+local _real_require = require
+
+local function _embedded_require(name)
+ if _LOADED_MODULES[name] then
+ return _LOADED_MODULES[name]
+ end
+ if _EMBEDDED_MODULES[name] then
+ local loader = load(_EMBEDDED_MODULES[name], name)
+ if loader then
+ local result = loader()
+ _LOADED_MODULES[name] = result or true
+ return _LOADED_MODULES[name]
+ end
+ end
+ return _real_require(name)
+end
+require = _embedded_require
+
+_EMBEDDED_MODULES["wt.exit"] = [[-- SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
+--
+-- SPDX-License-Identifier: GPL-3.0-or-later
+
+---@class wt.exit
+---@field EXIT_SUCCESS integer
+---@field EXIT_USER_ERROR integer
+---@field EXIT_SYSTEM_ERROR integer
+local M = {}
+
+M.EXIT_SUCCESS = 0
+M.EXIT_USER_ERROR = 1
+M.EXIT_SYSTEM_ERROR = 2
+
+return M
+]]
+
if _VERSION < "Lua 5.2" then
io.stderr:write("error: wt requires Lua 5.2 or later\n")
os.exit(1)
end
--- Exit codes
-local EXIT_SUCCESS = 0
-local EXIT_USER_ERROR = 1
-local EXIT_SYSTEM_ERROR = 2
+local exit = require("wt.exit")
+local EXIT_SUCCESS = exit.EXIT_SUCCESS
+local EXIT_USER_ERROR = exit.EXIT_USER_ERROR
+local EXIT_SYSTEM_ERROR = exit.EXIT_SYSTEM_ERROR
---Execute command, return output and exit code
---@param cmd string
@@ -1966,10 +2004,10 @@ if pcall(debug.getlocal, 4, 1) then
-- Command execution (for integration tests)
run_cmd = run_cmd,
run_cmd_silent = run_cmd_silent,
- -- Exit codes
- EXIT_SUCCESS = EXIT_SUCCESS,
- EXIT_USER_ERROR = EXIT_USER_ERROR,
- EXIT_SYSTEM_ERROR = EXIT_SYSTEM_ERROR,
+ -- Exit codes (re-exported from wt.exit)
+ EXIT_SUCCESS = exit.EXIT_SUCCESS,
+ EXIT_USER_ERROR = exit.EXIT_USER_ERROR,
+ EXIT_SYSTEM_ERROR = exit.EXIT_SYSTEM_ERROR,
}
end
@@ -9,10 +9,10 @@ if _VERSION < "Lua 5.2" then
os.exit(1)
end
--- Exit codes
-local EXIT_SUCCESS = 0
-local EXIT_USER_ERROR = 1
-local EXIT_SYSTEM_ERROR = 2
+local exit = require("wt.exit")
+local EXIT_SUCCESS = exit.EXIT_SUCCESS
+local EXIT_USER_ERROR = exit.EXIT_USER_ERROR
+local EXIT_SYSTEM_ERROR = exit.EXIT_SYSTEM_ERROR
---Execute command, return output and exit code
---@param cmd string
@@ -1962,10 +1962,10 @@ if pcall(debug.getlocal, 4, 1) then
-- Command execution (for integration tests)
run_cmd = run_cmd,
run_cmd_silent = run_cmd_silent,
- -- Exit codes
- EXIT_SUCCESS = EXIT_SUCCESS,
- EXIT_USER_ERROR = EXIT_USER_ERROR,
- EXIT_SYSTEM_ERROR = EXIT_SYSTEM_ERROR,
+ -- Exit codes (re-exported from wt.exit)
+ EXIT_SUCCESS = exit.EXIT_SUCCESS,
+ EXIT_USER_ERROR = exit.EXIT_USER_ERROR,
+ EXIT_SYSTEM_ERROR = exit.EXIT_SYSTEM_ERROR,
}
end
@@ -0,0 +1,15 @@
+-- SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
+--
+-- SPDX-License-Identifier: GPL-3.0-or-later
+
+---@class wt.exit
+---@field EXIT_SUCCESS integer
+---@field EXIT_USER_ERROR integer
+---@field EXIT_SYSTEM_ERROR integer
+local M = {}
+
+M.EXIT_SUCCESS = 0
+M.EXIT_USER_ERROR = 1
+M.EXIT_SYSTEM_ERROR = 2
+
+return M