local Luacfg = {
_version = "8"
}
setmetatable(Luacfg, {
__call = function(self)
return self.__init()
end
})
function Luacfg.__init()
local self = {}
function self.mkpath(filename)
local sep, pStr = package.config:sub(1, 1), ""
local path = filename:match("(.+"..sep..").+$") or filename
for dir in path:gmatch("[^" .. sep .. "]+") do
pStr = pStr .. dir .. sep
lfs.mkdir(pStr)
end
end
function self.load(filename, tbl)
local file = io.open(filename, "r")
if file then
local text = file:read("*all")
file:close()
local lua_code = loadstring("return "..text)
if lua_code then
loaded_tbl = lua_code()
if type(loaded_tbl) == "table" then
for key, value in pairs(loaded_tbl) do
tbl[key] = value
end
return true
else
return false
end
else
return false
end
else
return false
end
end
function self.save(filename, tbl)
self.mkpath(filename)
local file = io.open(filename, "w+")
if file then
file:write(inspect(tbl))
file:close()
return true
else
return false
end
end
return self
end
----
----
----
inspect = require "inspect"
lfs = require "lfs"
luacfg = Luacfg()
cfg = {
text = "",
}
luacfg.load(ПУть, cfg)
cfg.text = imbuffer.v -- текст из имгуя, ну типо, надеюсь ты знаешь о чем я
luacfg.save(ПУть, cfg)