diff --git a/autoload/airline/extensions.vim b/autoload/airline/extensions.vim index d979261..fd6cabd 100644 --- a/autoload/airline/extensions.vim +++ b/autoload/airline/extensions.vim @@ -130,6 +130,11 @@ function! airline#extensions#load() call airline#extensions#tagbar#init(s:ext) endif + if g:airline_enable_csv + call airline#extensions#csv#init(s:ext) + endif + + if exists(':VimShell') let s:filetype_overrides['vimshell'] = ['vimshell','%{vimshell#get_status_string()}'] let s:filetype_regex_overrides['^int-'] = ['vimshell','%{substitute(&ft, "int-", "", "")}'] diff --git a/autoload/airline/extensions/csv.vim b/autoload/airline/extensions/csv.vim new file mode 100644 index 0000000..7c90f1d --- /dev/null +++ b/autoload/airline/extensions/csv.vim @@ -0,0 +1,20 @@ +" MIT license. Copyright (c) 2013 Bailey Ling. +" vim: ts=2 sts=2 sw=2 fdm=indent + +function! airline#extensions#csv#get_statusline() + if &ft ==# "csv" && exists("*CSV_WCol") + if exists("g:airline_filetype_csv") && g:airline_filetype_csv ==# 'Name' + return '['.CSV_WCol('Name').CSV_WCol().']' + else + return '['.CSV_WCol().']' + endif + else + return '' + endif +endfunction + +function! airline#extensions#csv#init(ext) + call a:ext.add_statusline_funcref(function('airline#extensions#csv#get_statusline')) + let g:airline_section_c .= ' '.g:airline_left_alt_sep.' %{airline#extensions#csv#get_statusline()}' +endfunction + diff --git a/doc/airline.txt b/doc/airline.txt index a7620ba..cce5592 100644 --- a/doc/airline.txt +++ b/doc/airline.txt @@ -61,6 +61,16 @@ values): * enable/disable tagbar integration > let g:airline_enable_tagbar=1 + +* enable/disable csv integration +> + let g:airline_enable_csv=1 + + (this displays the column number in the csv file) + + let g:airline_filetype_csv = 'Name' + + (this displays the column name) < * enable modified detection diff --git a/plugin/airline.vim b/plugin/airline.vim index ee8f7f8..3c74f5f 100644 --- a/plugin/airline.vim +++ b/plugin/airline.vim @@ -24,6 +24,7 @@ call s:check_defined('g:airline_enable_bufferline', 1) call s:check_defined('g:airline_enable_branch', 1) call s:check_defined('g:airline_enable_syntastic', 1) call s:check_defined('g:airline_enable_tagbar', 1) +call s:check_defined('g:airline_enable_csv', 1) call s:check_defined('g:airline_detect_iminsert', 0) call s:check_defined('g:airline_detect_modified', 1) call s:check_defined('g:airline_detect_paste', 1)