diff --git a/autoload/airline/util.vim b/autoload/airline/util.vim index ef11cbec..4246ccd4 100644 --- a/autoload/airline/util.vim +++ b/autoload/airline/util.vim @@ -6,9 +6,15 @@ scriptencoding utf-8 call airline#init#bootstrap() let s:spc = g:airline_symbols.space -function! airline#util#shorten(text, winwidth, minwidth) +function! airline#util#shorten(text, winwidth, minwidth, ...) if winwidth(0) < a:winwidth && len(split(a:text, '\zs')) > a:minwidth - return matchstr(a:text, '^.\{'.a:minwidth.'}').'…' + if get(a:000, 0, 0) + " shorten from tail + return '…'.matchstr(a:text, '.\{'.a:minwidth.'}$') + else + " shorten from beginning of string + return matchstr(a:text, '^.\{'.a:minwidth.'}').'…' + endif else return a:text endif