term: better formatting of neovim terminal

closes #2074
This commit is contained in:
Christian Brabandt 2020-02-27 13:37:50 +01:00
parent bc19a18b3c
commit 774cd8b08f
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
3 changed files with 12 additions and 1 deletions

View File

@ -16,6 +16,9 @@ function! airline#extensions#tabline#formatters#default#format(bufnr, buffers)
let name = bufname(a:bufnr)
if empty(name)
let _ .= '[No Name]'
elseif name =~ 'term://'
" Neovim Terminal
let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '')
else
if s:fnamecollapse
" Does not handle non-ascii characters like Cyrillic: 'D/Учёба/t.c'

View File

@ -11,6 +11,9 @@ function! airline#extensions#tabline#formatters#short_path#format(bufnr, buffers
let name = bufname(a:bufnr)
if empty(name)
let _ .= '[No Name]'
elseif name =~ 'term://'
" Neovim Terminal
let _ = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '')
else
let _ .= fnamemodify(name, ':p:h:t') . '/' . fnamemodify(name, ':t')
endif

View File

@ -12,7 +12,12 @@ function! airline#extensions#tabline#formatters#unique_tail#format(bufnr, buffer
if empty(name)
let map[nr] = airline#extensions#tabline#formatters#default#wrap_name(nr, '[No Name]')
else
let tail = fnamemodify(name, ':s?/\+$??:t')
if name =~ 'term://'
" Neovim Terminal
let tail = substitute(name, '\(term:\)//.*:\(.*\)', '\1 \2', '')
else
let tail = fnamemodify(name, ':s?/\+$??:t')
endif
if has_key(tails, tail)
let duplicates[nr] = nr
endif