From db3835d0cae6990e09b0a3377229d153aee0ad90 Mon Sep 17 00:00:00 2001 From: skywind3000 Date: Tue, 5 Feb 2019 06:03:40 +0800 Subject: [PATCH] add manual purge --- z.lua | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/z.lua b/z.lua index 037fb18..fe82aca 100755 --- a/z.lua +++ b/z.lua @@ -1135,7 +1135,9 @@ function z_add(path) end local H = os.getenv('HOME') local M = data_load(DATA_FILE) - M = data_filter(M) + if not os.getenv('_ZL_NO_FILTER') then + M = data_filter(M) + end -- insert paths for _, path in pairs(paths) do if os.path.isdir(path) and os.path.isabs(path) then @@ -1430,6 +1432,22 @@ function z_cd(patterns) end +----------------------------------------------------------------------- +-- purge invalid paths +----------------------------------------------------------------------- +function z_purge() + local M = data_load(DATA_FILE) + local N = data_filter(M) + local x = #M + local y = #N + if #M == ~N then + return x, y + end + data_save(DATA_FILE, X) + return x, y +end + + ----------------------------------------------------------------------- -- find_vcs_root ----------------------------------------------------------------------- @@ -1587,6 +1605,8 @@ function main(argv) z_add(args) elseif options['-x'] then z_remove(args) + elseif options['--purge'] then + local src, dst = z_purge() elseif options['--init'] then local opts = {} for _, key in ipairs(args) do