diff options
Diffstat (limited to 'lua/cmake/utils.lua')
-rw-r--r-- | lua/cmake/utils.lua | 156 |
1 files changed, 78 insertions, 78 deletions
diff --git a/lua/cmake/utils.lua b/lua/cmake/utils.lua index ce6d213..9e40aa4 100644 --- a/lua/cmake/utils.lua +++ b/lua/cmake/utils.lua @@ -4,102 +4,102 @@ local uv = vim.uv local utils = {} utils.substitude = function(str, subs) - local ret = str - for k, v in pairs(subs) do - ret = ret:gsub(k, v) - end - return ret + local ret = str + for k, v in pairs(subs) do + ret = ret:gsub(k, v) + end + return ret end function utils.touch_file(path, txt, flag, callback) - uv.fs_open(path, flag, 438, function(err, fd) - assert(not err, err) - assert(fd) - uv.fs_close(fd, function(c_err) - assert(not c_err, c_err) - if type(callback) == "function" then - callback() - end - end) - end) + uv.fs_open(path, flag, 438, function(err, fd) + assert(not err, err) + assert(fd) + uv.fs_close(fd, function(c_err) + assert(not c_err, c_err) + if type(callback) == "function" then + callback() + end + end) + end) end function utils.file_exists(path, callback) - uv.fs_stat(path, function(err, _) - local exists - if err then - exists = false - else - exists = true - end - if type(callback) == "function" then - callback(exists) - end - end) + uv.fs_stat(path, function(err, _) + local exists + if err then + exists = false + else + exists = true + end + if type(callback) == "function" then + callback(exists) + end + end) end function utils.read_file(path, callback) - uv.fs_open(path, "r", 438, function(err, fd) - assert(not err, err) - assert(fd, fd) - uv.fs_fstat(fd, function(s_err, stat) - assert(not s_err, s_err) - assert(stat, stat) - uv.fs_read(fd, stat.size, 0, function(r_err, data) - assert(not r_err, r_err) - uv.fs_close(fd, function(c_err) - assert(not c_err, c_err) - callback(data) - end) - end) - end) - end) + uv.fs_open(path, "r", 438, function(err, fd) + assert(not err, err) + assert(fd, fd) + uv.fs_fstat(fd, function(s_err, stat) + assert(not s_err, s_err) + assert(stat, stat) + uv.fs_read(fd, stat.size, 0, function(r_err, data) + assert(not r_err, r_err) + uv.fs_close(fd, function(c_err) + assert(not c_err, c_err) + callback(data) + end) + end) + end) + end) end function utils.read_file_sync(path) - local fd = assert(vim.uv.fs_open(path, "r", 438)) - local stat = assert(vim.uv.fs_fstat(fd)) - local data = assert(vim.uv.fs_read(fd, stat.size, 0)) - assert(vim.uv.fs_close(fd)) - return data + local fd = assert(vim.uv.fs_open(path, "r", 438)) + local stat = assert(vim.uv.fs_fstat(fd)) + local data = assert(vim.uv.fs_read(fd, stat.size, 0)) + assert(vim.uv.fs_close(fd)) + return data end function utils.write_file(path, txt, callback) - uv.fs_open(path, "w", 438, function(err, fd) - assert(not err, err) - assert(fd) - uv.fs_write(fd, txt, nil, function(w_err, _) - assert(not w_err, w_err) - uv.fs_close(fd, function(c_err) - assert(not c_err, c_err) - if type(callback) == "function" then - callback() - end - end) - end) - end) + uv.fs_open(path, "w", 438, function(err, fd) + assert(not err, err) + assert(fd) + uv.fs_write(fd, txt, nil, function(w_err, _) + assert(not w_err, w_err) + uv.fs_close(fd, function(c_err) + assert(not c_err, c_err) + if type(callback) == "function" then + callback() + end + end) + end) + end) end function utils.symlink(src_path, dst_path, callback) - local src = vim.fs.joinpath(src_path, "compile_commands.json") - utils.file_exists(src, function() - uv.spawn(config.cmake.cmake_path, { - args = { - "-E", - "create_symlink", - src, - vim.fs.joinpath(dst_path, "compile_commands.json"), - }, - }, function(code, signal) - if code ~= 0 then - vim.notify("CMake: error while creating symlink. Code " .. tostring(code), vim.log.levels.ERROR) - return - end - if type(callback) == "function" then - callback() - end - end) - end) + local src = vim.fs.joinpath(src_path, "compile_commands.json") + utils.file_exists(src, function() + uv.spawn(config.cmake.cmake_path, { + args = { + "-E", + "create_symlink", + src, + vim.fs.joinpath(dst_path, "compile_commands.json"), + }, + }, function(code, signal) + if code ~= 0 then + vim.notify("CMake: error while creating symlink. Code " .. tostring(code), vim.log.levels.ERROR) + return + end + if type(callback) == "function" then + callback() + end + end) + end) end return utils |