diff --git a/data/computercraft/lua/rom/modules/auto_require.lua b/data/computercraft/lua/rom/modules/auto_require.lua deleted file mode 100644 index 318def4..0000000 --- a/data/computercraft/lua/rom/modules/auto_require.lua +++ /dev/null @@ -1,69 +0,0 @@ --- auto_require.lua: Automatically require libraries when accessed - --- Save the original require function -local original_require = require - --- List of common libraries to auto-require -local common_libs = { - "rc", "fs", "term", "colors", "textutils", "window", - "keys", "peripheral", "redstone", "rs", "monitor", - "modem", "http", "json", "image", "paint", "sound" -} - --- Pre-load common libraries into a cache -local lib_cache = {} -for _, lib_name in ipairs(common_libs) do - local success, lib = pcall(original_require, lib_name) - if success then - lib_cache[lib_name] = lib - end -end - --- Create a new environment with auto-require functionality -local auto_env = setmetatable({}, { - __index = function(_, key) - -- Check if the key exists in the global environment - local val = rawget(_G, key) - if val ~= nil then - return val - end - - -- Check if the key is in our pre-loaded cache - if lib_cache[key] then - return lib_cache[key] - end - - -- Try to require the module using the original require function - local success, lib = pcall(original_require, key) - if success then - lib_cache[key] = lib - return lib - end - - -- If all else fails, return nil - return nil - end -}) - --- Create a proxy function for require that uses the original require -_G.require = function(modname) - return original_require(modname) -end - --- Add the auto-require environment to the global metatable -local old_mt = getmetatable(_G) or {} -local old_index = old_mt.__index -old_mt.__index = function(t, key) - -- Try the original index first - if old_index then - local val = old_index(t, key) - if val ~= nil then - return val - end - end - -- Then try our auto-require environment - return auto_env[key] -end -setmetatable(_G, old_mt) - -return {} \ No newline at end of file diff --git a/data/computercraft/lua/rom/programs/test_auto_require.lua b/data/computercraft/lua/rom/programs/test_auto_require.lua deleted file mode 100644 index f981520..0000000 --- a/data/computercraft/lua/rom/programs/test_auto_require.lua +++ /dev/null @@ -1,21 +0,0 @@ --- Test auto_require functionality --- This program doesn't explicitly require 'textutils' - --- Try to use textutils without requiring it first -textutils.coloredPrint(colors.green, "Auto-require test successful!", colors.white) -textutils.printTable({test = "This should work without require"}) - --- Try another library -term.setTextColor(colors.yellow) -print("Using term library without require:") -term.at(1, 3).write("Cursor moved using term library") - --- Test a library that might not be pre-loaded -game = fs.open("/test.txt", "w") -if game then - game.write("Testing fs library") - game.close() - print("File written successfully") -else - print("Failed to open file") -end \ No newline at end of file diff --git a/data/computercraft/lua/rom/startup/05_auto_require.lua b/data/computercraft/lua/rom/startup/05_auto_require.lua deleted file mode 100644 index 95ce4fd..0000000 --- a/data/computercraft/lua/rom/startup/05_auto_require.lua +++ /dev/null @@ -1,5 +0,0 @@ --- Load auto_require module to automatically require libraries -local success, err = pcall(require, "auto_require") -if not success then - print("Failed to load auto_require module: " .. tostring(err)) -end \ No newline at end of file