prefer function name instead of funcref.

This commit is contained in:
Bailey Ling
2013-08-23 21:22:20 +00:00
parent 95a46cc106
commit e8d0d24163
13 changed files with 46 additions and 23 deletions

View File

@@ -1,9 +1,26 @@
" MIT License. Copyright (c) 2013 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
let g:airline_statusline_funcrefs = get(g:, 'airline_statusline_funcrefs', [])
let s:sections = ['a','b','c','gutter','x','y','z','warning']
let s:highlighter = airline#highlighter#new()
function! airline#add_statusline_func(name)
call airline#add_statusline_funcref(function(a:name))
endfunction
function! airline#add_statusline_funcref(function)
call add(g:airline_statusline_funcrefs, a:function)
endfunction
function! airline#remove_statusline_func(name)
let i = index(g:airline_statusline_funcrefs, function(a:name))
if i > -1
call remove(g:airline_statusline_funcrefs, i)
endif
endfunction
function! airline#load_theme()
call s:highlighter.load_theme()
call airline#extensions#load_theme()

View File

@@ -2,8 +2,11 @@
" vim: et ts=2 sts=2 sw=2
let s:ext = {}
function! s:ext.add_statusline_funcref(funcref) dict
call add(g:airline_statusline_funcrefs, a:funcref)
function! s:ext.add_statusline_func(name) dict
call airline#add_statusline_func(a:name)
endfunction
function! s:ext.add_statusline_funcref(function) dict
call airline#add_statusline_funcref(a:function)
endfunction
let s:script_path = expand('<sfile>:p:h')
@@ -104,7 +107,7 @@ function! airline#extensions#load()
autocmd CursorMoved * call <sid>sync_active_winnr()
" load core funcrefs
call add(g:airline_statusline_funcrefs, function('airline#extensions#update_statusline'))
call airline#add_statusline_func('airline#extensions#update_statusline')
if get(g:, 'loaded_unite', 0)
let g:unite_force_overwrite_statusline = 0

View File

@@ -26,6 +26,6 @@ function! airline#extensions#bufferline#init(ext)
let g:bufferline_separator = ' '
if g:airline_section_c == '%f%m'
call a:ext.add_statusline_funcref(function('airline#extensions#bufferline#apply'))
call a:ext.add_statusline_func('airline#extensions#bufferline#apply')
endif
endfunction

View File

@@ -8,5 +8,5 @@ function! airline#extensions#commandt#apply(...)
endfunction
function! airline#extensions#commandt#init(ext)
call a:ext.add_statusline_funcref(function('airline#extensions#commandt#apply'))
call a:ext.add_statusline_func('airline#extensions#commandt#apply')
endfunction

View File

@@ -27,6 +27,6 @@ function! airline#extensions#csv#apply(...)
endfunction
function! airline#extensions#csv#init(ext)
call a:ext.add_statusline_funcref(function('airline#extensions#csv#apply'))
call a:ext.add_statusline_func('airline#extensions#csv#apply')
endfunction

View File

@@ -59,6 +59,6 @@ function! airline#extensions#ctrlp#init(ext)
\ 'main': 'airline#extensions#ctrlp#ctrlp_airline',
\ 'prog': 'airline#extensions#ctrlp#ctrlp_airline_status',
\ }
call a:ext.add_statusline_funcref(function('airline#extensions#ctrlp#apply'))
call a:ext.add_statusline_func('airline#extensions#ctrlp#apply')
endfunction

View File

@@ -9,13 +9,13 @@ endif
" First you should follow the convention and define an 'init' function.
" It takes a single argument, which is the 'ext'ension manager of sorts,
" which you can invoke certain functions. The most important one is
" 'add_statusline_funcref', which as the name implies, adds a funcref to
" 'add_statusline_func', which as the name implies, adds a function to
" the collection such that it will be invoked prior to changes being made
" to the statusline. Finally, invoke this init function in the
" 'extensions.vim' file after a check to a non-autoloaded variable,
" command, or function.
function! airline#extensions#example#init(ext)
call a:ext.add_statusline_funcref(function('airline#extensions#example#apply'))
call a:ext.add_statusline_func('airline#extensions#example#apply')
" Alternatively, you can also modify the default global section by
" appending or prepending to it. But read on to see why using the funcref

View File

@@ -7,6 +7,6 @@ function! airline#extensions#syntastic#apply(...)
endfunction
function! airline#extensions#syntastic#init(ext)
call a:ext.add_statusline_funcref(function('airline#extensions#syntastic#apply'))
call a:ext.add_statusline_func('airline#extensions#syntastic#apply')
endfunction

View File

@@ -18,7 +18,7 @@ function! s:check_statusline()
endfunction
function! airline#extensions#tagbar#init(ext)
call a:ext.add_statusline_funcref(function('airline#extensions#tagbar#apply'))
call a:ext.add_statusline_func('airline#extensions#tagbar#apply')
let g:airline_section_x = '%(%{get(w:,"airline_active",0) ? tagbar#currenttag("%s","") : ""} '
\ .g:airline_right_alt_sep.' %)'.g:airline_section_x

View File

@@ -16,6 +16,6 @@ function! airline#extensions#undotree#apply(...)
endfunction
function! airline#extensions#undotree#init(ext)
call a:ext.add_statusline_funcref(function('airline#extensions#undotree#apply'))
call a:ext.add_statusline_func('airline#extensions#undotree#apply')
endfunction

View File

@@ -73,7 +73,7 @@ endfunction
function! airline#extensions#whitespace#init(...)
if !s:initialized
let s:initialized = 1
call add(g:airline_statusline_funcrefs, function('airline#extensions#whitespace#apply'))
call airline#add_statusline_func('airline#extensions#whitespace#apply')
endif
unlet! b:airline_whitespace_check