diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-07-12 11:31:48 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-07-12 11:31:48 +1200 |
commit | f49147db30cbea7e7b7b89ea5877478feeaa38e2 (patch) | |
tree | ec66ee17c67bde009d8db4133dc5d16bf8026dd5 | |
parent | First commit (diff) | |
parent | Bump VERSION (diff) | |
download | vim-insert-timeout-f49147db30cbea7e7b7b89ea5877478feeaa38e2.tar.gz vim-insert-timeout-f49147db30cbea7e7b7b89ea5877478feeaa38e2.zip |
Merge branch 'release/v0.2.0'v0.2.0
* release/v0.2.0:
Bump VERSION
Remove autoload, trim down
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | plugin/insert_timeout.vim | 25 |
2 files changed, 18 insertions, 9 deletions
@@ -1 +1 @@ -0.1.0 +0.2.0 diff --git a/plugin/insert_timeout.vim b/plugin/insert_timeout.vim index 2b127e9..36f63b6 100644 --- a/plugin/insert_timeout.vim +++ b/plugin/insert_timeout.vim @@ -9,20 +9,29 @@ if exists('g:loaded_insert_timeout') || &compatible finish endif -if v:version < 700 +if !has('autocmd') || v:version < 700 finish endif let g:loaded_insert_timeout = 1 +" Initialise 'updatetime' caching variable +let s:updatetime_save = &updatetime + +" Set update time to configured variable or default 20 seconds +function! s:SetUpdatetime() abort + let s:updatetime_save = &updatetime + let &updatetime = get(g:, 'insert_timeout_duration', 20000) +endfunction + +" Restore update time to globally configured variable +function! s:RestoreUpdatetime() abort + let &updatetime = s:updatetime_save +endfunction + " Set up actions in a group augroup insert_timeout autocmd! - - " Set and restore update time - autocmd InsertEnter * call insert_timeout#SetUpdatetime() - autocmd InsertLeave * call insert_timeout#RestoreUpdatetime() - - " Cancel insert mode if timeout reached + autocmd InsertEnter * call s:SetUpdatetime() + autocmd InsertLeave * call s:RestoreUpdatetime() autocmd CursorHoldI * stopinsert - augroup END |