term: differentiate different term modes

closes #1958
closes #1957
This commit is contained in:
Christian Brabandt 2019-08-20 14:00:34 +02:00
parent a40184536b
commit 0f375addd2
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09

View File

@ -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')