aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2018-07-12 11:31:48 +1200
committerTom Ryder <tom@sanctum.geek.nz>2018-07-12 11:31:48 +1200
commitf49147db30cbea7e7b7b89ea5877478feeaa38e2 (patch)
treeec66ee17c67bde009d8db4133dc5d16bf8026dd5
parentFirst commit (diff)
parentBump VERSION (diff)
downloadvim-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--VERSION2
-rw-r--r--plugin/insert_timeout.vim25
2 files changed, 18 insertions, 9 deletions
diff --git a/VERSION b/VERSION
index 6e8bf73..0ea3a94 100644
--- a/VERSION
+++ b/VERSION
@@ -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