From 0f375addd218c6884d95503c647be84417a3a7d4 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Tue, 20 Aug 2019 14:00:34 +0200 Subject: [PATCH] term: differentiate different term modes closes #1958 closes #1957 --- autoload/airline/extensions/term.vim | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/autoload/airline/extensions/term.vim b/autoload/airline/extensions/term.vim index 463c941d..83689ca5 100644 --- a/autoload/airline/extensions/term.vim +++ b/autoload/airline/extensions/term.vim @@ -3,12 +3,16 @@ scriptencoding utf-8 +let name=get(g:airline_mode_map, 't', 't') +call airline#parts#define_function('tmode', 'airline#extensions#term#termmode') +call airline#parts#define('terminal', {'text': name, 'accent': 'bold'}) +let s:section_a = airline#section#create_left(['terminal', 'tmode']) + function! airline#extensions#term#apply(...) if &buftype == 'terminal' || bufname('%')[0] == '!' let spc = g:airline_symbols.space - let name=get(g:airline_mode_map, 't', 't') - call a:1.add_section('airline_a', spc.name.spc) + call a:1.add_section('airline_a', spc.s:section_a.spc) call a:1.add_section('airline_b', '') call a:1.add_section('airline_term', spc.s:termname()) call a:1.split() @@ -31,6 +35,14 @@ function! airline#extensions#term#inactive_apply(...) endif endfunction +function! airline#extensions#term#termmode() + let mode=airline#parts#mode()[0] + if mode ==? 'T' + let mode='' + endif + return mode +endfunction + function! s:termname() let bufname = bufname('%') if has('nvim')