diff --git a/lua/nivvie/init.lua b/lua/nivvie/init.lua index a9c823e..128baeb 100644 --- a/lua/nivvie/init.lua +++ b/lua/nivvie/init.lua @@ -6,6 +6,7 @@ function nivvie.setup(cfg) require('nivvie.config').set(cfg) end +nivvie.autorestored = false nivvie.stdin = false function nivvie.get_uri() @@ -88,7 +89,23 @@ function nivvie.autorestore() return end + nivvie.autorestored = true + nivvie.restore() end +-- only save if nvim was not started with file arguments/stdin +function nivvie.autosave() + if not nivvie.autorestored then + return + end + + if not require('nivvie.config').get().autosave then + return + end + + require('nivvie').clean() + require('nivvie').save() +end + return nivvie diff --git a/plugin/nivvie.lua b/plugin/nivvie.lua index 8fc29d6..aaf0850 100644 --- a/plugin/nivvie.lua +++ b/plugin/nivvie.lua @@ -9,11 +9,7 @@ local group = vim.api.nvim_create_augroup('nivvie', { clear = true }) vim.api.nvim_create_autocmd({ 'VimLeavePre' }, { group = group, callback = function() - if not require('nivvie.config').get().autosave then - return - end - require('nivvie').clean() - require('nivvie').save() + require('nivvie').autosave() end, })