From feffe662ee956e02733671357a5f80f97c1a2b5e Mon Sep 17 00:00:00 2001 From: Diogo Duarte Date: Wed, 14 Aug 2024 09:44:02 +0100 Subject: [PATCH] refactored last_directory configs + added persistence to last directory --- init.lua | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 93e57bd..ba22263 100644 --- a/init.lua +++ b/init.lua @@ -88,10 +88,19 @@ local _save_state = ya.sync(function(state, bookmarks) ps.pub_to(0, "@bookmarks", save_state) end) -local _save_last_directory = ya.sync(function(state) +local _save_last_directory = ya.sync(function(state, persist) + if persist then + ps.sub_remote("@bookmarks-lastdir", function(body) state.curr_dir = body end) + end + ps.sub("cd", function() local file = _get_hovered_file() state.last_dir = state.curr_dir + + if persist and state.last_dir then + ps.pub_to(0, "@bookmarks-lastdir", state.last_dir) + end + state.curr_dir = { on = "'", desc = _generate_description(file), @@ -217,8 +226,13 @@ return { return end + -- TODO: DEPRECATED if args.save_last_directory then _save_last_directory() + elseif type(args.last_directory) == "table" then + if args.last_directory.enable then + _save_last_directory(args.last_directory.persist) + end end if args.persist == "all" or args.persist == "vim" then