From 568369bd2210980377e88d208716ba1310d4650e Mon Sep 17 00:00:00 2001 From: kdav5758 Date: Thu, 1 Jul 2021 18:05:26 -0500 Subject: [PATCH] added 'autosave_clean_command_line' autocmd --- lua/autosave/modules/autocmds.lua | 27 +++++++++++++++++++++++---- lua/autosave/utils/viml_funcs.lua | 11 +++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/lua/autosave/modules/autocmds.lua b/lua/autosave/modules/autocmds.lua index 8522157..33c9e7e 100644 --- a/lua/autosave/modules/autocmds.lua +++ b/lua/autosave/modules/autocmds.lua @@ -66,10 +66,6 @@ function M.save() print(opts["execution_message"]) set_modified(false) end - - if (opts["clean_command_line_interval"] > 0) then - cmd([[sleep ]] .. opts["clean_command_line_interval"] .. [[ | echon '']]) - end end local function parse_events() @@ -97,6 +93,18 @@ function M.load_autocommands() ]], false ) + + if (opts["clean_command_line_interval"] > 0) then + api.nvim_exec( + [[ + augroup autosave_clean_command_line + autocmd! + autocmd CmdlineLeave * call timer_start(]].. opts["clean_command_line_interval"] ..[[, funcref('g:AutoSaveClearCommandLine')) + augroup END + ]], + false + ) + end end function M.unload_autocommands() @@ -105,6 +113,17 @@ function M.unload_autocommands() autocmd! augroup END ]], false) + + if (opts["clean_command_line_interval"] > 0) then + api.nvim_exec( + [[ + augroup autosave_clean_command_line + autocmd! + augroup END + ]], + false + ) + end end return M diff --git a/lua/autosave/utils/viml_funcs.lua b/lua/autosave/utils/viml_funcs.lua index 2d8a6a8..8ccaf27 100644 --- a/lua/autosave/utils/viml_funcs.lua +++ b/lua/autosave/utils/viml_funcs.lua @@ -13,3 +13,14 @@ api.nvim_exec( ]], false ) + +api.nvim_exec( + [[ + function! g:AutoSaveClearCommandLine(timer) + if mode() ==# 'n' + echon '' + endif + endfunction +]], + false +)