mirror of
https://github.com/CCLeonOS/LeonOS.git
synced 2026-03-03 06:47:00 +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.")
|
||||
Reference in New Issue
Block a user