From bfbf2b2241ef809dbf8d321c1bb236b98a236dc8 Mon Sep 17 00:00:00 2001 From: itchyny Date: Mon, 14 Mar 2016 03:20:30 +0900 Subject: [PATCH] Refine lightline#tabline in order to make `bufferline in tabline` work as expected (close #155, related: #36, #89) --- autoload/lightline.vim | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/autoload/lightline.vim b/autoload/lightline.vim index 656f7ad..d6be07d 100644 --- a/autoload/lightline.vim +++ b/autoload/lightline.vim @@ -2,7 +2,7 @@ " Filename: autoload/lightline.vim " Author: itchyny " License: MIT License -" Last Change: 2016/02/03 22:04:28. +" Last Change: 2016/03/14 03:22:16. " ============================================================================= let s:save_cpo = &cpo @@ -83,6 +83,13 @@ function! lightline#init() abort call extend(s:lightline.tabline, { \ 'left': [ [ 'tabs' ] ], \ 'right': [ [ 'close' ] ] }, 'keep') + let s:lightline.tabline_configured = 0 + for components in deepcopy(s:lightline.tabline.left + s:lightline.tabline.right) + if len(filter(components, 'v:val !=# "tabs" && v:val !=# "close"')) > 0 + let s:lightline.tabline_configured = 1 + break + endif + endfor call extend(s:lightline.tab, { \ 'active': [ 'tabnum', 'filename', 'modified' ], \ 'inactive': [ 'tabnum', 'filename', 'modified' ] }, 'keep') @@ -379,7 +386,9 @@ endfunction let [s:tabnrs, s:tabnr, s:tabline] = [-1, -1, ''] function! lightline#tabline() abort if !has_key(s:highlight, 'tabline') | call lightline#highlight('tabline') | endif - if [s:tabnrs, s:tabnr] != [tabpagenr('$'), tabpagenr()] | let [s:tabnrs, s:tabnr, s:tabline] = [tabpagenr('$'), tabpagenr(), s:line(1, 0)] | endif + if s:lightline.tabline_configured || [s:tabnrs, s:tabnr] != [tabpagenr('$'), tabpagenr()] + let [s:tabnrs, s:tabnr, s:tabline] = [tabpagenr('$'), tabpagenr(), s:line(1, 0)] + endif return s:tabline endfunction