Update all code styles

This commit is contained in:
Cooldude2606
2024-09-28 01:56:54 +01:00
parent 5e2a62ab27
commit 292c1a1b68
194 changed files with 9817 additions and 9703 deletions

View File

@@ -1,147 +1,147 @@
-- source: https://www.rapidtables.com/web/color/RGB_Color.html
return {
maroon = {r = 128, g = 0, b = 0},
dark_red = {r = 139, g = 0, b = 0},
brown = {r = 165, g = 42, b = 42},
firebrick = {r = 178, g = 34, b = 34},
crimson = {r = 220, g = 20, b = 60},
red = {r = 255, g = 0, b = 0},
tomato = {r = 255, g = 99, b = 71},
coral = {r = 255, g = 127, b = 80},
indian_red = {r = 205, g = 92, b = 92},
light_coral = {r = 240, g = 128, b = 128},
dark_salmon = {r = 233, g = 150, b = 122},
salmon = {r = 250, g = 128, b = 114},
light_salmon = {r = 255, g = 160, b = 122},
orange_red = {r = 255, g = 69, b = 0},
dark_orange = {r = 255, g = 140, b = 0},
orange = {r = 255, g = 165, b = 0},
gold = {r = 255, g = 215, b = 0},
dark_golden_rod = {r = 184, g = 134, b = 11},
golden_rod = {r = 218, g = 165, b = 32},
pale_golden_rod = {r = 238, g = 232, b = 170},
dark_khaki = {r = 189, g = 183, b = 107},
khaki = {r = 240, g = 230, b = 140},
olive = {r = 128, g = 128, b = 0},
yellow = {r = 255, g = 255, b = 0},
yellow_green = {r = 154, g = 205, b = 50},
dark_olive_green = {r = 85, g = 107, b = 47},
olive_drab = {r = 107, g = 142, b = 35},
lawn_green = {r = 124, g = 252, b = 0},
chart_reuse = {r = 127, g = 255, b = 0},
green_yellow = {r = 173, g = 255, b = 47},
dark_green = {r = 0, g = 100, b = 0},
green = {r = 0, g = 128, b = 0},
forest_green = {r = 34, g = 139, b = 34},
lime = {r = 0, g = 255, b = 0},
lime_green = {r = 50, g = 205, b = 50},
light_green = {r = 144, g = 238, b = 144},
pale_green = {r = 152, g = 251, b = 152},
dark_sea_green = {r = 143, g = 188, b = 143},
medium_spring_green = {r = 0, g = 250, b = 154},
spring_green = {r = 0, g = 255, b = 127},
sea_green = {r = 46, g = 139, b = 87},
medium_aqua_marine = {r = 102, g = 205, b = 170},
medium_sea_green = {r = 60, g = 179, b = 113},
light_sea_green = {r = 32, g = 178, b = 170},
dark_slate_gray = {r = 47, g = 79, b = 79},
teal = {r = 0, g = 128, b = 128},
dark_cyan = {r = 0, g = 139, b = 139},
aqua = {r = 0, g = 255, b = 255},
cyan = {r = 0, g = 255, b = 255},
light_cyan = {r = 224, g = 255, b = 255},
dark_turquoise = {r = 0, g = 206, b = 209},
turquoise = {r = 64, g = 224, b = 208},
medium_turquoise = {r = 72, g = 209, b = 204},
pale_turquoise = {r = 175, g = 238, b = 238},
aqua_marine = {r = 127, g = 255, b = 212},
powder_blue = {r = 176, g = 224, b = 230},
cadet_blue = {r = 95, g = 158, b = 160},
steel_blue = {r = 70, g = 130, b = 180},
corn_flower_blue = {r = 100, g = 149, b = 237},
deep_sky_blue = {r = 0, g = 191, b = 255},
dodger_blue = {r = 30, g = 144, b = 255},
light_blue = {r = 173, g = 216, b = 230},
sky_blue = {r = 135, g = 206, b = 235},
light_sky_blue = {r = 135, g = 206, b = 250},
midnight_blue = {r = 25, g = 25, b = 112},
navy = {r = 0, g = 0, b = 128},
dark_blue = {r = 0, g = 0, b = 139},
medium_blue = {r = 0, g = 0, b = 205},
blue = {r = 0, g = 0, b = 255},
royal_blue = {r = 65, g = 105, b = 225},
blue_violet = {r = 138, g = 43, b = 226},
indigo = {r = 75, g = 0, b = 130},
dark_slate_blue = {r = 72, g = 61, b = 139},
slate_blue = {r = 106, g = 90, b = 205},
medium_slate_blue = {r = 123, g = 104, b = 238},
medium_purple = {r = 147, g = 112, b = 219},
dark_magenta = {r = 139, g = 0, b = 139},
dark_violet = {r = 148, g = 0, b = 211},
dark_orchid = {r = 153, g = 50, b = 204},
medium_orchid = {r = 186, g = 85, b = 211},
purple = {r = 128, g = 0, b = 128},
thistle = {r = 216, g = 191, b = 216},
plum = {r = 221, g = 160, b = 221},
violet = {r = 238, g = 130, b = 238},
magenta = {r = 255, g = 0, b = 255},
fuchsia = {r = 255, g = 0, b = 255},
orchid = {r = 218, g = 112, b = 214},
medium_violet_red = {r = 199, g = 21, b = 133},
pale_violet_red = {r = 219, g = 112, b = 147},
deep_pink = {r = 255, g = 20, b = 147},
hot_pink = {r = 255, g = 105, b = 180},
light_pink = {r = 255, g = 182, b = 193},
pink = {r = 255, g = 192, b = 203},
antique_white = {r = 250, g = 235, b = 215},
beige = {r = 245, g = 245, b = 220},
bisque = {r = 255, g = 228, b = 196},
blanched_almond = {r = 255, g = 235, b = 205},
wheat = {r = 245, g = 222, b = 179},
corn_silk = {r = 255, g = 248, b = 220},
lemon_chiffon = {r = 255, g = 250, b = 205},
light_golden_rod_yellow = {r = 250, g = 250, b = 210},
light_yellow = {r = 255, g = 255, b = 224},
saddle_brown = {r = 139, g = 69, b = 19},
sienna = {r = 160, g = 82, b = 45},
chocolate = {r = 210, g = 105, b = 30},
peru = {r = 205, g = 133, b = 63},
sandy_brown = {r = 244, g = 164, b = 96},
burly_wood = {r = 222, g = 184, b = 135},
tan = {r = 210, g = 180, b = 140},
rosy_brown = {r = 188, g = 143, b = 143},
moccasin = {r = 255, g = 228, b = 181},
navajo_white = {r = 255, g = 222, b = 173},
peach_puff = {r = 255, g = 218, b = 185},
misty_rose = {r = 255, g = 228, b = 225},
lavender_blush = {r = 255, g = 240, b = 245},
linen = {r = 250, g = 240, b = 230},
old_lace = {r = 253, g = 245, b = 230},
papaya_whip = {r = 255, g = 239, b = 213},
sea_shell = {r = 255, g = 245, b = 238},
mint_cream = {r = 245, g = 255, b = 250},
slate_gray = {r = 112, g = 128, b = 144},
light_slate_gray = {r = 119, g = 136, b = 153},
light_steel_blue = {r = 176, g = 196, b = 222},
lavender = {r = 230, g = 230, b = 250},
floral_white = {r = 255, g = 250, b = 240},
alice_blue = {r = 240, g = 248, b = 255},
ghost_white = {r = 248, g = 248, b = 255},
honeydew = {r = 240, g = 255, b = 240},
ivory = {r = 255, g = 255, b = 240},
azure = {r = 240, g = 255, b = 255},
snow = {r = 255, g = 250, b = 250},
black = {r = 0, g = 0, b = 0},
silver = {r = 192, g = 192, b = 192},
dim_grey = {r = 105, g = 105, b = 105},
grey = {r = 128, g = 128, b = 128},
dark_grey = {r = 169, g = 169, b = 169},
light_grey = {r = 211, g = 211, b = 211},
gainsboro = {r = 220, g = 220, b = 220},
white_smoke = {r = 245, g = 245, b = 245},
white = {r = 255, g = 255, b = 255},
success = {r = 0, g = 255, b = 0},
warning = {r = 255, g = 255, b = 0},
fail = {r = 255, g = 0, b = 0},
info = {r = 255, g = 255, b = 255}
maroon = { r = 128, g = 0, b = 0 },
dark_red = { r = 139, g = 0, b = 0 },
brown = { r = 165, g = 42, b = 42 },
firebrick = { r = 178, g = 34, b = 34 },
crimson = { r = 220, g = 20, b = 60 },
red = { r = 255, g = 0, b = 0 },
tomato = { r = 255, g = 99, b = 71 },
coral = { r = 255, g = 127, b = 80 },
indian_red = { r = 205, g = 92, b = 92 },
light_coral = { r = 240, g = 128, b = 128 },
dark_salmon = { r = 233, g = 150, b = 122 },
salmon = { r = 250, g = 128, b = 114 },
light_salmon = { r = 255, g = 160, b = 122 },
orange_red = { r = 255, g = 69, b = 0 },
dark_orange = { r = 255, g = 140, b = 0 },
orange = { r = 255, g = 165, b = 0 },
gold = { r = 255, g = 215, b = 0 },
dark_golden_rod = { r = 184, g = 134, b = 11 },
golden_rod = { r = 218, g = 165, b = 32 },
pale_golden_rod = { r = 238, g = 232, b = 170 },
dark_khaki = { r = 189, g = 183, b = 107 },
khaki = { r = 240, g = 230, b = 140 },
olive = { r = 128, g = 128, b = 0 },
yellow = { r = 255, g = 255, b = 0 },
yellow_green = { r = 154, g = 205, b = 50 },
dark_olive_green = { r = 85, g = 107, b = 47 },
olive_drab = { r = 107, g = 142, b = 35 },
lawn_green = { r = 124, g = 252, b = 0 },
chart_reuse = { r = 127, g = 255, b = 0 },
green_yellow = { r = 173, g = 255, b = 47 },
dark_green = { r = 0, g = 100, b = 0 },
green = { r = 0, g = 128, b = 0 },
forest_green = { r = 34, g = 139, b = 34 },
lime = { r = 0, g = 255, b = 0 },
lime_green = { r = 50, g = 205, b = 50 },
light_green = { r = 144, g = 238, b = 144 },
pale_green = { r = 152, g = 251, b = 152 },
dark_sea_green = { r = 143, g = 188, b = 143 },
medium_spring_green = { r = 0, g = 250, b = 154 },
spring_green = { r = 0, g = 255, b = 127 },
sea_green = { r = 46, g = 139, b = 87 },
medium_aqua_marine = { r = 102, g = 205, b = 170 },
medium_sea_green = { r = 60, g = 179, b = 113 },
light_sea_green = { r = 32, g = 178, b = 170 },
dark_slate_gray = { r = 47, g = 79, b = 79 },
teal = { r = 0, g = 128, b = 128 },
dark_cyan = { r = 0, g = 139, b = 139 },
aqua = { r = 0, g = 255, b = 255 },
cyan = { r = 0, g = 255, b = 255 },
light_cyan = { r = 224, g = 255, b = 255 },
dark_turquoise = { r = 0, g = 206, b = 209 },
turquoise = { r = 64, g = 224, b = 208 },
medium_turquoise = { r = 72, g = 209, b = 204 },
pale_turquoise = { r = 175, g = 238, b = 238 },
aqua_marine = { r = 127, g = 255, b = 212 },
powder_blue = { r = 176, g = 224, b = 230 },
cadet_blue = { r = 95, g = 158, b = 160 },
steel_blue = { r = 70, g = 130, b = 180 },
corn_flower_blue = { r = 100, g = 149, b = 237 },
deep_sky_blue = { r = 0, g = 191, b = 255 },
dodger_blue = { r = 30, g = 144, b = 255 },
light_blue = { r = 173, g = 216, b = 230 },
sky_blue = { r = 135, g = 206, b = 235 },
light_sky_blue = { r = 135, g = 206, b = 250 },
midnight_blue = { r = 25, g = 25, b = 112 },
navy = { r = 0, g = 0, b = 128 },
dark_blue = { r = 0, g = 0, b = 139 },
medium_blue = { r = 0, g = 0, b = 205 },
blue = { r = 0, g = 0, b = 255 },
royal_blue = { r = 65, g = 105, b = 225 },
blue_violet = { r = 138, g = 43, b = 226 },
indigo = { r = 75, g = 0, b = 130 },
dark_slate_blue = { r = 72, g = 61, b = 139 },
slate_blue = { r = 106, g = 90, b = 205 },
medium_slate_blue = { r = 123, g = 104, b = 238 },
medium_purple = { r = 147, g = 112, b = 219 },
dark_magenta = { r = 139, g = 0, b = 139 },
dark_violet = { r = 148, g = 0, b = 211 },
dark_orchid = { r = 153, g = 50, b = 204 },
medium_orchid = { r = 186, g = 85, b = 211 },
purple = { r = 128, g = 0, b = 128 },
thistle = { r = 216, g = 191, b = 216 },
plum = { r = 221, g = 160, b = 221 },
violet = { r = 238, g = 130, b = 238 },
magenta = { r = 255, g = 0, b = 255 },
fuchsia = { r = 255, g = 0, b = 255 },
orchid = { r = 218, g = 112, b = 214 },
medium_violet_red = { r = 199, g = 21, b = 133 },
pale_violet_red = { r = 219, g = 112, b = 147 },
deep_pink = { r = 255, g = 20, b = 147 },
hot_pink = { r = 255, g = 105, b = 180 },
light_pink = { r = 255, g = 182, b = 193 },
pink = { r = 255, g = 192, b = 203 },
antique_white = { r = 250, g = 235, b = 215 },
beige = { r = 245, g = 245, b = 220 },
bisque = { r = 255, g = 228, b = 196 },
blanched_almond = { r = 255, g = 235, b = 205 },
wheat = { r = 245, g = 222, b = 179 },
corn_silk = { r = 255, g = 248, b = 220 },
lemon_chiffon = { r = 255, g = 250, b = 205 },
light_golden_rod_yellow = { r = 250, g = 250, b = 210 },
light_yellow = { r = 255, g = 255, b = 224 },
saddle_brown = { r = 139, g = 69, b = 19 },
sienna = { r = 160, g = 82, b = 45 },
chocolate = { r = 210, g = 105, b = 30 },
peru = { r = 205, g = 133, b = 63 },
sandy_brown = { r = 244, g = 164, b = 96 },
burly_wood = { r = 222, g = 184, b = 135 },
tan = { r = 210, g = 180, b = 140 },
rosy_brown = { r = 188, g = 143, b = 143 },
moccasin = { r = 255, g = 228, b = 181 },
navajo_white = { r = 255, g = 222, b = 173 },
peach_puff = { r = 255, g = 218, b = 185 },
misty_rose = { r = 255, g = 228, b = 225 },
lavender_blush = { r = 255, g = 240, b = 245 },
linen = { r = 250, g = 240, b = 230 },
old_lace = { r = 253, g = 245, b = 230 },
papaya_whip = { r = 255, g = 239, b = 213 },
sea_shell = { r = 255, g = 245, b = 238 },
mint_cream = { r = 245, g = 255, b = 250 },
slate_gray = { r = 112, g = 128, b = 144 },
light_slate_gray = { r = 119, g = 136, b = 153 },
light_steel_blue = { r = 176, g = 196, b = 222 },
lavender = { r = 230, g = 230, b = 250 },
floral_white = { r = 255, g = 250, b = 240 },
alice_blue = { r = 240, g = 248, b = 255 },
ghost_white = { r = 248, g = 248, b = 255 },
honeydew = { r = 240, g = 255, b = 240 },
ivory = { r = 255, g = 255, b = 240 },
azure = { r = 240, g = 255, b = 255 },
snow = { r = 255, g = 250, b = 250 },
black = { r = 0, g = 0, b = 0 },
silver = { r = 192, g = 192, b = 192 },
dim_grey = { r = 105, g = 105, b = 105 },
grey = { r = 128, g = 128, b = 128 },
dark_grey = { r = 169, g = 169, b = 169 },
light_grey = { r = 211, g = 211, b = 211 },
gainsboro = { r = 220, g = 220, b = 220 },
white_smoke = { r = 245, g = 245, b = 245 },
white = { r = 255, g = 255, b = 255 },
success = { r = 0, g = 255, b = 0 },
warning = { r = 255, g = 255, b = 0 },
fail = { r = 255, g = 0, b = 0 },
info = { r = 255, g = 255, b = 255 },
}

