61 lines
1.4 KiB
Lua
61 lines
1.4 KiB
Lua
os.platform = nil
|
|
if os.platform == nil then
|
|
local libExt = package.cpath:match("%p[\\|/]?\\.%p(%a+)")
|
|
if libExt == 'dll' then
|
|
os.platform = "Windows"
|
|
elseif libExt == 'so' then
|
|
os.platform = "Linux"
|
|
elseif libExt == 'dylib' then
|
|
os.platform = "MacOS"
|
|
end
|
|
end
|
|
|
|
|
|
os.copy = function(src, dest)
|
|
if os.platform == "Windows" then
|
|
src = string.gsub(src, "/", "\\")
|
|
src = os.text.toencoding(src)
|
|
dest = os.text.toencoding(dest)
|
|
os.execute('copy "' .. src .. '" "' .. dest .. '" >NUL')
|
|
else
|
|
os.execute('cp "' .. src .. '" "' .. dest .. '"')
|
|
end
|
|
end
|
|
|
|
os.mkdir = function(dir)
|
|
if os.exists(dir) then
|
|
return
|
|
end
|
|
if os.platform == "Windows" then
|
|
dir = os.text.toencoding(dir)
|
|
os.execute('mkdir "' .. dir .. '"')
|
|
else
|
|
os.execute('mkdir -p "' .. dir .. '"')
|
|
end
|
|
end
|
|
|
|
os.exists = function(path)
|
|
if os.platform == "Windows" then
|
|
path = string.gsub(path, "/", "\\")
|
|
path = os.text.toencoding(path)
|
|
local _, _, code = os.execute('if exist "' .. path .. '" (exit 0) else (exit 1)')
|
|
return code == 0
|
|
else
|
|
local _, _, code = os.execute('test -e "' .. path .. '"')
|
|
return code == 0
|
|
end
|
|
end
|
|
|
|
string.starts_with = function(str, start)
|
|
return str:sub(1, #start) == start
|
|
end
|
|
|
|
string.ends_with = function(str, ending)
|
|
return ending == "" or str:sub(-#ending) == ending
|
|
end
|
|
|
|
|
|
return {
|
|
os = os,
|
|
string = string
|
|
} |