summaryrefslogtreecommitdiff
path: root/script/async/scanfiles.lua
diff options
context:
space:
mode:
Diffstat (limited to 'script/async/scanfiles.lua')
-rw-r--r--script/async/scanfiles.lua55
1 files changed, 0 insertions, 55 deletions
diff --git a/script/async/scanfiles.lua b/script/async/scanfiles.lua
deleted file mode 100644
index f5249c8e..00000000
--- a/script/async/scanfiles.lua
+++ /dev/null
@@ -1,55 +0,0 @@
-local args = ...
-
-require 'utility'
-local fs = require 'bee.filesystem'
-local glob = require 'glob'
-
-local function scan(mode, root, pattern, options)
- OUT:push('log', 'Scanning:', root:string())
- OUT:push('log', 'Scan pattern:', table.dump(pattern))
- OUT:push('log', 'Scan options:', table.dump(options))
- local session = glob.gitignore(pattern, options)
-
- session:setInterface('type', function (path)
- local fullpath = root / path
- if not fs.exists(fullpath) then
- return nil
- end
- if fs.is_directory(fullpath) then
- return 'directory'
- else
- return 'file'
- end
- return nil
- end)
- session:setInterface('list', function (path)
- local fullpath = root / path
- if not fs.exists(fullpath) then
- return nil
- end
- local list = {}
- for child in fullpath:list_directory() do
- list[#list+1] = child:string()
- end
- return list
- end)
-
- session:scan(function (path)
- local ok, msg = IN:pop()
- if ok and msg == 'stop' then
- OUT:push 'stop'
- return
- end
- OUT:push(mode, fs.absolute(root / path):string())
- end)
-end
-
-for _, data in ipairs(args) do
- local root = fs.path(data.root)
- local suc, err = xpcall(scan, debug.traceback, data.mode, root, data.pattern, data.options)
- if not suc then
- ERR:push(err)
- end
-end
-
-OUT:push 'ok'