View File

@@ -1,7 +1,7 @@
local inspect = {
_VERSION = 'inspect.lua 3.1.0',
_URL = 'http://github.com/kikito/inspect.lua',
_DESCRIPTION = 'human-readable representations of tables',
_VERSION = "inspect.lua 3.1.0",
_URL = "http://github.com/kikito/inspect.lua",
_DESCRIPTION = "human-readable representations of tables",
_LICENSE = [[
MIT LICENSE
@@ -25,13 +25,13 @@ local inspect = {
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
]]
]],
}
local tostring = tostring
inspect.KEY = setmetatable({}, {__tostring = function() return 'inspect.KEY' end})
inspect.METATABLE = setmetatable({}, {__tostring = function() return 'inspect.METATABLE' end})
inspect.KEY = setmetatable({}, { __tostring = function() return "inspect.KEY" end })
inspect.METATABLE = setmetatable({}, { __tostring = function() return "inspect.METATABLE" end })
-- Apostrophizes the string if it has quotes, but not aphostrophes
-- Otherwise, it returns a regular quoted string
@@ -44,51 +44,64 @@ end
-- \a => '\\a', \0 => '\\0', 31 => '\31'
local shortControlCharEscapes = {
["\a"] = "\\a", ["\b"] = "\\b", ["\f"] = "\\f", ["\n"] = "\\n",
["\r"] = "\\r", ["\t"] = "\\t", ["\v"] = "\\v"
["\a"] = "\\a",
["\b"] = "\\b",
["\f"] = "\\f",
["\n"] = "\\n",
["\r"] = "\\r",
["\t"] = "\\t",
["\v"] = "\\v",
}
local longControlCharEscapes = {} -- \a => nil, \0 => \000, 31 => \031
for i=0, 31 do
for i = 0, 31 do
local ch = string.char(i)
if not shortControlCharEscapes[ch] then
shortControlCharEscapes[ch] = "\\"..i
longControlCharEscapes[ch] = string.format("\\%03d", i)
shortControlCharEscapes[ch] = "\\" .. i
longControlCharEscapes[ch] = string.format("\\%03d", i)
end
end
local function escape(str)
return (str:gsub("\\", "\\\\")
:gsub("(%c)%f[0-9]", longControlCharEscapes)
:gsub("%c", shortControlCharEscapes))
:gsub("(%c)%f[0-9]", longControlCharEscapes)
:gsub("%c", shortControlCharEscapes))
end
local function isIdentifier(str)
return type(str) == 'string' and str:match( "^[_%a][_%a%d]*$" )
return type(str) == "string" and str:match("^[_%a][_%a%d]*$")
end
local function isSequenceKey(k, sequenceLength)
return type(k) == 'number'
and 1 <= k
and k <= sequenceLength
and math.floor(k) == k
return type(k) == "number"
and 1 <= k
and k <= sequenceLength
and math.floor(k) == k
end
local defaultTypeOrders = {
['number'] = 1, ['boolean'] = 2, ['string'] = 3, ['table'] = 4,
['function'] = 5, ['userdata'] = 6, ['thread'] = 7
["number"] = 1,
["boolean"] = 2,
["string"] = 3,
["table"] = 4,
["function"] = 5,
["userdata"] = 6,
["thread"] = 7,
}
local function sortKeys(a, b)
local ta, tb = type(a), type(b)
-- strings and numbers are sorted numerically/alphabetically
if ta == tb and (ta == 'string' or ta == 'number') then return a < b end
if ta == tb and (ta == "string" or ta == "number") then return a < b end
local dta, dtb = defaultTypeOrders[ta], defaultTypeOrders[tb]
-- Two default types are compared according to the defaultTypeOrders table
if dta and dtb then return defaultTypeOrders[ta] < defaultTypeOrders[tb]
elseif dta then return true -- default types before custom ones
elseif dtb then return false -- custom types after default ones
if dta and dtb then
return defaultTypeOrders[ta] < defaultTypeOrders[tb]
elseif dta then
return true -- default types before custom ones
elseif dtb then
return false -- custom types after default ones
end
-- custom types are sorted out alphabetically
@@ -104,6 +117,7 @@ local function getSequenceLength(t)
len = len + 1
v = rawget(t, len)
end
return len - 1
end
@@ -113,30 +127,32 @@ local function getNonSequentialKeys(t)
for k, _ in pairs(t) do
if not isSequenceKey(k, sequenceLength) then table.insert(keys, k) end
end
table.sort(keys, sortKeys)
return keys, sequenceLength
end
local function getToStringResultSafely(t, mt)
local __tostring = type(mt) == 'table' and rawget(mt, '__tostring')
local __tostring = type(mt) == "table" and rawget(mt, "__tostring")
local str, ok
if type(__tostring) == 'function' then
if type(__tostring) == "function" then
ok, str = pcall(__tostring, t)
str = ok and str or 'error: ' .. tostring(str)
str = ok and str or "error: " .. tostring(str)
end
if type(str) == 'string' and #str > 0 then return str end
if type(str) == "string" and #str > 0 then return str end
end
local function countTableAppearances(t, tableAppearances)
tableAppearances = tableAppearances or {}
if type(t) == 'table' then
if type(t) == "table" then
if not tableAppearances[t] then
tableAppearances[t] = 1
for k, v in pairs(t) do
countTableAppearances(k, tableAppearances)
countTableAppearances(v, tableAppearances)
end
countTableAppearances(getmetatable(t), tableAppearances)
else
tableAppearances[t] = tableAppearances[t] + 1
@@ -148,43 +164,44 @@ end
local copySequence = function(s)
local copy, len = {}, #s
for i=1, len do copy[i] = s[i] end
for i = 1, len do copy[i] = s[i] end
return copy, len
end
local function makePath(path, ...)
local keys = {...}
local keys = { ... }
local newPath, len = copySequence(path)
for i=1, #keys do
for i = 1, #keys do
newPath[len + i] = keys[i]
end
return newPath
end
-- Cooldude2606: Modified this to respect the depth option
local function processRecursive(process, item, path, visited, depth)
if item == nil then return nil end
if visited[item] then return visited[item] end
if item == nil then return nil end
if visited[item] then return visited[item] end
local processed = process(item, path)
if type(processed) == "table" and (depth == nil or depth > 0) then
local processedCopy = {}
visited[item] = processedCopy
local processedKey
local processed = process(item, path)
if type(processed) == 'table' and (depth == nil or depth > 0) then
local processedCopy = {}
visited[item] = processedCopy
local processedKey
for k, v in pairs(processed) do
processedKey = processRecursive(process, k, makePath(path, k, inspect.KEY), visited, depth and depth - 1)
if processedKey ~= nil then
processedCopy[processedKey] = processRecursive(process, v, makePath(path, processedKey), visited, depth and depth - 1)
end
for k, v in pairs(processed) do
processedKey = processRecursive(process, k, makePath(path, k, inspect.KEY), visited, depth and depth - 1)
if processedKey ~= nil then
processedCopy[processedKey] = processRecursive(process, v, makePath(path, processedKey), visited, depth and depth - 1)
end
local mt = processRecursive(process, getmetatable(processed), makePath(path, inspect.METATABLE), visited, depth and depth - 1)
setmetatable(processedCopy, mt)
processed = processedCopy
end
return processed
local mt = processRecursive(process, getmetatable(processed), makePath(path, inspect.METATABLE), visited, depth and depth - 1)
setmetatable(processedCopy, mt)
processed = processedCopy
end
return processed
end
@@ -192,13 +209,13 @@ end
-------------------------------------------------------------------
local Inspector = {}
local Inspector_mt = {__index = Inspector}
local Inspector_mt = { __index = Inspector }
function Inspector:puts(...)
local args = {...}
local args = { ... }
local buffer = self.buffer
local len = #buffer
for i=1, #args do
local len = #buffer
for i = 1, #args do
len = len + 1
buffer[len] = args[i]
end
@@ -222,9 +239,9 @@ function Inspector:getId(v)
local id = self.ids[v]
if not id then
local tv = type(v)
id = (self.maxIds[tv] or 0) + 1
id = (self.maxIds[tv] or 0) + 1
self.maxIds[tv] = id
self.ids[v] = id
self.ids[v] = id
end
return tostring(id)
end
@@ -240,44 +257,44 @@ function Inspector:putTable(t)
if t == inspect.KEY or t == inspect.METATABLE then
self:puts(tostring(t))
elseif self:alreadyVisited(t) then
self:puts('<table ', self:getId(t), '>')
self:puts("<table ", self:getId(t), ">")
elseif self.level >= self.depth then
self:puts('{...}')
self:puts("{...}")
else
if self.tableAppearances[t] > 1 then self:puts('<', self:getId(t), '>') end
if self.tableAppearances[t] > 1 then self:puts("<", self:getId(t), ">") end
local nonSequentialKeys, sequenceLength = getNonSequentialKeys(t)
local mt = getmetatable(t)
local toStringResult = getToStringResultSafely(t, mt)
local mt = getmetatable(t)
local toStringResult = getToStringResultSafely(t, mt)
self:puts('{')
self:puts("{")
self:down(function()
if toStringResult then
self:puts(' -- ', escape(toStringResult))
self:puts(" -- ", escape(toStringResult))
if sequenceLength >= 1 then self:tabify() end
end
local count = 0
for i=1, sequenceLength do
if count > 0 then self:puts(', ') end
self:puts(' ')
for i = 1, sequenceLength do
if count > 0 then self:puts(", ") end
self:puts(" ")
self:putValue(t[i])
count = count + 1
end
for _, k in ipairs(nonSequentialKeys) do
if count > 0 then self:puts(', ') end
if count > 0 then self:puts(", ") end
self:tabify()
self:putKey(k)
self:puts(' = ')
self:puts(" = ")
self:putValue(t[k])
count = count + 1
end
if mt then
if count > 0 then self:puts(', ') end
if count > 0 then self:puts(", ") end
self:tabify()
self:puts('<metatable> = ')
self:puts("<metatable> = ")
self:putValue(mt)
end
end)
@@ -285,36 +302,36 @@ function Inspector:putTable(t)
if #nonSequentialKeys > 0 or mt then -- result is multi-lined. Justify closing }
self:tabify()
elseif sequenceLength > 0 then -- array tables have one extra space before closing }
self:puts(' ')
self:puts(" ")
end
self:puts('}')
self:puts("}")
end
end
function Inspector:putValue(v)
local tv = type(v)
if tv == 'string' then
if tv == "string" then
self:puts(smartQuote(escape(v)))
elseif tv == 'number' or tv == 'boolean' or tv == 'nil' or
tv == 'cdata' or tv == 'ctype' then
elseif tv == "number" or tv == "boolean" or tv == "nil" or
tv == "cdata" or tv == "ctype" then
self:puts(tostring(v))
elseif tv == 'table' then
elseif tv == "table" then
self:putTable(v)
else
self:puts('<', tv, ' ', self:getId(v), '>')
self:puts("<", tv, " ", self:getId(v), ">")
end
end
-------------------------------------------------------------------
function inspect.inspect(root, options)
options = options or {}
options = options or {}
local depth = options.depth or math.huge
local newline = options.newline or '\n'
local indent = options.indent or ' '
local depth = options.depth or math.huge
local newline = options.newline or "\n"
local indent = options.indent or " "
local process = options.process
if process then
@@ -322,14 +339,14 @@ function inspect.inspect(root, options)
end
local inspector = setmetatable({
depth = depth,
level = 0,
buffer = {},
ids = {},
maxIds = {},
newline = newline,
indent = indent,
tableAppearances = countTableAppearances(root)
depth = depth,
level = 0,
buffer = {},
ids = {},
maxIds = {},
newline = newline,
indent = indent,
tableAppearances = countTableAppearances(root),
}, Inspector_mt)
inspector:putValue(root)

