2021-01-01 12:57:00 +00:00
|
|
|
" MIT License. Copyright (c) 2013-2021 Bailey Ling et al.
|
2013-08-20 00:13:29 +00:00
|
|
|
" vim: et ts=2 sts=2 sw=2
|
2013-08-02 17:56:12 +00:00
|
|
|
|
2016-09-24 00:16:30 +00:00
|
|
|
scriptencoding utf-8
|
|
|
|
|
2018-11-14 07:06:39 +00:00
|
|
|
let s:loaded_ext = []
|
2013-08-06 02:44:34 +00:00
|
|
|
let s:ext = {}
|
2013-09-01 23:39:06 +00:00
|
|
|
let s:ext._theme_funcrefs = []
|
|
|
|
|
2013-08-23 21:22:20 +00:00
|
|
|
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)
|
2013-08-06 02:44:34 +00:00
|
|
|
endfunction
|
2013-08-24 13:31:30 +00:00
|
|
|
function! s:ext.add_inactive_statusline_func(name) dict
|
|
|
|
call airline#add_inactive_statusline_func(a:name)
|
|
|
|
endfunction
|
2013-09-01 23:39:06 +00:00
|
|
|
function! s:ext.add_theme_func(name) dict
|
|
|
|
call add(self._theme_funcrefs, function(a:name))
|
|
|
|
endfunction
|
2013-08-06 02:44:34 +00:00
|
|
|
|
2013-09-03 15:04:17 +00:00
|
|
|
let s:script_path = tolower(resolve(expand('<sfile>:p:h')))
|
2013-08-22 04:19:56 +00:00
|
|
|
|
2013-08-06 03:56:20 +00:00
|
|
|
let s:filetype_overrides = {
|
2020-09-14 22:16:52 +00:00
|
|
|
\ 'coc-explorer': [ 'CoC Explorer', '' ],
|
2019-04-30 15:06:08 +00:00
|
|
|
\ 'defx': ['defx', '%{b:defx.paths[0]}'],
|
2019-11-10 00:47:43 +00:00
|
|
|
\ 'fugitive': ['fugitive', '%{airline#util#wrap(airline#extensions#branch#get_head(),80)}'],
|
2013-08-06 03:56:20 +00:00
|
|
|
\ 'gundo': [ 'Gundo', '' ],
|
2019-04-30 15:06:08 +00:00
|
|
|
\ 'help': [ 'Help', '%f' ],
|
2013-08-06 03:56:20 +00:00
|
|
|
\ 'minibufexpl': [ 'MiniBufExplorer', '' ],
|
|
|
|
\ 'startify': [ 'startify', '' ],
|
2014-11-25 15:49:43 +00:00
|
|
|
\ 'vim-plug': [ 'Plugins', '' ],
|
2019-04-30 14:54:48 +00:00
|
|
|
\ 'vimfiler': [ 'vimfiler', '%{vimfiler#get_status_string()}' ],
|
2019-04-30 15:06:08 +00:00
|
|
|
\ 'vimshell': ['vimshell','%{vimshell#get_status_string()}'],
|
2020-04-29 12:37:36 +00:00
|
|
|
\ 'vaffle' : [ 'Vaffle', '%{b:vaffle.dir}' ],
|
2013-08-06 03:56:20 +00:00
|
|
|
\ }
|
|
|
|
|
2019-11-11 10:20:48 +00:00
|
|
|
if get(g:, 'airline#extensions#nerdtree_statusline', 1)
|
|
|
|
let s:filetype_overrides['nerdtree'] = [ get(g:, 'NERDTreeStatusline', 'NERD'), '' ]
|
|
|
|
else
|
2019-11-15 06:50:36 +00:00
|
|
|
let s:filetype_overrides['nerdtree'] = ['NERDTree', '']
|
2019-11-11 10:20:48 +00:00
|
|
|
endif
|
|
|
|
|
2013-08-12 01:13:18 +00:00
|
|
|
let s:filetype_regex_overrides = {}
|
|
|
|
|
2013-08-25 15:39:11 +00:00
|
|
|
function! s:check_defined_section(name)
|
|
|
|
if !exists('w:airline_section_{a:name}')
|
2013-08-28 02:36:12 +00:00
|
|
|
let w:airline_section_{a:name} = g:airline_section_{a:name}
|
2013-08-25 15:39:11 +00:00
|
|
|
endif
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! airline#extensions#append_to_section(name, value)
|
|
|
|
call <sid>check_defined_section(a:name)
|
|
|
|
let w:airline_section_{a:name} .= a:value
|
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! airline#extensions#prepend_to_section(name, value)
|
|
|
|
call <sid>check_defined_section(a:name)
|
|
|
|
let w:airline_section_{a:name} = a:value . w:airline_section_{a:name}
|
|
|
|
endfunction
|
|
|
|
|
2013-07-25 21:54:49 +00:00
|
|
|
function! airline#extensions#apply_left_override(section1, section2)
|
2013-07-09 02:52:07 +00:00
|
|
|
let w:airline_section_a = a:section1
|
|
|
|
let w:airline_section_b = a:section2
|
2013-09-22 20:19:15 +00:00
|
|
|
let w:airline_section_c = airline#section#create(['readonly'])
|
2013-08-10 16:05:49 +00:00
|
|
|
let w:airline_render_left = 1
|
|
|
|
let w:airline_render_right = 0
|
2013-07-09 02:52:07 +00:00
|
|
|
endfunction
|
|
|
|
|
2013-08-31 15:55:00 +00:00
|
|
|
function! airline#extensions#apply(...)
|
2019-04-30 15:06:08 +00:00
|
|
|
let filetype_overrides = get(s:, 'filetype_overrides', {})
|
|
|
|
call extend(filetype_overrides, get(g:, 'airline_filetype_overrides', {}), 'force')
|
2013-09-22 23:13:08 +00:00
|
|
|
|
2013-08-25 03:09:12 +00:00
|
|
|
if s:is_excluded_window()
|
2013-08-22 03:25:22 +00:00
|
|
|
return -1
|
|
|
|
endif
|
|
|
|
|
2018-11-20 14:48:28 +00:00
|
|
|
if &buftype == 'terminal'
|
|
|
|
let w:airline_section_x = ''
|
|
|
|
let w:airline_section_y = ''
|
|
|
|
endif
|
|
|
|
|
2020-01-11 16:27:24 +00:00
|
|
|
if &previewwindow && empty(get(w:, 'airline_section_a', ''))
|
2013-07-25 12:00:17 +00:00
|
|
|
let w:airline_section_a = 'Preview'
|
|
|
|
let w:airline_section_b = ''
|
|
|
|
let w:airline_section_c = bufname(winbufnr(winnr()))
|
|
|
|
endif
|
|
|
|
|
2019-04-30 15:06:08 +00:00
|
|
|
if has_key(filetype_overrides, &ft) &&
|
|
|
|
\ ((&filetype == 'help' && &buftype == 'help') || &filetype !~ 'help')
|
|
|
|
" for help files only override it, if the buftype is also of type 'help',
|
|
|
|
" else it would trigger when editing Vim help files
|
|
|
|
let args = filetype_overrides[&ft]
|
2013-08-06 03:56:20 +00:00
|
|
|
call airline#extensions#apply_left_override(args[0], args[1])
|
2013-07-09 00:51:33 +00:00
|
|
|
endif
|
2013-08-12 01:13:18 +00:00
|
|
|
|
2019-04-30 15:06:08 +00:00
|
|
|
if &buftype == 'help'
|
|
|
|
let w:airline_section_x = ''
|
|
|
|
let w:airline_section_y = ''
|
|
|
|
let w:airline_render_right = 1
|
|
|
|
endif
|
|
|
|
|
2013-08-12 01:13:18 +00:00
|
|
|
for item in items(s:filetype_regex_overrides)
|
|
|
|
if match(&ft, item[0]) >= 0
|
|
|
|
call airline#extensions#apply_left_override(item[1][0], item[1][1])
|
|
|
|
endif
|
|
|
|
endfor
|
2013-07-25 22:29:18 +00:00
|
|
|
endfunction
|
|
|
|
|
2013-08-25 03:09:12 +00:00
|
|
|
function! s:is_excluded_window()
|
2013-07-25 22:29:18 +00:00
|
|
|
for matchft in g:airline_exclude_filetypes
|
|
|
|
if matchft ==# &ft
|
|
|
|
return 1
|
|
|
|
endif
|
|
|
|
endfor
|
2013-07-25 12:00:17 +00:00
|
|
|
|
2013-07-25 22:29:18 +00:00
|
|
|
for matchw in g:airline_exclude_filenames
|
|
|
|
if matchstr(expand('%'), matchw) ==# matchw
|
|
|
|
return 1
|
|
|
|
endif
|
2013-07-25 12:00:17 +00:00
|
|
|
endfor
|
2013-07-25 22:29:18 +00:00
|
|
|
|
|
|
|
if g:airline_exclude_preview && &previewwindow
|
|
|
|
return 1
|
|
|
|
endif
|
|
|
|
|
|
|
|
return 0
|
2013-07-09 00:51:33 +00:00
|
|
|
endfunction
|
2013-07-09 13:48:57 +00:00
|
|
|
|
2013-07-27 14:02:43 +00:00
|
|
|
function! airline#extensions#load_theme()
|
2013-09-01 23:39:06 +00:00
|
|
|
call airline#util#exec_funcrefs(s:ext._theme_funcrefs, g:airline#themes#{g:airline_theme}#palette)
|
2013-07-27 14:02:43 +00:00
|
|
|
endfunction
|
|
|
|
|
2013-07-09 13:48:57 +00:00
|
|
|
function! airline#extensions#load()
|
2018-11-14 07:06:39 +00:00
|
|
|
let s:loaded_ext = []
|
2013-08-06 03:34:45 +00:00
|
|
|
|
2015-02-28 22:40:23 +00:00
|
|
|
if exists('g:airline_extensions')
|
|
|
|
for ext in g:airline_extensions
|
2016-04-21 07:11:22 +00:00
|
|
|
try
|
|
|
|
call airline#extensions#{ext}#init(s:ext)
|
|
|
|
catch /^Vim\%((\a\+)\)\=:E117/ " E117, function does not exist
|
|
|
|
call airline#util#warning("Extension '".ext."' not installed, ignoring!")
|
2020-01-26 21:56:55 +00:00
|
|
|
continue
|
2016-04-21 07:11:22 +00:00
|
|
|
endtry
|
2020-01-26 21:56:55 +00:00
|
|
|
call add(s:loaded_ext, ext)
|
2015-02-28 22:40:23 +00:00
|
|
|
endfor
|
|
|
|
return
|
|
|
|
endif
|
|
|
|
|
2013-10-21 17:22:07 +00:00
|
|
|
call airline#extensions#quickfix#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'quickfix')
|
2013-10-21 17:22:07 +00:00
|
|
|
|
2020-05-29 08:19:37 +00:00
|
|
|
if get(g:, 'loaded_unite', 0) && get(g:, 'airline#extensions#unite#enabled', 1)
|
2013-08-24 04:08:57 +00:00
|
|
|
call airline#extensions#unite#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'unite')
|
2013-07-27 14:02:43 +00:00
|
|
|
endif
|
2013-08-06 03:34:45 +00:00
|
|
|
|
2020-05-29 08:19:37 +00:00
|
|
|
if get(g:, 'loaded_denite', 0) && get(g:, 'airline#extensions#denite#enabled', 1)
|
2017-03-01 08:41:08 +00:00
|
|
|
call airline#extensions#denite#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'denite')
|
2017-03-01 08:41:08 +00:00
|
|
|
endif
|
|
|
|
|
2020-02-13 00:08:20 +00:00
|
|
|
if get(g:, 'loaded_gina', 0) && get(g:, 'airline#extensions#gina#enabled', 1)
|
|
|
|
call airline#extensions#gina#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'gina')
|
|
|
|
endif
|
|
|
|
|
2020-07-11 09:21:53 +00:00
|
|
|
if get(g:, 'fern_loaded', 0) && get(g:, 'airline#extensions#fern#enabled', 1)
|
|
|
|
call airline#extensions#fern#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'fern')
|
|
|
|
endif
|
|
|
|
|
2014-01-19 19:06:55 +00:00
|
|
|
if exists(':NetrwSettings')
|
|
|
|
call airline#extensions#netrw#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'netrw')
|
2014-01-19 19:06:55 +00:00
|
|
|
endif
|
|
|
|
|
2020-06-05 06:48:07 +00:00
|
|
|
" fzf buffers are also terminal buffers, so this must be above term.
|
|
|
|
if exists(':FZF') && get(g:, 'airline#extensions#fzf#enabled', 1)
|
|
|
|
call airline#extensions#fzf#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'fzf')
|
|
|
|
endif
|
|
|
|
|
2020-07-17 13:14:40 +00:00
|
|
|
" Vim-CMake buffers are also terminal buffers, so this must be above term.
|
|
|
|
if get(g:, 'loaded_cmake', 0) && get(g:, 'airline#extensions#vimcmake#enabled', 1)
|
|
|
|
call airline#extensions#vimcmake#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'vimcmake')
|
|
|
|
endif
|
|
|
|
|
2019-10-16 16:07:10 +00:00
|
|
|
if (has("terminal") || has('nvim')) &&
|
|
|
|
\ get(g:, 'airline#extensions#term#enabled', 1)
|
2017-08-22 13:30:15 +00:00
|
|
|
call airline#extensions#term#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'term')
|
2017-08-22 13:30:15 +00:00
|
|
|
endif
|
|
|
|
|
2020-04-20 05:54:00 +00:00
|
|
|
if get(g:, 'airline#extensions#ycm#enabled', 0) && exists('g:loaded_youcompleteme')
|
2016-01-28 16:38:59 +00:00
|
|
|
call airline#extensions#ycm#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'ycm')
|
2016-01-28 16:38:59 +00:00
|
|
|
endif
|
2015-12-26 05:10:55 +00:00
|
|
|
|
2013-07-27 14:02:43 +00:00
|
|
|
if get(g:, 'loaded_vimfiler', 0)
|
|
|
|
let g:vimfiler_force_overwrite_statusline = 0
|
|
|
|
endif
|
2013-07-09 13:48:57 +00:00
|
|
|
|
2013-07-22 01:29:31 +00:00
|
|
|
if get(g:, 'loaded_ctrlp', 0)
|
2013-08-06 03:34:45 +00:00
|
|
|
call airline#extensions#ctrlp#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'ctrlp')
|
2013-07-09 13:48:57 +00:00
|
|
|
endif
|
|
|
|
|
2018-04-08 22:47:23 +00:00
|
|
|
if get(g:, 'loaded_localsearch', 0)
|
|
|
|
call airline#extensions#localsearch#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'localsearch')
|
2018-04-08 22:47:23 +00:00
|
|
|
endif
|
|
|
|
|
2016-01-12 12:47:44 +00:00
|
|
|
if get(g:, 'CtrlSpaceLoaded', 0)
|
2015-02-28 02:44:35 +00:00
|
|
|
call airline#extensions#ctrlspace#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'ctrlspace')
|
2015-02-28 02:44:35 +00:00
|
|
|
endif
|
|
|
|
|
2013-07-25 21:54:49 +00:00
|
|
|
if get(g:, 'command_t_loaded', 0)
|
2013-08-06 02:56:30 +00:00
|
|
|
call airline#extensions#commandt#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'commandt')
|
2013-07-25 21:54:49 +00:00
|
|
|
endif
|
|
|
|
|
2013-08-18 18:50:22 +00:00
|
|
|
if exists(':UndotreeToggle')
|
|
|
|
call airline#extensions#undotree#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'undotree')
|
2013-08-18 18:50:22 +00:00
|
|
|
endif
|
|
|
|
|
2016-01-28 14:54:14 +00:00
|
|
|
if get(g:, 'airline#extensions#hunks#enabled', 1)
|
2020-04-01 08:43:11 +00:00
|
|
|
\ && (exists('g:loaded_signify')
|
|
|
|
\ || exists('g:loaded_gitgutter')
|
|
|
|
\ || exists('g:loaded_changes')
|
|
|
|
\ || exists('g:loaded_quickfixsigns')
|
|
|
|
\ || exists(':CocCommand'))
|
2013-08-18 21:02:33 +00:00
|
|
|
call airline#extensions#hunks#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'hunks')
|
2013-08-18 21:02:33 +00:00
|
|
|
endif
|
|
|
|
|
2017-01-19 12:57:36 +00:00
|
|
|
if get(g:, 'airline#extensions#vimagit#enabled', 1)
|
|
|
|
\ && (exists('g:loaded_magit'))
|
|
|
|
call airline#extensions#vimagit#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'vimagit')
|
2017-01-19 12:57:36 +00:00
|
|
|
endif
|
|
|
|
|
2016-01-28 14:54:14 +00:00
|
|
|
if get(g:, 'airline#extensions#tagbar#enabled', 1)
|
2013-08-20 00:13:29 +00:00
|
|
|
\ && exists(':TagbarToggle')
|
2013-08-06 03:16:49 +00:00
|
|
|
call airline#extensions#tagbar#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'tagbar')
|
2013-07-21 02:31:05 +00:00
|
|
|
endif
|
2013-07-25 22:29:18 +00:00
|
|
|
|
2019-07-01 06:18:33 +00:00
|
|
|
if get(g:, 'airline#extensions#vista#enabled', 1)
|
2019-12-13 07:55:56 +00:00
|
|
|
\ && exists(':Vista')
|
2019-07-01 06:18:33 +00:00
|
|
|
call airline#extensions#vista#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'vista')
|
|
|
|
endif
|
|
|
|
|
2019-05-03 08:44:09 +00:00
|
|
|
if get(g:, 'airline#extensions#bookmark#enabled', 1)
|
2019-05-03 10:37:17 +00:00
|
|
|
\ && exists(':BookmarkToggle')
|
2019-05-03 08:44:09 +00:00
|
|
|
call airline#extensions#bookmark#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'bookmark')
|
|
|
|
endif
|
|
|
|
|
2016-01-28 14:54:14 +00:00
|
|
|
if get(g:, 'airline#extensions#csv#enabled', 1)
|
2013-08-20 00:13:29 +00:00
|
|
|
\ && (get(g:, 'loaded_csv', 0) || exists(':Table'))
|
2013-08-14 01:47:08 +00:00
|
|
|
call airline#extensions#csv#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'csv')
|
2013-08-13 21:27:21 +00:00
|
|
|
endif
|
|
|
|
|
2020-04-07 18:33:28 +00:00
|
|
|
if get(g:, 'airline#extensions#zoomwintab#enabled', 0)
|
|
|
|
call airline#extensions#zoomwintab#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'zoomwintab')
|
|
|
|
endif
|
|
|
|
|
2013-08-12 01:13:18 +00:00
|
|
|
if exists(':VimShell')
|
|
|
|
let s:filetype_regex_overrides['^int-'] = ['vimshell','%{substitute(&ft, "int-", "", "")}']
|
|
|
|
endif
|
|
|
|
|
2018-06-04 15:31:13 +00:00
|
|
|
if get(g:, 'airline#extensions#branch#enabled', 1) && (
|
|
|
|
\ airline#util#has_fugitive() ||
|
2019-12-10 07:19:23 +00:00
|
|
|
\ airline#util#has_gina() ||
|
2018-06-04 15:31:13 +00:00
|
|
|
\ airline#util#has_lawrencium() ||
|
|
|
|
\ airline#util#has_vcscommand() ||
|
|
|
|
\ airline#util#has_custom_scm())
|
2013-08-06 03:07:01 +00:00
|
|
|
call airline#extensions#branch#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'branch')
|
2013-08-06 03:07:01 +00:00
|
|
|
endif
|
|
|
|
|
2016-01-28 14:54:14 +00:00
|
|
|
if get(g:, 'airline#extensions#bufferline#enabled', 1)
|
2013-08-20 00:13:29 +00:00
|
|
|
\ && exists('*bufferline#get_status_string')
|
2013-08-06 02:44:34 +00:00
|
|
|
call airline#extensions#bufferline#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'bufferline')
|
2013-07-21 02:31:05 +00:00
|
|
|
endif
|
2013-08-03 14:59:34 +00:00
|
|
|
|
2017-11-22 21:11:58 +00:00
|
|
|
if get(g:, 'airline#extensions#fugitiveline#enabled', 1)
|
2018-06-04 15:31:13 +00:00
|
|
|
\ && airline#util#has_fugitive()
|
2018-11-14 07:06:39 +00:00
|
|
|
\ && index(s:loaded_ext, 'bufferline') == -1
|
2017-11-22 21:11:58 +00:00
|
|
|
call airline#extensions#fugitiveline#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'fugitiveline')
|
2017-11-22 21:11:58 +00:00
|
|
|
endif
|
|
|
|
|
2020-01-24 10:08:55 +00:00
|
|
|
" NOTE: This means that if both virtualenv and poetv are enabled and
|
|
|
|
" available, poetv silently takes precedence and the virtualenv
|
|
|
|
" extension won't be initialized. Since both extensions currently just
|
|
|
|
" add a virtualenv identifier section to the airline, this seems
|
|
|
|
" acceptable.
|
2020-06-19 15:07:06 +00:00
|
|
|
if (get(g:, 'airline#extensions#poetv#enabled', 0) && (exists(':PoetvActivate')))
|
2020-01-24 10:08:55 +00:00
|
|
|
call airline#extensions#poetv#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'poetv')
|
2020-06-19 15:07:06 +00:00
|
|
|
elseif (get(g:, 'airline#extensions#virtualenv#enabled', 0) && (exists(':VirtualEnvList')))
|
2013-08-24 20:49:54 +00:00
|
|
|
call airline#extensions#virtualenv#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'virtualenv')
|
2020-06-19 15:07:06 +00:00
|
|
|
elseif (get(g:, 'airline#extensions#poetv#enabled', 0) && (isdirectory($VIRTUAL_ENV)))
|
2019-12-29 16:32:19 +00:00
|
|
|
call airline#extensions#poetv#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'poetv')
|
|
|
|
endif
|
|
|
|
|
2013-10-01 18:25:43 +00:00
|
|
|
if (get(g:, 'airline#extensions#eclim#enabled', 1) && exists(':ProjectCreate'))
|
2013-10-01 04:42:42 +00:00
|
|
|
call airline#extensions#eclim#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'eclim')
|
2013-10-01 04:42:42 +00:00
|
|
|
endif
|
|
|
|
|
2016-01-28 14:54:14 +00:00
|
|
|
if get(g:, 'airline#extensions#syntastic#enabled', 1)
|
2013-10-01 18:25:43 +00:00
|
|
|
\ && exists(':SyntasticCheck')
|
2013-08-27 23:38:34 +00:00
|
|
|
call airline#extensions#syntastic#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'syntastic')
|
2013-08-07 00:17:33 +00:00
|
|
|
endif
|
|
|
|
|
2017-06-25 18:49:18 +00:00
|
|
|
if (get(g:, 'airline#extensions#ale#enabled', 1) && exists(':ALELint'))
|
2016-10-10 01:27:51 +00:00
|
|
|
call airline#extensions#ale#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'ale')
|
2016-10-10 01:27:51 +00:00
|
|
|
endif
|
|
|
|
|
2020-02-08 08:40:45 +00:00
|
|
|
if (get(g:, 'airline#extensions#lsp#enabled', 1) && exists(':LspDeclaration'))
|
|
|
|
call airline#extensions#lsp#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'lsp')
|
|
|
|
endif
|
|
|
|
|
2020-07-19 21:04:45 +00:00
|
|
|
if (get(g:, 'airline#extensions#nvimlsp#enabled', 1)
|
2021-02-02 09:07:51 +00:00
|
|
|
\ && has("nvim"))
|
2020-07-19 21:04:45 +00:00
|
|
|
call airline#extensions#nvimlsp#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'nvimlsp')
|
|
|
|
endif
|
|
|
|
|
2019-05-29 07:59:00 +00:00
|
|
|
if (get(g:, 'airline#extensions#coc#enabled', 1) && exists(':CocCommand'))
|
|
|
|
call airline#extensions#coc#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'coc')
|
|
|
|
endif
|
|
|
|
|
2018-09-02 21:08:04 +00:00
|
|
|
if (get(g:, 'airline#extensions#languageclient#enabled', 1) && exists(':LanguageClientStart'))
|
|
|
|
call airline#extensions#languageclient#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'languageclient')
|
2018-09-02 21:08:04 +00:00
|
|
|
endif
|
|
|
|
|
2016-01-28 14:54:14 +00:00
|
|
|
if get(g:, 'airline#extensions#whitespace#enabled', 1)
|
2013-08-28 13:51:54 +00:00
|
|
|
call airline#extensions#whitespace#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'whitespace')
|
2016-02-29 21:38:39 +00:00
|
|
|
endif
|
|
|
|
|
2016-09-27 03:57:51 +00:00
|
|
|
if (get(g:, 'airline#extensions#neomake#enabled', 1) && exists(':Neomake'))
|
|
|
|
call airline#extensions#neomake#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'neomake')
|
2016-09-27 03:57:51 +00:00
|
|
|
endif
|
|
|
|
|
2016-02-29 21:38:39 +00:00
|
|
|
if get(g:, 'airline#extensions#po#enabled', 1) && executable('msgfmt')
|
|
|
|
call airline#extensions#po#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'po')
|
2013-08-28 13:51:54 +00:00
|
|
|
endif
|
|
|
|
|
2015-10-05 14:17:04 +00:00
|
|
|
if get(g:, 'airline#extensions#wordcount#enabled', 1)
|
|
|
|
call airline#extensions#wordcount#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'wordcount')
|
2015-10-05 14:17:04 +00:00
|
|
|
endif
|
|
|
|
|
2013-08-28 13:51:54 +00:00
|
|
|
if get(g:, 'airline#extensions#tabline#enabled', 0)
|
|
|
|
call airline#extensions#tabline#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'tabline')
|
2013-08-28 13:51:54 +00:00
|
|
|
endif
|
|
|
|
|
2013-11-17 19:15:55 +00:00
|
|
|
if get(g:, 'airline#extensions#tmuxline#enabled', 1) && exists(':Tmuxline')
|
|
|
|
call airline#extensions#tmuxline#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'tmuxline')
|
2013-11-17 19:15:55 +00:00
|
|
|
endif
|
|
|
|
|
2014-01-05 17:47:44 +00:00
|
|
|
if get(g:, 'airline#extensions#promptline#enabled', 1) && exists(':PromptlineSnapshot') && len(get(g:, 'airline#extensions#promptline#snapshot_file', ''))
|
|
|
|
call airline#extensions#promptline#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'promptline')
|
2014-01-05 17:47:44 +00:00
|
|
|
endif
|
|
|
|
|
2020-07-09 16:16:23 +00:00
|
|
|
if get(g:, 'airline#extensions#nrrwrgn#enabled', 1) && get(g:, 'loaded_nrrw_rgn', 0)
|
2014-04-22 22:13:16 +00:00
|
|
|
call airline#extensions#nrrwrgn#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'nrrwrgn')
|
2014-04-22 22:13:16 +00:00
|
|
|
endif
|
|
|
|
|
2016-02-06 15:05:29 +00:00
|
|
|
if get(g:, 'airline#extensions#unicode#enabled', 1) && exists(':UnicodeTable') == 2
|
|
|
|
call airline#extensions#unicode#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'unicode')
|
2016-02-06 15:05:29 +00:00
|
|
|
endif
|
|
|
|
|
2014-07-28 21:56:08 +00:00
|
|
|
if (get(g:, 'airline#extensions#capslock#enabled', 1) && exists('*CapsLockStatusline'))
|
|
|
|
call airline#extensions#capslock#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'capslock')
|
2014-07-28 21:56:08 +00:00
|
|
|
endif
|
|
|
|
|
2018-02-14 09:06:44 +00:00
|
|
|
if (get(g:, 'airline#extensions#gutentags#enabled', 1) && get(g:, 'loaded_gutentags', 0))
|
|
|
|
call airline#extensions#gutentags#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'gutentags')
|
2018-02-14 09:06:44 +00:00
|
|
|
endif
|
|
|
|
|
2020-10-16 14:43:22 +00:00
|
|
|
if get(g:, 'airline#extensions#gen_tags#enabled', 1) && (get(g:, 'loaded_gentags#gtags', 0) || get(g:, 'loaded_gentags#ctags', 0))
|
|
|
|
call airline#extensions#gen_tags#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'gen_tags')
|
|
|
|
endif
|
|
|
|
|
2018-07-23 20:05:34 +00:00
|
|
|
if (get(g:, 'airline#extensions#grepper#enabled', 1) && get(g:, 'loaded_grepper', 0))
|
|
|
|
call airline#extensions#grepper#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'grepper')
|
2018-07-23 20:05:34 +00:00
|
|
|
endif
|
|
|
|
|
2017-01-18 03:34:14 +00:00
|
|
|
if (get(g:, 'airline#extensions#xkblayout#enabled', 1) && exists('g:XkbSwitchLib'))
|
|
|
|
call airline#extensions#xkblayout#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'xkblayout')
|
2017-01-18 03:34:14 +00:00
|
|
|
endif
|
|
|
|
|
2017-08-26 16:18:45 +00:00
|
|
|
if (get(g:, 'airline#extensions#keymap#enabled', 1) && has('keymap'))
|
|
|
|
call airline#extensions#keymap#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'keymap')
|
2017-08-26 16:18:45 +00:00
|
|
|
endif
|
|
|
|
|
2014-09-05 03:02:19 +00:00
|
|
|
if (get(g:, 'airline#extensions#windowswap#enabled', 1) && get(g:, 'loaded_windowswap', 0))
|
|
|
|
call airline#extensions#windowswap#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'windowswap')
|
2014-09-05 03:02:19 +00:00
|
|
|
endif
|
|
|
|
|
2016-05-29 19:44:39 +00:00
|
|
|
if (get(g:, 'airline#extensions#obsession#enabled', 1) && exists('*ObsessionStatus'))
|
|
|
|
call airline#extensions#obsession#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'obsession')
|
2016-05-29 19:44:39 +00:00
|
|
|
endif
|
|
|
|
|
2018-09-06 16:12:32 +00:00
|
|
|
if get(g:, 'airline#extensions#vimtex#enabled', 1)
|
|
|
|
runtime autoload/vimtex.vim
|
|
|
|
if exists('*vimtex#init')
|
|
|
|
call airline#extensions#vimtex#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'vimtex')
|
2018-09-06 16:12:32 +00:00
|
|
|
endif
|
2017-04-10 12:41:17 +00:00
|
|
|
endif
|
|
|
|
|
2018-01-05 07:12:35 +00:00
|
|
|
if (get(g:, 'airline#extensions#cursormode#enabled', 0))
|
2017-02-23 17:09:37 +00:00
|
|
|
call airline#extensions#cursormode#init(s:ext)
|
2018-11-14 07:06:39 +00:00
|
|
|
call add(s:loaded_ext, 'cursormode')
|
2017-02-23 17:09:37 +00:00
|
|
|
endif
|
|
|
|
|
2020-06-27 20:56:57 +00:00
|
|
|
if get(g:, 'airline#extensions#searchcount#enabled', 1) && exists('*searchcount')
|
|
|
|
call airline#extensions#searchcount#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'searchcount')
|
|
|
|
endif
|
|
|
|
|
2020-09-07 16:09:39 +00:00
|
|
|
if get(g:, 'loaded_battery', 0) && get(g:, 'airline#extensions#battery#enabled', 0)
|
|
|
|
call airline#extensions#battery#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'battery')
|
|
|
|
endif
|
|
|
|
|
2014-04-19 18:38:02 +00:00
|
|
|
if !get(g:, 'airline#extensions#disable_rtp_load', 0)
|
|
|
|
" load all other extensions, which are not part of the default distribution.
|
|
|
|
" (autoload/airline/extensions/*.vim outside of our s:script_path).
|
|
|
|
for file in split(globpath(&rtp, "autoload/airline/extensions/*.vim"), "\n")
|
|
|
|
" we have to check both resolved and unresolved paths, since it's possible
|
|
|
|
" that they might not get resolved properly (see #187)
|
|
|
|
if stridx(tolower(resolve(fnamemodify(file, ':p'))), s:script_path) < 0
|
|
|
|
\ && stridx(tolower(fnamemodify(file, ':p')), s:script_path) < 0
|
|
|
|
let name = fnamemodify(file, ':t:r')
|
2016-10-24 10:14:30 +00:00
|
|
|
if !get(g:, 'airline#extensions#'.name.'#enabled', 1) ||
|
2018-11-14 07:06:39 +00:00
|
|
|
\ index(s:loaded_ext, name) > -1
|
2014-04-19 18:38:02 +00:00
|
|
|
continue
|
|
|
|
endif
|
|
|
|
try
|
|
|
|
call airline#extensions#{name}#init(s:ext)
|
2019-03-26 07:41:36 +00:00
|
|
|
" mark as external
|
|
|
|
call add(s:loaded_ext, name.'*')
|
2014-04-19 18:38:02 +00:00
|
|
|
catch
|
|
|
|
endtry
|
2013-08-22 02:49:19 +00:00
|
|
|
endif
|
2014-04-19 18:38:02 +00:00
|
|
|
endfor
|
|
|
|
endif
|
2020-05-23 22:50:21 +00:00
|
|
|
|
2020-05-30 04:23:09 +00:00
|
|
|
if exists(':Dirvish') && get(g:, 'airline#extensions#dirvish#enabled', 1)
|
2020-05-23 22:50:21 +00:00
|
|
|
call airline#extensions#dirvish#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'dirvish')
|
|
|
|
endif
|
|
|
|
|
2020-07-07 22:06:09 +00:00
|
|
|
if (get(g:, 'airline#extensions#omnisharp#enabled', 1) && get(g:, 'OmniSharp_loaded', 0))
|
|
|
|
call airline#extensions#omnisharp#init(s:ext)
|
|
|
|
call add(s:loaded_ext, 'omnisharp')
|
|
|
|
endif
|
|
|
|
|
2013-07-09 13:48:57 +00:00
|
|
|
endfunction
|
2018-11-14 07:06:39 +00:00
|
|
|
|
|
|
|
function! airline#extensions#get_loaded_extensions()
|
|
|
|
return s:loaded_ext
|
|
|
|
endfunction
|