mirror of
https://github.com/akyaiy/GoSally-mvp.git
synced 2026-01-03 07:12:26 +00:00
um add modernc/sqlite
This commit is contained in:
31
com/List.lua
Normal file
31
com/List.lua
Normal file
@@ -0,0 +1,31 @@
|
||||
-- com/List.lua
|
||||
|
||||
local function isValidCommand(name)
|
||||
return name:match("^[%w]+$") ~= nil
|
||||
end
|
||||
|
||||
local function scanDirectory(basePath, targetPath)
|
||||
local res = {}
|
||||
local fullPath = basePath.."/"..targetPath
|
||||
local handle = io.popen('find "'..fullPath..'" -type f -name "*.lua" 2>/dev/null')
|
||||
|
||||
if handle then
|
||||
for filePath in handle:lines() do
|
||||
local fileName = filePath:match("([^/]+)%.lua$")
|
||||
if fileName and isValidCommand(fileName) then
|
||||
local relPath = filePath:gsub("^"..basePath.."/", ""):gsub(".lua$", ""):gsub("/", ">")
|
||||
table.insert(res, relPath)
|
||||
end
|
||||
end
|
||||
handle:close()
|
||||
end
|
||||
|
||||
return #res > 0 and res or nil
|
||||
end
|
||||
|
||||
local basePath = "com"
|
||||
local layer = In.Params and In.Params.layer and In.Params.layer:gsub(">", "/") or nil
|
||||
|
||||
Out.Result = {
|
||||
answer = layer and scanDirectory(basePath, layer) or scanDirectory(basePath, "")
|
||||
}
|
||||
Reference in New Issue
Block a user