View File

@@ -1,4 +1,4 @@
--luacheck:ignore global math
-- luacheck:ignore global math
local floor = math.floor
local abs = math.abs

View File

@@ -1,4 +1,4 @@
--luacheck:ignore global package
-- luacheck:ignore global package
local Clustorio = require("modules/clusterio/api")
@@ -13,7 +13,7 @@ package.lifecycle_stage = {
init = 5,
load = 6,
config_change = 7,
runtime = 8
runtime = 8,
}
--- Stores the current lifecycle stage we are in, compare values against package.lifecycle_stage
@@ -24,10 +24,10 @@ return setmetatable({
on_load = function() package.lifecycle = package.lifecycle_stage.load end,
on_configuration_changed = function() package.lifecycle = package.lifecycle_stage.config_change end,
events = {
-- TODO find a reliable way to set to runtime because currently it will desync if accessed before player joined
-- TODO find a reliable way to set to runtime because currently it will desync if accessed before player joined
[defines.events.on_player_joined_game] = function() package.lifecycle = package.lifecycle_stage.runtime end,
[Clustorio.events.on_server_startup] = function() package.lifecycle = package.lifecycle_stage.runtime end,
}
},
}, {
__index = package
__index = package,
})

View File

@@ -1,4 +1,4 @@
--luacheck:ignore global require
-- luacheck:ignore global require
local package = require("modules/exp_util/include/package")
local loaded = package.loaded
@@ -6,18 +6,18 @@ local _require = require
-- This replace function is used to avoid additional lines in stack traces during control stage
local function replace()
require = function(path)
if package.lifecycle == package.lifecycle_stage.runtime then
return loaded[path] or loaded[path:gsub(".", "/")] or error('Can only require files at runtime that have been required in the control stage.', 2)
else
return _require(path)
end
end
require = function(path)
if package.lifecycle == package.lifecycle_stage.runtime then
return loaded[path] or loaded[path:gsub(".", "/")] or error("Can only require files at runtime that have been required in the control stage.", 2)
else
return _require(path)
end
end
end
return setmetatable({
on_init = replace,
on_load = replace,
}, {
__call = _require
__call = _require,
})

