From 9c85b1b2f7a596c1a926d804c16422301924b4c1 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 5 Jun 2019 23:03:23 +1200 Subject: Refactor to use dynamic autocmds --- autoload/insert_timeout.vim | 27 +++++++++++++++++---------- plugin/insert_timeout.vim | 6 +----- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/autoload/insert_timeout.vim b/autoload/insert_timeout.vim index 8ca3e7c..3dfe9ad 100644 --- a/autoload/insert_timeout.vim +++ b/autoload/insert_timeout.vim @@ -1,14 +1,21 @@ -" Set update time to configured variable or default 20 seconds -function! insert_timeout#Enter() abort +" Set update time to configured variable or default 20 seconds for duration of +" insert +function! insert_timeout#() abort + + " Save current value of 'updatetime' into script variable let s:updatetime = &updatetime + + " Set 'updatetime' to configured variable or default let &updatetime = get(g:, 'insert_timeout_duration', 20000) -endfunction -" Restore update time to its previous value -function! insert_timeout#Leave() abort - if !exists('s:updatetime') - return - endif - let &updatetime = s:updatetime - unlet s:updatetime + " Restore 'updatetime' when insert mode ends + autocmd insert_timeout InsertLeave * + \ let &updatetime = s:updatetime + \|autocmd! insert_timeout InsertLeave + + " Stop the insert after 'updatetime' seconds + autocmd insert_timeout CursorHoldI * + \ stopinsert + \|autocmd! insert_timeout CursorHoldI + endfunction diff --git a/plugin/insert_timeout.vim b/plugin/insert_timeout.vim index 80915d3..b0abde6 100644 --- a/plugin/insert_timeout.vim +++ b/plugin/insert_timeout.vim @@ -15,9 +15,5 @@ let loaded_insert_timeout = 1 augroup insert_timeout autocmd! autocmd InsertEnter * - \ call insert_timeout#Enter() - autocmd InsertLeave * - \ call insert_timeout#Leave() - autocmd CursorHoldI * - \ stopinsert + \ call insert_timeout#() augroup END -- cgit v1.2.3 From 0f1de57048d87b70448cc38ebbc5bea502ca1678 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 5 Jun 2019 23:04:30 +1200 Subject: Bump VERSION --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 7dea76e..227cea2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.1 +2.0.0 -- cgit v1.2.3