diff --git a/autoload/airline/formatter/short_path.vim b/autoload/airline/formatter/short_path.vim new file mode 100644 index 00000000..675704e2 --- /dev/null +++ b/autoload/airline/formatter/short_path.vim @@ -0,0 +1,8 @@ +scriptencoding utf-8 + +function! airline#formatter#short_path#format(val) abort + if get(g:, 'airline_stl_path_style', 'default') ==# 'short' + return '%{pathshorten(expand("'.a:val.'"))}%' + endif + return a:val +endfunction diff --git a/autoload/airline/init.vim b/autoload/airline/init.vim index b3191d8d..f23562b0 100644 --- a/autoload/airline/init.vim +++ b/autoload/airline/init.vim @@ -146,7 +146,7 @@ function! airline#init#bootstrap() \ 'function': 'airline#parts#readonly', \ 'accent': 'red', \ }) - call airline#parts#define_raw('file', '%f%m') + call airline#parts#define_raw('file', airline#formatter#short_path#format('%f%m')) call airline#parts#define_raw('path', '%F%m') call airline#parts#define('linenr', { \ 'raw': '%{g:airline_symbols.linenr}%l',