From abb1a29a3811c058eac1f40d2518759f284d3951 Mon Sep 17 00:00:00 2001 From: itchyny Date: Wed, 13 Apr 2016 00:36:57 +0900 Subject: [PATCH] improve s:line: remove substitute() --- autoload/lightline.vim | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/autoload/lightline.vim b/autoload/lightline.vim index e831322..b7c4e85 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/04/13 00:03:51. +" Last Change: 2016/04/13 00:33:57. " ============================================================================= let s:save_cpo = &cpo @@ -451,8 +451,8 @@ function! s:line(tabline, inactive) abort for i in range(len(lt)) let _ .= printf('%%#LightLineLeft_%s_%s#', mode, ll[i]) for j in range(len(lt[i])) - let x = substitute('%( '.(lc[i][j] ? lt[i][j] : has_key(f,lt[i][j])?'%{exists("*'.f[lt[i][j]].'")?'.f[lt[i][j]].'():""}':get(c,lt[i][j],'')).' %)', '^%( %)', '', '') - let _ .= has_key(t,lt[i][j])&&t[lt[i][j]]==#'raw'&&strlen(x)>7 ? x[3:-4] : x + let x = lc[i][j] ? lt[i][j] : has_key(f, lt[i][j]) ? '%{exists("*' . f[lt[i][j]] . '")?' . f[lt[i][j]] . '():""}' : get(c, lt[i][j], '') + let _ .= has_key(t, lt[i][j]) && t[lt[i][j]] ==# 'raw' || x ==# '' ? x : '%( ' . x . ' %)' if j < len(lt[i]) - 1 let _ .= s:subseparator(lt[i][(j):], s.left, lc[i][(j):]) endif @@ -464,8 +464,8 @@ function! s:line(tabline, inactive) abort let _ .= printf('%%#LightLineRight_%s_%s_%s#', mode, rl[i], rl[i + 1]) . (i < r + len(rt) - len(r_) && rl[i] < r || type(rl[i]) != type(rl[i + 1]) || type(rl[i]) && type(rl[i + 1]) && rl[i] != rl[i + 1] ? p.right : len(rt[i]) ? s.right : '') let _ .= printf('%%#LightLineRight_%s_%s#', mode, rl[i]) for j in range(len(rt[i])) - let x = substitute('%( '.(rc[i][j] ? rt[i][j] : has_key(f,rt[i][j])?'%{exists("*'.f[rt[i][j]].'")?'.f[rt[i][j]].'():""}':get(c,rt[i][j],'')).' %)', '^%( %)', '', '') - let _ .= has_key(t,rt[i][j])&&t[rt[i][j]]==#'raw'&&strlen(x)>7 ? x[3:-4] : x + let x = rc[i][j] ? rt[i][j] : has_key(f, rt[i][j]) ? '%{exists("*' . f[rt[i][j]] . '")?' . f[rt[i][j]] . '():""}' : get(c, rt[i][j], '') + let _ .= has_key(t, rt[i][j]) && t[rt[i][j]] ==# 'raw' || x ==# '' ? x : '%( ' . x . ' %)' if j < len(rt[i]) - 1 let _ .= s:subseparator(rt[i][(j):], s.right, rc[i][(j):]) endif