2013-08-30 17:56:12 -04:00
|
|
|
|
" MIT License. Copyright (c) 2013 Bailey Ling.
|
|
|
|
|
" vim: et ts=2 sts=2 sw=2
|
|
|
|
|
|
|
|
|
|
function! s:check_defined(variable, default)
|
|
|
|
|
if !exists(a:variable)
|
|
|
|
|
let {a:variable} = a:default
|
|
|
|
|
endif
|
|
|
|
|
endfunction
|
|
|
|
|
|
2013-08-31 19:30:37 -04:00
|
|
|
|
let s:loaded = 0
|
2013-08-31 17:42:09 -04:00
|
|
|
|
function! airline#init#bootstrap()
|
2013-08-31 19:30:37 -04:00
|
|
|
|
if s:loaded | return | endif | let s:loaded = 1
|
|
|
|
|
|
2013-08-30 17:56:12 -04:00
|
|
|
|
call s:check_defined('g:airline_left_sep', get(g:, 'airline_powerline_fonts', 0)?"":">")
|
|
|
|
|
call s:check_defined('g:airline_left_alt_sep', get(g:, 'airline_powerline_fonts', 0)?"":">")
|
|
|
|
|
call s:check_defined('g:airline_right_sep', get(g:, 'airline_powerline_fonts', 0)?"":"<")
|
|
|
|
|
call s:check_defined('g:airline_right_alt_sep', get(g:, 'airline_powerline_fonts', 0)?"":"<")
|
|
|
|
|
call s:check_defined('g:airline_detect_modified', 1)
|
|
|
|
|
call s:check_defined('g:airline_detect_paste', 1)
|
|
|
|
|
call s:check_defined('g:airline_detect_iminsert', 0)
|
|
|
|
|
call s:check_defined('g:airline_inactive_collapse', 1)
|
|
|
|
|
call s:check_defined('g:airline_exclude_filenames', ['DebuggerWatch','DebuggerStack','DebuggerStatus'])
|
|
|
|
|
call s:check_defined('g:airline_exclude_filetypes', [])
|
|
|
|
|
call s:check_defined('g:airline_exclude_preview', 0)
|
|
|
|
|
|
|
|
|
|
call s:check_defined('g:airline_mode_map', {})
|
|
|
|
|
call extend(g:airline_mode_map, {
|
|
|
|
|
\ '__' : '------',
|
|
|
|
|
\ 'n' : 'NORMAL',
|
|
|
|
|
\ 'i' : 'INSERT',
|
|
|
|
|
\ 'R' : 'REPLACE',
|
|
|
|
|
\ 'v' : 'VISUAL',
|
|
|
|
|
\ 'V' : 'V-LINE',
|
|
|
|
|
\ 'c' : 'COMMAND',
|
|
|
|
|
\ '' : 'V-BLOCK',
|
|
|
|
|
\ 's' : 'SELECT',
|
|
|
|
|
\ 'S' : 'S-LINE',
|
|
|
|
|
\ '' : 'S-BLOCK',
|
|
|
|
|
\ }, 'keep')
|
|
|
|
|
|
|
|
|
|
call s:check_defined('g:airline_theme_map', {})
|
|
|
|
|
call extend(g:airline_theme_map, {
|
|
|
|
|
\ 'Tomorrow.*': 'tomorrow',
|
2013-09-01 14:25:10 -04:00
|
|
|
|
\ 'base16.*': 'base16',
|
2013-08-30 17:56:12 -04:00
|
|
|
|
\ 'mo[l|n]okai': 'molokai',
|
|
|
|
|
\ 'wombat.*': 'wombat',
|
2013-09-05 10:06:38 -04:00
|
|
|
|
\ '.*zenburn.*': 'zenburn',
|
2013-08-30 17:56:12 -04:00
|
|
|
|
\ '.*solarized.*': 'solarized',
|
|
|
|
|
\ }, 'keep')
|
|
|
|
|
|
2013-08-30 23:35:23 -04:00
|
|
|
|
call s:check_defined('g:airline_symbols', {})
|
|
|
|
|
call extend(g:airline_symbols, {
|
|
|
|
|
\ 'paste': get(g:, 'airline_paste_symbol', 'PASTE'),
|
|
|
|
|
\ 'readonly': get(g:, 'airline_readonly_symbol', get(g:, 'airline_powerline_fonts', 0) ? '' : 'RO'),
|
|
|
|
|
\ 'whitespace': get(g:, 'airline_powerline_fonts', 0) ? '✹' : '!',
|
|
|
|
|
\ 'linenr': get(g:, 'airline_linecolumn_prefix', get(g:, 'airline_powerline_fonts', 0) ? '' : ':' ),
|
|
|
|
|
\ 'branch': get(g:, 'airline_branch_prefix', get(g:, 'airline_powerline_fonts', 0) ? '' : ''),
|
2013-09-04 11:47:05 -04:00
|
|
|
|
\ 'modified': '+',
|
2013-08-30 23:35:23 -04:00
|
|
|
|
\ }, 'keep')
|
|
|
|
|
|
2013-08-31 22:48:27 -04:00
|
|
|
|
call airline#parts#define_function('mode', 'airline#parts#mode')
|
|
|
|
|
call airline#parts#define_function('iminsert', 'airline#parts#iminsert')
|
|
|
|
|
call airline#parts#define_function('paste', 'airline#parts#paste')
|
2013-09-01 12:07:46 -04:00
|
|
|
|
call airline#parts#define_function('filetype', 'airline#parts#filetype')
|
2013-08-31 22:48:27 -04:00
|
|
|
|
call airline#parts#define('readonly', {
|
|
|
|
|
\ 'function': 'airline#parts#readonly',
|
2013-09-15 11:59:22 -04:00
|
|
|
|
\ 'accent': 'red',
|
2013-08-31 22:48:27 -04:00
|
|
|
|
\ })
|
|
|
|
|
call airline#parts#define_raw('file', '%f%m')
|
2013-09-20 00:01:02 -04:00
|
|
|
|
call airline#parts#define_raw('linenr', (g:airline_symbols.linenr).' %#airline_accent_bold#%3l%#__restore__#')
|
2013-09-07 14:14:41 -04:00
|
|
|
|
call airline#parts#define_function('ffenc', 'airline#parts#ffenc')
|
2013-09-05 10:01:57 -04:00
|
|
|
|
call airline#parts#define_empty(['hunks', 'branch', 'tagbar', 'syntastic', 'whitespace'])
|
2013-08-31 17:42:09 -04:00
|
|
|
|
endfunction
|
2013-08-30 17:56:12 -04:00
|
|
|
|
|
2013-08-31 17:42:09 -04:00
|
|
|
|
function! airline#init#sections()
|
2013-08-30 17:56:12 -04:00
|
|
|
|
if !exists('g:airline_section_a')
|
|
|
|
|
let g:airline_section_a = airline#section#create_left(['mode', 'paste', 'iminsert'])
|
|
|
|
|
endif
|
|
|
|
|
if !exists('g:airline_section_b')
|
|
|
|
|
let g:airline_section_b = airline#section#create(['hunks', 'branch'])
|
|
|
|
|
endif
|
2013-08-30 17:59:46 -04:00
|
|
|
|
if !exists('g:airline_section_c')
|
2013-09-17 22:45:12 -04:00
|
|
|
|
let g:airline_section_c = airline#section#create(['%<', 'file', ' ', 'readonly'])
|
2013-08-30 17:59:46 -04:00
|
|
|
|
endif
|
|
|
|
|
if !exists('g:airline_section_gutter')
|
2013-09-17 22:45:12 -04:00
|
|
|
|
let g:airline_section_gutter = airline#section#create(['%='])
|
2013-08-30 17:59:46 -04:00
|
|
|
|
endif
|
|
|
|
|
if !exists('g:airline_section_x')
|
2013-09-01 12:07:46 -04:00
|
|
|
|
let g:airline_section_x = airline#section#create_right(['tagbar', 'filetype'])
|
2013-08-30 17:59:46 -04:00
|
|
|
|
endif
|
|
|
|
|
if !exists('g:airline_section_y')
|
2013-08-30 18:10:04 -04:00
|
|
|
|
let g:airline_section_y = airline#section#create_right(['ffenc'])
|
2013-08-30 17:59:46 -04:00
|
|
|
|
endif
|
|
|
|
|
if !exists('g:airline_section_z')
|
2013-09-20 00:01:02 -04:00
|
|
|
|
let g:airline_section_z = airline#section#create(['%3p%% ', 'linenr', ':%3c '])
|
2013-08-30 17:59:46 -04:00
|
|
|
|
endif
|
|
|
|
|
if !exists('g:airline_section_warning')
|
2013-08-31 00:54:52 -04:00
|
|
|
|
let g:airline_section_warning = airline#section#create(['syntastic', 'whitespace'])
|
2013-08-30 17:59:46 -04:00
|
|
|
|
endif
|
2013-08-30 17:56:12 -04:00
|
|
|
|
endfunction
|
|
|
|
|
|