mirror of
https://github.com/itchyny/lightline.vim.git
synced 2025-11-13 14:03:51 -05:00
fix s:subseparator
- wrap the visible conditions with parenthesis - fix for older versions of Vim (do not use v:key of map(); s:map does not capture the environment)
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
" Filename: autoload/lightline.vim
|
" Filename: autoload/lightline.vim
|
||||||
" Author: itchyny
|
" Author: itchyny
|
||||||
" License: MIT License
|
" License: MIT License
|
||||||
" Last Change: 2016/04/13 20:36:13.
|
" Last Change: 2016/04/14 00:16:41.
|
||||||
" =============================================================================
|
" =============================================================================
|
||||||
|
|
||||||
let s:save_cpo = &cpo
|
let s:save_cpo = &cpo
|
||||||
@@ -343,11 +343,11 @@ function! lightline#highlight(...) abort
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:subseparator(components, subseparator, expanded) abort
|
function! s:subseparator(components, subseparator, expanded) abort
|
||||||
let [c, f, v] = [ s:lightline.component, s:lightline.component_function, s:lightline.component_visible_condition ]
|
let [a, c, f, v] = [ a:components, s:lightline.component, s:lightline.component_function, s:lightline.component_visible_condition ]
|
||||||
let xs = s:map(a:components, 'a:expanded[v:key] ? "1" : has_key(f, v:val) ?
|
let xs = map(range(len(a:components)), 'a:expanded[v:val] ? "1" :
|
||||||
\ (exists("*".f[v:val]) ? "(".f[v:val]."()!=#\"\")" : "(exists(\"*".f[v:val]."\")?".f[v:val]."()!=#\"\":0)") :
|
\ has_key(f, a[v:val]) ? (exists("*".f[a[v:val]]) ? "(".f[a[v:val]]."()!=#\"\")" : "(exists(\"*".f[a[v:val]]."\")&&".f[a[v:val]]."()!=#\"\")") :
|
||||||
\ get(v, v:val, has_key(c, v:val) ? "1" : "0")')
|
\ has_key(v, a[v:val]) ? "(" . v[a[v:val]] . ")" : has_key(c, a[v:val]) ? "1" : "0"')
|
||||||
return '%{' . xs[0] . '&&(' . join(xs[1:], '||') . ')?"' . a:subseparator . '":""}'
|
return '%{' . (xs[0] !=# '1' ? xs[0] . '&&' : '') . '(' . join(xs[1:], '||') . ')?"' . a:subseparator . '":""}'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! lightline#concatenate(xs, right) abort
|
function! lightline#concatenate(xs, right) abort
|
||||||
|
|||||||
Reference in New Issue
Block a user