From de34592dbebfa8882f495694d73f2a8b1e2d0856 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Mon, 9 Jul 2018 19:22:40 -0700 Subject: Adding some compatibility stuff. --- files.moon | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'files.moon') diff --git a/files.moon b/files.moon index 708bba1..9ac8ca7 100644 --- a/files.moon +++ b/files.moon @@ -37,7 +37,7 @@ ok, lfs = pcall(require, "lfs") if ok raw_file_exists = (filename)-> mode = lfs.attributes(filename, 'mode') - return if mode == 'file' or mode == 'directory' then true else false + return if mode == 'file' or mode == 'directory' or mode == 'link' then true else false files.exists = (path)-> return true if path == 'stdin' or raw_file_exists(path) if package.nomsupath @@ -46,20 +46,20 @@ if ok return false -- Return 'true' if any files or directories are found, otherwise 'false', and yield every filename browse = (filename)-> - file_type = lfs.attributes(filename, 'mode') + file_type, err = lfs.attributes(filename, 'mode') if file_type == 'file' if match(filename, "%.nom$") or match(filename, "%.lua$") coroutine.yield filename return true - elseif file_type == 'directory' + elseif file_type == 'directory' or file_type == 'link' for subfile in lfs.dir(filename) - -- Only include .nom files unless directly specified - unless subfile == "." or subfile == ".." or not subfile\match("%.nom$") + unless subfile == "." or subfile == ".." browse(filename.."/"..subfile) return true elseif file_type == 'char device' coroutine.yield(filename) return true + return false files.walk = (path)-> if match(path, "%.nom$") or match(path, "%.lua$") or path == 'stdin' -- cgit v1.2.3