From b8965f88056e74192b7491632e5d2a729f8360bb Mon Sep 17 00:00:00 2001 From: itchyny Date: Thu, 22 Aug 2013 04:42:37 +0900 Subject: [PATCH] use CursorMoved (to update after leaving command line buffer) --- autoload/lightline.vim | 8 ++++++++ plugin/lightline.vim | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/autoload/lightline.vim b/autoload/lightline.vim index 7762261..3a7cca7 100644 --- a/autoload/lightline.vim +++ b/autoload/lightline.vim @@ -8,9 +8,17 @@ function! lightline#update(...) let s = lightline#statusline(0) for nr in filter(range(1, winnr('$')), 'v:val != winnr()') call setwinvar(nr, '&statusline', s) + call setwinvar(nr, 'lightline', 1) endfor let s = lightline#statusline(1) call setwinvar(winnr(), '&statusline', s) + call setwinvar(winnr(), 'lightline', 0) +endfunction + +function! lightline#update_once() + if !exists('w:lightline') || w:lightline + call lightline#update() + endif endfunction function! lightline#init() diff --git a/plugin/lightline.vim b/plugin/lightline.vim index f76c3fe..62c9384 100644 --- a/plugin/lightline.vim +++ b/plugin/lightline.vim @@ -3,7 +3,8 @@ set cpo&vim augroup LightLine autocmd! - autocmd WinEnter,BufWinEnter,BufUnload,CmdwinEnter,CmdwinLeave,ShellCmdPost * call lightline#update() + autocmd WinEnter,BufWinEnter * call lightline#update() + autocmd CursorMoved,FileType * call lightline#update_once() autocmd InsertLeave * call lightline#update(1) autocmd InsertEnter * call lightline#update(0) augroup END