View File

@@ -1,4 +1,4 @@
--luacheck:ignore global table
-- luacheck:ignore global table
local random = math.random
local floor = math.floor
@@ -42,17 +42,18 @@ function table.array_insert(tbl, start_index, values)
if start_index then
local starting_length = #tbl
local adding_length = #values
local move_to = start_index+adding_length+1
for offset = starting_length-start_index, 0, -1 do
tbl[move_to+offset] = tbl[starting_length+offset]
local move_to = start_index + adding_length + 1
for offset = starting_length - start_index, 0, -1 do
tbl[move_to + offset] = tbl[starting_length + offset]
end
start_index = start_index-1
start_index = start_index - 1
else
start_index = #tbl
end
for offset, item in ipairs(values) do
tbl[start_index+offset] = item
tbl[start_index + offset] = item
end
return tbl
@@ -125,6 +126,7 @@ function table.get_key(tbl, element)
return k
end
end
return nil
end
@@ -138,6 +140,7 @@ function table.get_index(tbl, element)
return i
end
end
return nil
end
@@ -166,9 +169,10 @@ local format_number, distance = table.deconstruct(require('util'), 'format_numbe
]]
function table.deconstruct(tbl, ...)
local values = {}
for _, key in pairs({...}) do
for _, key in pairs{ ... } do
table.insert(values, tbl[key])
end
return table.unpack(values)
end
@@ -239,7 +243,7 @@ function table.shuffle(t, rng)
local rand = rng or math.random
local iterations = #t
if iterations == 0 then
error('Not a sequential table')
error("Not a sequential table")
return
end
local j
@@ -255,19 +259,19 @@ end
-- @param x one comparator operand
-- @param y the other comparator operand
-- @return true if x logically comes before y in a list, false otherwise
local function sortFunc(x, y) --sorts tables with mixed index types.
local function sortFunc(x, y) -- sorts tables with mixed index types.
local tx = type(x)
local ty = type(y)
if tx == ty then
if type(x) == 'string' then
if type(x) == "string" then
return string.lower(x) < string.lower(y)
else
return x < y
end
elseif tx == 'number' then
return true --only x is a number and goes first
elseif tx == "number" then
return true -- only x is a number and goes first
else
return false --only y is a number and goes first
return false -- only y is a number and goes first
end
end
@@ -280,7 +284,7 @@ function table.get_values(tbl, sorted, as_string)
if not tbl then return {} end
local valueset = {}
local n = 0
if as_string then --checking as_string /before/ looping is faster
if as_string then -- checking as_string /before/ looping is faster
for _, v in pairs(tbl) do
n = n + 1
valueset[n] = tostring(v)
@@ -306,7 +310,7 @@ function table.get_keys(tbl, sorted, as_string)
if not tbl then return {} end
local keyset = {}
local n = 0
if as_string then --checking as_string /before/ looping is faster
if as_string then -- checking as_string /before/ looping is faster
for k, _ in pairs(tbl) do
n = n + 1
keyset[n] = tostring(k)
@@ -328,13 +332,17 @@ end
-- @treturn table the sorted table
function table.alphanum_sort(tbl)
local o = table.get_keys(tbl)
local function padnum(d) local dec, n = string.match(d, "(%.?)0*(.+)")
return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n) end
local function padnum(d)
local dec, n = string.match(d, "(%.?)0*(.+)")
return #dec > 0 and ("%.12f"):format(d) or ("%s%03d%s"):format(dec, #n, n)
end
table.sort(o, function(a, b)
return tostring(a):gsub("%.?%d+", padnum)..("%3d"):format(#b)
< tostring(b):gsub("%.?%d+", padnum)..("%3d"):format(#a) end)
return tostring(a):gsub("%.?%d+", padnum) .. ("%3d"):format(#b)
< tostring(b):gsub("%.?%d+", padnum) .. ("%3d"):format(#a)
end)
local _tbl = {}
for _, k in pairs(o) do _tbl[k] = tbl[k] end
return _tbl
end
@@ -345,6 +353,7 @@ function table.key_sort(tbl)
local o = table.get_keys(tbl, true)
local _tbl = {}
for _, k in pairs(o) do _tbl[k] = tbl[k] end
return _tbl
end
@@ -365,7 +374,7 @@ end
end
]]
function table.binary_search(t, target)
--For some reason bit32.bnot doesn't return negative numbers so I'm using ~x = -1 - x instead.
-- For some reason bit32.bnot doesn't return negative numbers so I'm using ~x = -1 - x instead.
local lower = 1
local upper = #t
@@ -390,7 +399,7 @@ function table.binary_search(t, target)
end
-- add table-related functions that exist in base factorio/util to the 'table' table
require 'util'
require "util"
--- Similar to serpent.block, returns a string with a pretty representation of a table.
-- Notice: This method is not appropriate for saving/restoring tables. It is meant to be used by the programmer mainly while debugging a program.
@@ -400,7 +409,7 @@ require 'util'
-- process is a function which allow altering the passed object before transforming it into a string.
-- A typical way to use it would be to remove certain values so that they don't appear at all.
-- return <string> the prettied table
table.inspect = require 'modules.exp_util.include.inspect' --- @dep modules.exp_util.includes.inspect
table.inspect = require "modules.exp_util.include.inspect" --- @dep modules.exp_util.includes.inspect
--- Takes a table and returns the number of entries in the table. (Slower than #table, faster than iterating via pairs)
table.size = table_size