From ee2af42d5f13d72d877c1c4bcb97918f7428f694 Mon Sep 17 00:00:00 2001 From: JINNOUCHI Yasushi Date: Sun, 18 Aug 2024 22:33:26 +0900 Subject: [PATCH] fix: avoid errors occurred by async.util.join (#244) --- lua/frecency/database.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lua/frecency/database.lua b/lua/frecency/database.lua index 569e25d..f5c6ae7 100644 --- a/lua/frecency/database.lua +++ b/lua/frecency/database.lua @@ -116,14 +116,17 @@ end ---@async ---@return string[] function Database:unlinked_entries() - return vim.tbl_flatten(async.util.join(vim.tbl_map(function(path) + -- HACK: async.util.join() does not work with empty table. So when the table + -- has no entries, return early. + local async_fns = vim.tbl_map(function(path) return function() local err, realpath = async.uv.fs_realpath(path) if err or not realpath or realpath ~= path or fs.is_ignored(realpath) then return path end end - end, vim.tbl_keys(self.tbl.records)))) + end, vim.tbl_keys(self.tbl.records)) + return #async_fns > 0 and vim.tbl_flatten(async.util.join(async_fns)) or {} end ---@async