From 3687b707fa940cd5ca3ea11121a26c67b5d520e3 Mon Sep 17 00:00:00 2001 From: Kien N Date: Fri, 13 Jan 2012 20:20:51 +0700 Subject: [PATCH] Use buffer local autocmd * Add mapping to force update --- autoload/tabman.vim | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/autoload/tabman.vim b/autoload/tabman.vim index 6f2e096..cd8a630 100644 --- a/autoload/tabman.vim +++ b/autoload/tabman.vim @@ -59,6 +59,8 @@ let s:hlp = [[ \ '" previous Tab# line', \ '" ----------------------', \ '" r: fix TabMan window', + \ '"', + \ '" : force update', \ '" ----------------------', \ '" , e, x, b, o, O:', \ '" accept line number', @@ -77,6 +79,7 @@ let [s:maps, s:name, s:lcmap] = [{ \ 'ManJump(-1)': ['h', ''], \ 'ManTab(1)': ['', ''], \ 'ManTab(-1)': ['', ''], + \ 'ManUpdate(1)': [''], \ 'ManRestore()': ['r'], \ 'ManHelp()': ['?'], \ }, 'TabManager', 'nn '] @@ -90,6 +93,7 @@ fu! s:Open() cal s:mapkeys() cal s:render() cal s:width() + cal s:autocmd() unl s:bnew redr ec @@ -352,6 +356,14 @@ fu! s:bufwinnr() let tbm = filter(range(1, winnr('$')), 'bufname(winbufnr(v:val)) == s:name') retu empty(tbm) ? 0 : tbm[0] endf + +fu! s:autocmd() + if !exists('b:done_autocmd') + au BufEnter cal s:ManUpdate(1) + au CursorMoved let s:cview = winsaveview() + let b:done_autocmd = 1 + en +endf "}}} " Public {{{ fu! tabman#focus() @@ -367,14 +379,7 @@ fu! tabman#toggle() cal call(s:bufwinnr() ? 's:Close' : 's:Open', []) endf -if has('autocmd') - aug TabManAug - au! - au BufEnter tabman cal s:ManUpdate(1) - au CursorMoved tabman let s:cview = winsaveview() - au TabEnter,CursorHold * cal s:ManUpdate(2) - aug END -en +au TabEnter,CursorHold * cal s:ManUpdate(2) "}}} " vim:fen:fdm=marker:fmr={{{,}}}:fdl=0:fdc=1:ts=2:sw=2:sts=2