模块:Terminal
From Limbo Wiki
local out = require("Module:Out") local p = {} function p.run(frame) args = frame:getParent().args prompt = frame.args["prompt"] color = frame.args["color"] result = frame.args["result"] for i, cmd in ipairs(args) do if mw.ustring.sub(cmd, 1, 1) == "/" then -- 命令输入 out.writeln(prompt .. out.color(mw.ustring.sub(cmd, 2), color)) elseif mw.ustring.sub(cmd, 1, 1) == "@" then -- 控制命令 默认只有一个参数 忽略空格 cut = mw.ustring.find(cmd, " ", 1, true) name = mw.ustring.sub(cmd, 2, cut - 1) arg = mw.ustring.sub(cmd, cut + 1) if name == "color" then color = arg elseif name == "result" then result = arg elseif name == "prompt" then prompt = arg end else -- 命令回显 out.writeln(out.color(cmd, result)) end end end p.main = out.create_main(p.run) return p