From f0fc8c0cf6b1961fc7142b69ce151925df92ddc8 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 6 Jan 2019 15:25:08 -0800 Subject: Added option to skip cache and piped stderr to /dev/null --- files.moon | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'files.moon') diff --git a/files.moon b/files.moon index 4088980..477e51e 100644 --- a/files.moon +++ b/files.moon @@ -23,9 +23,10 @@ Files.spoof = (filename, contents)-> return filename -- Read a file's contents -Files.read = (filename)-> - if file_contents = _FILE_CACHE[filename] - return file_contents or nil +Files.read = (filename, skip_cache=nil)-> + unless skip_cache + if file_contents = _FILE_CACHE[filename] + return file_contents or nil if filename == 'stdin' or filename == '-' contents = io.read('*a') Files.spoof('stdin', contents) @@ -35,7 +36,8 @@ Files.read = (filename)-> return nil unless file contents = file\read("*a") file\close! - _FILE_CACHE[filename] = contents + unless skip_cache + _FILE_CACHE[filename] = contents return contents or nil {:match, :gsub} = string @@ -59,7 +61,7 @@ Files.list = (path)-> local files _BROWSE_CACHE[path] = if _SPOOFED_FILES[path] or path == 'stdin' or path == '-' {path} - else run_cmd('find -L "'..path..'" -not -path "*/\\.*" -type f') or false + else run_cmd('find -L "'..path..'" -not -path "*/\\.*" -type f 2>/dev/null') or false return _BROWSE_CACHE[path] ok, lfs = pcall(require, "lfs") @@ -95,7 +97,7 @@ if ok if f\match("^%./") then _BROWSE_CACHE[path][i] = f\sub(3) return _BROWSE_CACHE[path] else - unless run_cmd('find . -maxdepth 0') + unless run_cmd('find . -maxdepth 0 2>/dev/null') url = if jit 'https://github.com/spacewander/luafilesystem' else 'https://github.com/keplerproject/luafilesystem' -- cgit v1.2.3