From 4e552414d4d53c51d000a4c54a25a9b484d591e3 Mon Sep 17 00:00:00 2001 From: Radar Date: Thu, 22 Dec 2022 15:50:45 +0100 Subject: [PATCH] Allow to define own path for short_path formatter let g:airline#extensions#tabline#formatter = 'short_path' let g:airline#extensions#tabline#fnamemod = ':h' Update short_path documentation --- .../airline/extensions/tabline/formatters/short_path.vim | 3 ++- doc/airline.txt | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/autoload/airline/extensions/tabline/formatters/short_path.vim b/autoload/airline/extensions/tabline/formatters/short_path.vim index 576394fa..d7fe2cea 100644 --- a/autoload/airline/extensions/tabline/formatters/short_path.vim +++ b/autoload/airline/extensions/tabline/formatters/short_path.vim @@ -6,6 +6,7 @@ scriptencoding utf-8 let s:fnamecollapse = get(g:, 'airline#extensions#tabline#fnamecollapse', 1) function! airline#extensions#tabline#formatters#short_path#format(bufnr, buffers) + let fmod = get(g:, 'airline#extensions#tabline#fnamemod', ':p:h:t') let _ = '' let name = bufname(a:bufnr) @@ -15,7 +16,7 @@ function! airline#extensions#tabline#formatters#short_path#format(bufnr, buffers " Neovim Terminal let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '') else - let _ .= fnamemodify(name, ':p:h:t') . '/' . fnamemodify(name, ':t') + let _ .= fnamemodify(name, fmod) . '/' . fnamemodify(name, ':t') endif return airline#extensions#tabline#formatters#default#wrap_name(a:bufnr, _) diff --git a/doc/airline.txt b/doc/airline.txt index febba2f1..7979a375 100644 --- a/doc/airline.txt +++ b/doc/airline.txt @@ -1321,6 +1321,13 @@ Note: Not displayed if the number of tabs is less than 1 let g:airline#extensions#tabline#formatter = 'short_path' + " `short_path` can also display file name as relative to the current + " directory, if possible + let g:airline#extensions#tabline#fnamemod = ':h' + + " or display file name as relative to the home directory, if possible + let g:airline#extensions#tabline#fnamemod = ':~:h' + * defines the customized format() function to display tab title in tab mode. > let g:airline#extensions#tabline#tabtitle_formatter = 'MyTabTitleFormatter' <