tabline: get rid of s:vars in default formatter

This commit is contained in:
Christian Brabandt 2020-11-26 10:01:36 +01:00
parent a48f67657f
commit a168ca7a28
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09

View File

@ -3,13 +3,8 @@
scriptencoding utf-8 scriptencoding utf-8
let s:fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1)
let s:fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0)
let s:buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ')
let s:buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0)
let s:buf_modified_symbol = g:airline_symbols.modified
function! airline#extensions#tabline#formatters#default#format(bufnr, buffers) function! airline#extensions#tabline#formatters#default#format(bufnr, buffers)
let fnametruncate = get(g:, 'airline#extensions#tabline#fnametruncate', 0)
let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.') let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':~:.')
let _ = '' let _ = ''
@ -20,15 +15,15 @@ function! airline#extensions#tabline#formatters#default#format(bufnr, buffers)
" Neovim Terminal " Neovim Terminal
let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '') let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '')
else else
if s:fnamecollapse if get(g:, 'airline#extensions#tabline#fnamecollapse', 1)
" Does not handle non-ascii characters like Cyrillic: 'D/Учёба/t.c' " Does not handle non-ascii characters like Cyrillic: 'D/Учёба/t.c'
"let _ .= substitute(fnamemodify(name, fmod), '\v\w\zs.{-}\ze(\\|/)', '', 'g') "let _ .= substitute(fnamemodify(name, fmod), '\v\w\zs.{-}\ze(\\|/)', '', 'g')
let _ .= pathshorten(fnamemodify(name, fmod)) let _ .= pathshorten(fnamemodify(name, fmod))
else else
let _ .= fnamemodify(name, fmod) let _ .= fnamemodify(name, fmod)
endif endif
if a:bufnr != bufnr('%') && s:fnametruncate && strlen(_) > s:fnametruncate if a:bufnr != bufnr('%') && fnametruncate && strlen(_) > fnametruncate
let _ = strpart(_, 0, s:fnametruncate) let _ = strpart(_, 0, fnametruncate)
endif endif
endif endif
@ -36,11 +31,15 @@ function! airline#extensions#tabline#formatters#default#format(bufnr, buffers)
endfunction endfunction
function! airline#extensions#tabline#formatters#default#wrap_name(bufnr, buffer_name) function! airline#extensions#tabline#formatters#default#wrap_name(bufnr, buffer_name)
let _ = s:buf_nr_show ? printf(s:buf_nr_format, a:bufnr) : '' let buf_nr_format = get(g:, 'airline#extensions#tabline#buffer_nr_format', '%s: ')
let buf_nr_show = get(g:, 'airline#extensions#tabline#buffer_nr_show', 0)
let buf_modified_symbol = g:airline_symbols.modified
let _ = buf_nr_show ? printf(buf_nr_format, a:bufnr) : ''
let _ .= substitute(a:buffer_name, '\\', '/', 'g') let _ .= substitute(a:buffer_name, '\\', '/', 'g')
if getbufvar(a:bufnr, '&modified') == 1 if getbufvar(a:bufnr, '&modified') == 1
let _ .= s:buf_modified_symbol let _ .= buf_modified_symbol
endif endif
return _ return _
endfunction endfunction