aboutsummaryrefslogtreecommitdiffstats
path: root/lua/conform/fs.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/conform/fs.lua')
-rw-r--r--lua/conform/fs.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/lua/conform/fs.lua b/lua/conform/fs.lua
index d303dbd..c33a2dc 100644
--- a/lua/conform/fs.lua
+++ b/lua/conform/fs.lua
@@ -15,4 +15,24 @@ M.join = function(...)
return table.concat({ ... }, M.sep)
end
+---@param filepath string
+---@return boolean
+M.exists = function(filepath)
+ local stat = uv.fs_stat(filepath)
+ return stat ~= nil and stat.type ~= nil
+end
+
+---@param filepath string
+---@return string?
+M.read_file = function(filepath)
+ if not M.exists(filepath) then
+ return nil
+ end
+ local fd = assert(uv.fs_open(filepath, "r", 420)) -- 0644
+ local stat = assert(uv.fs_fstat(fd))
+ local content = uv.fs_read(fd, stat.size)
+ uv.fs_close(fd)
+ return content
+end
+
return M