From aab401937e4030477505a493d541746a0701d3e1 Mon Sep 17 00:00:00 2001 From: Leonmmcoset Date: Sun, 31 Aug 2025 20:41:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor(installer):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AE=89=E8=A3=85=E6=B5=81=E7=A8=8B=E5=B9=B6=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改安装脚本的输出信息使其更清晰 添加安装前的确认提示以防止误操作 --- installer.lua | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/installer.lua b/installer.lua index 31b11c0..0501d28 100644 --- a/installer.lua +++ b/installer.lua @@ -1,8 +1,8 @@ -- LeonOS installer local DEFAULT_ROM_DIR = "/rc" -print("Downloading required libraries...") -print("Run installer step 1") +print("Start loading LeonOS installer...") +print("[Installer] Loading module 1") local function dl(f) local hand, err = http.get(f, nil, true) if not hand then @@ -14,35 +14,41 @@ local function dl(f) return data end -print("Run installer step 2") +print("[Installer] Loading done.") +print("[Installer] Loading module 2") -- set up package.loaded for LeonOS libs package.loaded.rc = { expect = require("cc.expect").expect, write = write, sleep = sleep } -print("Run installer step 3") +print("[Installer] Loading done.") +print("[Installer] Loading module 3") package.loaded.term = term package.loaded.colors = colors _G.require = require -print("Run installer step 4") +print("[Installer] Loading done.") +print("[Installer] Loading module 4") function term.at(x, y) term.setCursorPos(x, y) return term end -print("Run installer step 5") +print("[Installer] Loading done.") +print("[Installer] Loading module 5") local function ghload(f, c) return assert(load(dl("https://gh.catmak.name/https://raw.githubusercontent.com/"..f), "="..(c or f), "t", _G))() end -print("Run installer step 6") +print("[Installer] Loading done.") +print("[Installer] Loading module 6") local json = ghload("rxi/json.lua/master/json.lua", "ghload(json)") package.loaded["rc.json"] = json -print("Run installer step 7") +print("[Installer] Loading module 7") local function rcload(f) return ghload( "Leonmmcoset/LeonOS/refs/heads/main/data/computercraft/lua/rom/"..f, f) end -print("Run installer step 8") +print("[Installer] Loading done.") +print("[Installer] Loading module 8") -- get LeonOS's textutils with its extra utilities local tu = rcload("apis/textutils.lua") @@ -56,10 +62,18 @@ local function progress(y, a, b) {fg=colors.white, bg=colors.black}, (" "):rep((w-2)-#bar), colors.yellow, "]") end -print("Run installer step 9") +print("[Installer] Loading done.") term.at(1,1).clear() tu.coloredPrint(colors.yellow, "LeonOS Installer\n=======================") +print("You are going to install LeonOS to your computer.") +print("This will overwrite any existing files in the installation directory.") +tu.coloredPrint(colors.yellow, "Are you sure? (y/n)") +local confirm = read() +if confirm ~= "y" then + print("Installation cancelled.") + return +end local ROM_DIR tu.coloredPrint("Enter installation directory ", colors.yellow, "[",