sc3-rom-dump/rom/programs/list.lua

42 lines
992 B
Lua
Raw Normal View History

2024-01-15 10:36:50 +01:00
-- SPDX-FileCopyrightText: 2017 Daniel Ratcliffe
--
-- SPDX-License-Identifier: LicenseRef-CCPL
local tArgs = { ... }
-- Get all the files in the directory
local sDir = shell.dir()
if tArgs[1] ~= nil then
sDir = shell.resolve(tArgs[1])
end
if not fs.isDir(sDir) then
printError("Not a directory")
return
end
-- Sort into dirs/files, and calculate column count
local tAll = fs.list(sDir)
local tFiles = {}
local tDirs = {}
local bShowHidden = settings.get("list.show_hidden")
for _, sItem in pairs(tAll) do
if bShowHidden or string.sub(sItem, 1, 1) ~= "." then
local sPath = fs.combine(sDir, sItem)
if fs.isDir(sPath) then
table.insert(tDirs, sItem)
else
table.insert(tFiles, sItem)
end
end
end
table.sort(tDirs)
table.sort(tFiles)
if term.isColour() then
textutils.pagedTabulate(colors.green, tDirs, colors.white, tFiles)
else
textutils.pagedTabulate(colors.lightGray, tDirs, colors.white, tFiles)
end