diff --git a/dist/wt b/dist/wt index deac93ddee43935b556e80173c21a06a3f70b2a8..6e23f3c38462a3590a1309fa688d24b331ce94f2 100755 --- a/dist/wt +++ b/dist/wt @@ -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 +-- +-- 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 diff --git a/src/main.lua b/src/main.lua index 11ecf0457875be171c45faf1075f9393a0c88803..cf218001374ffa9aa555b489711eae7f44a31cd5 100644 --- a/src/main.lua +++ b/src/main.lua @@ -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 diff --git a/src/wt/exit.lua b/src/wt/exit.lua new file mode 100644 index 0000000000000000000000000000000000000000..ba316bc6073f3da7ec477a635a1918e449cbb928 --- /dev/null +++ b/src/wt/exit.lua @@ -0,0 +1,15 @@ +-- SPDX-FileCopyrightText: Amolith +-- +-- 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