add globals scripts
Some checks failed
Clang-format Check / clang-format-check (push) Failing after 7s

This commit is contained in:
Timofey Khoruzhii 2023-05-09 01:22:14 +03:00
parent a675b64b5f
commit b58697e058
2 changed files with 69 additions and 0 deletions

View file

@ -0,0 +1,29 @@
local cmd = require("cmd")
local cd = cmd.cd
local cmd = cmd.cmd
local cmake = {
prepare = function()
cmd[[
if [ -d "build" ]; then
rm -r "build"
fi
]]
cmd'mkdir build'
cd'build'
cmd'cmake ..'
end,
build = function()
cd'build'
cmd'make -j'
end
}
function cmake:all()
cmake.prepare()
cmake.build()
end
return cmake

40
assets/lua/global/cmd.lua Normal file
View file

@ -0,0 +1,40 @@
local function join(delimiter, list)
local result = ""
local len = #list
for i, v in ipairs(list) do
result = result .. tostring(v)
if i < len then
result = result .. tostring(delimiter)
end
end
return result
end
local function quoted(str)
local escaped_str = string.gsub(str, '[\\"]', '\\%1')
return '"' .. escaped_str .. '"'
end
local lfs = require("lfs")
return {
cmd = function(cmd)
if type(cmd) == "string" then
cmd = {cmd}
end
local cmd_line = table.concat(cmd, "\n")
for i, v in ipairs(cmd) do
cmd[i] = "\27[32m-> \27[0m" .. string.gsub(cmd[i], "\n", "\n\27[32m-> \27[0m")
end
local print_line = table.concat(cmd, "\n")
print(print_line)
return assert(os.execute("bash -e -c " .. quoted(cmd_line)))
end,
cd = function(path)
print("\27[32m-> \27[0mcd " .. path)
assert(lfs.chdir(path))
end
}