mirror of
https://github.com/CCLeonOS/LeonOS.git
synced 2026-03-03 15:17:01 +00:00
feat(帮助系统): 添加helplist命令用于列出所有帮助主题
添加helplist.lua程序用于列出所有可用的帮助主题,支持排序和彩色输出选项 同时添加test_helplist.lua测试脚本验证helplist命令功能
This commit is contained in:
63
data/computercraft/lua/rom/programs/helplist.lua
Normal file
63
data/computercraft/lua/rom/programs/helplist.lua
Normal 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)
|
||||||
63
data/computercraft/lua/rom/programs/test_helplist.lua
Normal file
63
data/computercraft/lua/rom/programs/test_helplist.lua
Normal 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.")
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
-- LeonOS installer
|
-- LeonOS installer
|
||||||
local INSTALLER_VERSION = "0.3.7 Beta 11"
|
local INSTALLER_VERSION = "0.3.7 Beta 12"
|
||||||
local DEFAULT_ROM_DIR = "/leonos"
|
local DEFAULT_ROM_DIR = "/leonos"
|
||||||
|
|
||||||
print("Start loading LeonOS installer ("..INSTALLER_VERSION..")...")
|
print("Start loading LeonOS installer ("..INSTALLER_VERSION..")...")
|
||||||
|
|||||||
Reference in New Issue
Block a user