aboutsummaryrefslogtreecommitdiff
path: root/vim/plugin/Powerline.vim
blob: 12b4204f4a8113643fff9169b2708cded5d54b1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
" Powerline - The ultimate statusline utility
"
" Author: Kim Silkebækken <kim.silkebaekken+vim@gmail.com>
" Source repository: https://github.com/Lokaltog/vim-powerline

" Script initialization {{{
	if exists('g:Powerline_loaded') || &compatible || version < 702
		finish
	endif

	let g:Powerline_loaded = 1
" }}}
" Commands {{{
	command! PowerlineClearCache call Pl#ClearCache()
	command! PowerlineReloadColorscheme call Pl#ReloadColorscheme()
" }}}
" Set default options {{{
	for [s:key, s:value] in items({
		\   'theme'        : 'default'
		\ , 'colorscheme'  : 'default'
		\ , 'symbols'      : 'compatible'
		\ , 'cache_enabled': 1
		\ })

		if ! exists('g:Powerline_' . s:key)
			exec printf('let g:Powerline_%s = %s', s:key, string(s:value))
		endif
	endfor

	if ! exists('g:Powerline_cache_file')
		exec 'let g:Powerline_cache_file = '. string(printf('%s/Powerline_%s_%s_%s.cache'
			\ , simplify(expand('<sfile>:p:h') .'/..')
			\ , g:Powerline_theme
			\ , g:Powerline_colorscheme
			\ , g:Powerline_symbols
			\ ))
	endif
" }}}
" Autocommands {{{
	augroup Powerline
		autocmd!

		" Reload statuslines when changing color scheme
		au ColorScheme *
			\ call Pl#Load()

		au BufEnter,WinEnter,FileType,BufUnload *
			\ call Pl#UpdateStatusline(1)

		au BufLeave,WinLeave *
			\ call Pl#UpdateStatusline(0)

		au BufWritePost */autoload/Powerline/Colorschemes/*.vim
			\ :PowerlineReloadColorscheme
	augroup END
" }}}