tabline: prepare for vim9script implementation

This commit is contained in:
Christian 2020-11-18 15:16:21 +01:00 committed by Christian Brabandt
parent caaa553ce9
commit e6bd342293
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09

View File

@ -11,7 +11,10 @@ endif
let s:ctrlspace = get(g:, 'CtrlSpaceLoaded', 0)
let s:tabws = get(g:, 'tabws_loaded', 0)
function! airline#extensions#tabline#init(ext)
unlet! g:airline_experimental
if !exists(":def") || (exists(":def") && get(g:, "airline_experimental", 0)==0)
function! airline#extensions#tabline#init(ext)
if has('gui_running')
set guioptions-=e
endif
@ -21,9 +24,9 @@ function! airline#extensions#tabline#init(ext)
call s:toggle_on()
call a:ext.add_theme_func('airline#extensions#tabline#load_theme')
endfunction
endfunction
function! s:toggle_off()
function! s:toggle_off()
call airline#extensions#tabline#autoshow#off()
call airline#extensions#tabline#tabs#off()
call airline#extensions#tabline#buffers#off()
@ -33,9 +36,9 @@ function! s:toggle_off()
if s:tabws
call airline#extensions#tabline#tabws#off()
endif
endfunction
endfunction
function! s:toggle_on()
function! s:toggle_on()
if get(g:, 'airline_statusline_ontop', 0)
call airline#extensions#tabline#enable()
let &tabline='%!airline#statusline('.winnr().')'
@ -52,9 +55,9 @@ function! s:toggle_on()
endif
set tabline=%!airline#extensions#tabline#get()
endfunction
endfunction
function! s:update_tabline(forceit)
function! s:update_tabline(forceit)
if get(g:, 'airline#extensions#tabline#disable_refresh', 0)
return
endif
@ -74,9 +77,9 @@ function! s:update_tabline(forceit)
endif
call airline#util#doautocmd('BufMRUChange')
call airline#extensions#tabline#redraw()
endfunction
endfunction
function! airline#extensions#tabline#redraw()
function! airline#extensions#tabline#redraw()
" sometimes, the tabline is not correctly updated see #1580
" so force redraw here
if exists(":redrawtabline") == 2
@ -87,15 +90,15 @@ function! airline#extensions#tabline#redraw()
" need something less invasive.
let &ro = &ro
endif
endfunction
endfunction
function! airline#extensions#tabline#enable()
function! airline#extensions#tabline#enable()
if &lines > 3
set showtabline=2
endif
endfunction
endfunction
function! airline#extensions#tabline#load_theme(palette)
function! airline#extensions#tabline#load_theme(palette)
if pumvisible()
return
endif
@ -142,11 +145,11 @@ function! airline#extensions#tabline#load_theme(palette)
call airline#highlighter#exec('airline_tabmod_right', tabmod_right)
call airline#highlighter#exec('airline_tabhid_right', tabhid_right)
call airline#highlighter#exec('airline_tabmod_unsel_right', tabmodu_right)
endfunction
endfunction
let s:current_tabcnt = -1
let s:current_tabcnt = -1
function! airline#extensions#tabline#get()
function! airline#extensions#tabline#get()
let show_buffers = get(g:, 'airline#extensions#tabline#show_buffers', 1)
let show_tabs = get(g:, 'airline#extensions#tabline#show_tabs', 1)
@ -174,9 +177,9 @@ function! airline#extensions#tabline#get()
else
return airline#extensions#tabline#tabs#get()
endif
endfunction
endfunction
function! airline#extensions#tabline#title(n)
function! airline#extensions#tabline#title(n)
let title = ''
if s:taboo
let title = TabooTabTitle(a:n)
@ -203,15 +206,15 @@ function! airline#extensions#tabline#title(n)
endif
return title
endfunction
endfunction
function! airline#extensions#tabline#get_buffer_name(nr, ...)
function! airline#extensions#tabline#get_buffer_name(nr, ...)
let buffers = a:0 ? a:1 : airline#extensions#tabline#buflist#list()
let formatter = get(g:, 'airline#extensions#tabline#formatter', 'default')
return airline#extensions#tabline#formatters#{formatter}#format(a:nr, buffers)
endfunction
endfunction
function! airline#extensions#tabline#new_builder()
function! airline#extensions#tabline#new_builder()
let builder_context = {
\ 'active' : 1,
\ 'tabline' : 1,
@ -227,9 +230,9 @@ function! airline#extensions#tabline#new_builder()
endif
return airline#extensions#tabline#builder#new(builder_context)
endfunction
endfunction
function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr)
function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr)
let cur = bufnr('%')
if cur == a:bufnr
if g:airline_detect_modified && getbufvar(a:bufnr, '&modified')
@ -247,21 +250,24 @@ function! airline#extensions#tabline#group_of_bufnr(tab_bufs, bufnr)
endif
endif
return group
endfunction
endfunction
function! airline#extensions#tabline#add_label(dict, type, right)
function! airline#extensions#tabline#add_label(dict, type, right)
if get(g:, 'airline#extensions#tabline#show_tab_type', 1)
call a:dict.add_section_spaced('airline_tablabel'.
\ (a:right ? '_right' : ''),
\ get(g:, 'airline#extensions#tabline#'.a:type.'_label', a:type))
endif
endfunction
endfunction
function! airline#extensions#tabline#add_tab_label(dict)
function! airline#extensions#tabline#add_tab_label(dict)
let show_tab_count = get(g:, 'airline#extensions#tabline#show_tab_count', 1)
if show_tab_count == 2
call a:dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$')))
elseif show_tab_count == 1 && tabpagenr('$') > 1
call a:dict.add_section_spaced('airline_tabmod', printf('%s %d/%d', "tab", tabpagenr(), tabpagenr('$')))
endif
endfunction
endfunction
else
" Vim9 Script implementation
endif