feat(帮助系统): 添加helplist命令用于列出所有帮助主题

添加helplist.lua程序用于列出所有可用的帮助主题,支持排序和彩色输出选项
同时添加test_helplist.lua测试脚本验证helplist命令功能
This commit is contained in:
2025-09-02 17:28:43 +08:00
parent 207a856b46
commit 27d32e99ed
3 changed files with 127 additions and 1 deletions

View File

@@ -0,0 +1,63 @@
-- helplist.lua: List all available help documents
local help = require("help")
local textutils = require("textutils")
local term = require("term")
local colors = require("colors")
-- Help information function
local function printHelp()
print("Usage: helplist [options]")
print("Options:")
print(" --help, -h Show this help message")
print(" --sort, -s Sort topics alphabetically")
print(" --color, -c Show colored output")
print([[
Lists all available help topics in LeonOS.]])
end
-- Main function
local function main(args)
-- Process command line arguments
local showHelp = false
local sortTopics = false
local useColor = false
for _, arg in ipairs(args) do
if arg == "--help" or arg == "-h" then
showHelp = true
elseif arg == "--sort" or arg == "-s" then
sortTopics = true
elseif arg == "--color" or arg == "-c" then
useColor = true
end
end
if showHelp then
printHelp()
return
end
-- Get all help topics
local topics = help.topics()
-- Sort topics if requested
if sortTopics then
table.sort(topics)
end
-- Display the help topics
print("Available help topics (" .. #topics .. "):")
for _, topic in ipairs(topics) do
if useColor then
term.setTextColor(colors.cyan)
print(" " .. topic)
term.setTextColor(colors.white)
else
print(" " .. topic)
end
end
end
-- Run the main function
local args = {...}
main(args)

View File

@@ -0,0 +1,63 @@
-- test_helplist.lua: Test the helplist command
local shell = require("shell")
local term = require("term")
print("=== Testing helplist Command ===")
print("This test will run the helplist command with different options")
print("to verify it correctly lists all available help topics.")
print("
Test 1: Basic helplist command")
os.sleep(1)
term.clear()
local success = shell.run("helplist")
if not success then
print("Error: helplist command failed to run.")
else
print("
Test 1 completed. Press any key to continue.")
os.pullEvent("key")
end
print("
Test 2: helplist with sorting")
os.sleep(1)
term.clear()
success = shell.run("helplist", "--sort")
if not success then
print("Error: helplist --sort command failed to run.")
else
print("
Test 2 completed. Press any key to continue.")
os.pullEvent("key")
end
print("
Test 3: helplist with color")
os.sleep(1)
term.clear()
success = shell.run("helplist", "--color")
if not success then
print("Error: helplist --color command failed to run.")
else
print("
Test 3 completed. Press any key to continue.")
os.pullEvent("key")
end
print("
Test 4: helplist help")
os.sleep(1)
term.clear()
success = shell.run("helplist", "--help")
if not success then
print("Error: helplist --help command failed to run.")
else
print("
Test 4 completed. Press any key to finish.")
os.pullEvent("key")
end
term.clear()
print("=== helplist Command Tests Completed ===")
print("All tests have been executed.")
print("You can now use the 'helplist' command to list all available help topics.")

View File

@@ -1,5 +1,5 @@
-- LeonOS installer
local INSTALLER_VERSION = "0.3.7 Beta 11"
local INSTALLER_VERSION = "0.3.7 Beta 12"
local DEFAULT_ROM_DIR = "/leonos"
print("Start loading LeonOS installer ("..INSTALLER_VERSION..")...")