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