mirror of
https://github.com/vim-airline/vim-airline.git
synced 2025-12-28 06:36:51 +08:00
basic support for hiding based on win size per part (#200).
This commit is contained in:
@@ -22,6 +22,10 @@ function! airline#parts#define_raw(key, raw)
|
||||
call airline#parts#define(a:key, { 'raw': a:raw })
|
||||
endfunction
|
||||
|
||||
function! airline#parts#define_minwidth(key, width)
|
||||
call airline#parts#define(a:key, { 'minwidth': a:width })
|
||||
endfunction
|
||||
|
||||
function! airline#parts#define_empty(keys)
|
||||
for key in a:keys
|
||||
call airline#parts#define_raw(key, '')
|
||||
|
||||
@@ -19,12 +19,14 @@ function! s:get_val(key, append)
|
||||
return a:key
|
||||
endif
|
||||
|
||||
let minwidth = get(part, 'minwidth', 0)
|
||||
|
||||
if a:append > 0
|
||||
let val .= '%{airline#util#append('.func.')}'
|
||||
let val .= printf('%%{airline#util#append(%s,%s)}', func, minwidth)
|
||||
elseif a:append < 0
|
||||
let val .= '%{airline#util#prepend('.func.')}'
|
||||
let val .= printf('%%{airline#util#prepend(%s,%s)}', func, minwidth)
|
||||
else
|
||||
let val .= '%{'.func.'}'
|
||||
let val .= printf('%%{airline#util#wrap(%s,%s)}', func, minwidth)
|
||||
endif
|
||||
return val
|
||||
endfunction
|
||||
|
||||
@@ -1,11 +1,24 @@
|
||||
" MIT License. Copyright (c) 2013 Bailey Ling.
|
||||
" vim: et ts=2 sts=2 sw=2
|
||||
|
||||
function! airline#util#append(text)
|
||||
function! airline#util#wrap(text, minwidth)
|
||||
if a:minwidth > 0 && winwidth(0) < a:minwidth
|
||||
return ''
|
||||
endif
|
||||
return a:text
|
||||
endfunction
|
||||
|
||||
function! airline#util#append(text, minwidth)
|
||||
if a:minwidth > 0 && winwidth(0) < a:minwidth
|
||||
return ''
|
||||
endif
|
||||
return empty(a:text) ? '' : ' '.g:airline_left_alt_sep.' '.a:text
|
||||
endfunction
|
||||
|
||||
function! airline#util#prepend(text)
|
||||
function! airline#util#prepend(text, minwidth)
|
||||
if a:minwidth > 0 && winwidth(0) < a:minwidth
|
||||
return ''
|
||||
endif
|
||||
return empty(a:text) ? '' : a:text.' '.g:airline_right_alt_sep.' '
|
||||
endfunction
|
||||
|
||||
|
||||
Reference in New Issue
Block a user