aboutsummaryrefslogtreecommitdiff
path: root/vim/autoload/Powerline
diff options
context:
space:
mode:
Diffstat (limited to 'vim/autoload/Powerline')
-rw-r--r--vim/autoload/Powerline/.DS_Storebin0 -> 6148 bytes
-rw-r--r--vim/autoload/Powerline/Colorschemes/.DS_Storebin0 -> 6148 bytes
-rw-r--r--vim/autoload/Powerline/Colorschemes/default.vim161
-rw-r--r--vim/autoload/Powerline/Functions.vim90
-rw-r--r--vim/autoload/Powerline/Functions/cfi.vim3
-rw-r--r--vim/autoload/Powerline/Functions/ft_man.vim12
-rw-r--r--vim/autoload/Powerline/Functions/fugitive.vim7
-rw-r--r--vim/autoload/Powerline/Functions/syntastic.vim16
-rw-r--r--vim/autoload/Powerline/Matches.vim13
-rw-r--r--vim/autoload/Powerline/Segments.vim28
-rw-r--r--vim/autoload/Powerline/Segments/cfi.vim5
-rw-r--r--vim/autoload/Powerline/Segments/ctrlp.vim10
-rw-r--r--vim/autoload/Powerline/Segments/ft_man.vim3
-rw-r--r--vim/autoload/Powerline/Segments/fugitive.vim5
-rw-r--r--vim/autoload/Powerline/Segments/rvm.vim5
-rw-r--r--vim/autoload/Powerline/Segments/syntastic.vim5
-rw-r--r--vim/autoload/Powerline/Segments/virtualenv.vim5
-rw-r--r--vim/autoload/Powerline/Themes/.DS_Storebin0 -> 6148 bytes
-rw-r--r--vim/autoload/Powerline/Themes/default.vim114
19 files changed, 482 insertions, 0 deletions
diff --git a/vim/autoload/Powerline/.DS_Store b/vim/autoload/Powerline/.DS_Store
new file mode 100644
index 0000000..871e86f
--- /dev/null
+++ b/vim/autoload/Powerline/.DS_Store
Binary files differ
diff --git a/vim/autoload/Powerline/Colorschemes/.DS_Store b/vim/autoload/Powerline/Colorschemes/.DS_Store
new file mode 100644
index 0000000..f68b536
--- /dev/null
+++ b/vim/autoload/Powerline/Colorschemes/.DS_Store
Binary files differ
diff --git a/vim/autoload/Powerline/Colorschemes/default.vim b/vim/autoload/Powerline/Colorschemes/default.vim
new file mode 100644
index 0000000..1452cf4
--- /dev/null
+++ b/vim/autoload/Powerline/Colorschemes/default.vim
@@ -0,0 +1,161 @@
+call Pl#Hi#Allocate({
+ \ 'black' : 16,
+ \ 'white' : 231,
+ \
+ \ 'darkestgreen' : 22,
+ \ 'darkgreen' : 28,
+ \ 'mediumgreen' : 70,
+ \ 'brightgreen' : 148,
+ \
+ \ 'darkestcyan' : 23,
+ \ 'mediumcyan' : 117,
+ \
+ \ 'darkestblue' : 24,
+ \ 'darkblue' : 31,
+ \
+ \ 'darkestred' : 52,
+ \ 'darkred' : 88,
+ \ 'mediumred' : 124,
+ \ 'brightred' : 160,
+ \ 'brightestred' : 196,
+ \
+ \ 'darkestpurple' : 55,
+ \ 'mediumpurple' : 98,
+ \ 'brightpurple' : 189,
+ \
+ \ 'brightorange' : 208,
+ \ 'brightestorange': 214,
+ \
+ \ 'gray0' : 233,
+ \ 'gray1' : 235,
+ \ 'gray2' : 236,
+ \ 'gray3' : 239,
+ \ 'gray4' : 240,
+ \ 'gray5' : 241,
+ \ 'gray6' : 244,
+ \ 'gray7' : 245,
+ \ 'gray8' : 247,
+ \ 'gray9' : 250,
+ \ 'gray10' : 252,
+ \ })
+
+let g:Powerline#Colorschemes#default#colorscheme = Pl#Colorscheme#Init([
+ \ Pl#Hi#Segments(['SPLIT'], {
+ \ 'n': ['white', 'gray2'],
+ \ 'N': ['white', 'gray0'],
+ \ 'i': ['white', 'darkestblue'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['mode_indicator'], {
+ \ 'n': ['darkestgreen', 'brightgreen', ['bold']],
+ \ 'i': ['darkestcyan', 'white', ['bold']],
+ \ 'v': ['darkred', 'brightorange', ['bold']],
+ \ 'r': ['white', 'brightred', ['bold']],
+ \ 's': ['white', 'gray5', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['branch', 'scrollpercent', 'raw', 'filesize'], {
+ \ 'n': ['gray9', 'gray4'],
+ \ 'N': ['gray3', 'gray1'],
+ \ 'i': ['mediumcyan', 'darkblue'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['fileinfo', 'filename'], {
+ \ 'n': ['white', 'gray4', ['bold']],
+ \ 'N': ['gray7', 'gray1', ['bold']],
+ \ 'i': ['white', 'darkblue', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['static_str'], {
+ \ 'n': ['white', 'gray4'],
+ \ 'N': ['gray7', 'gray1'],
+ \ 'i': ['white', 'darkblue'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['fileinfo.flags'], {
+ \ 'n': ['brightestred', ['bold']],
+ \ 'N': ['darkred'],
+ \ 'i': ['brightestred', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['current_function', 'fileformat', 'fileencoding', 'pwd', 'filetype', 'rvm:string', 'rvm:statusline', 'virtualenv:statusline', 'charcode', 'currhigroup'], {
+ \ 'n': ['gray8', 'gray2'],
+ \ 'i': ['mediumcyan', 'darkestblue'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['lineinfo'], {
+ \ 'n': ['gray2', 'gray10', ['bold']],
+ \ 'N': ['gray7', 'gray1', ['bold']],
+ \ 'i': ['darkestcyan', 'mediumcyan', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['errors'], {
+ \ 'n': ['brightestorange', 'gray2', ['bold']],
+ \ 'i': ['brightestorange', 'darkestblue', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['lineinfo.line.tot'], {
+ \ 'n': ['gray6'],
+ \ 'N': ['gray5'],
+ \ 'i': ['darkestcyan'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['ws_marker'], {
+ \ 'n': ['white', 'brightestred'],
+ \ 'i': ['darkestcyan', 'white'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['gundo:static_str.name', 'command_t:static_str.name'], {
+ \ 'n': ['white', 'mediumred', ['bold']],
+ \ 'N': ['brightred', 'darkestred', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['gundo:static_str.buffer', 'command_t:raw.line'], {
+ \ 'n': ['white', 'darkred'],
+ \ 'N': ['brightred', 'darkestred'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['gundo:SPLIT', 'command_t:SPLIT'], {
+ \ 'n': ['white', 'darkred'],
+ \ 'N': ['white', 'darkestred'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['lustyexplorer:static_str.name', 'minibufexplorer.static_str.name', 'nerdtree:raw.name', 'tagbar:static_str.name'], {
+ \ 'n': ['white', 'mediumgreen', ['bold']],
+ \ 'N': ['mediumgreen', 'darkestgreen', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['lustyexplorer:static_str.buffer', 'tagbar:static_str.buffer'], {
+ \ 'n': ['brightgreen', 'darkgreen'],
+ \ 'N': ['mediumgreen', 'darkestgreen'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['lustyexplorer:SPLIT', 'minibufexplorer:SPLIT', 'nerdtree:SPLIT', 'tagbar:SPLIT'], {
+ \ 'n': ['white', 'darkgreen'],
+ \ 'N': ['white', 'darkestgreen'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['ctrlp:focus', 'ctrlp:byfname'], {
+ \ 'n': ['brightpurple', 'darkestpurple'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['ctrlp:prev', 'ctrlp:next', 'ctrlp:pwd'], {
+ \ 'n': ['white', 'mediumpurple'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['ctrlp:item'], {
+ \ 'n': ['darkestpurple', 'white', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['ctrlp:marked'], {
+ \ 'n': ['brightestred', 'darkestpurple', ['bold']],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['ctrlp:count'], {
+ \ 'n': ['darkestpurple', 'white'],
+ \ }),
+ \
+ \ Pl#Hi#Segments(['ctrlp:SPLIT'], {
+ \ 'n': ['white', 'darkestpurple'],
+ \ }),
+ \ ])
diff --git a/vim/autoload/Powerline/Functions.vim b/vim/autoload/Powerline/Functions.vim
new file mode 100644
index 0000000..b170ca8
--- /dev/null
+++ b/vim/autoload/Powerline/Functions.vim
@@ -0,0 +1,90 @@
+" Recalculate the trailing whitespace warning when idle, and after saving
+autocmd CursorHold,BufWritePost,InsertLeave * unlet! b:statusline_trailing_space_warning
+
+function! Powerline#Functions#GetMode() " {{{
+ let mode = mode()
+
+ if mode =~# '\v(v|V|)'
+ " Visual mode
+ if mode ==# 'v'
+ let mode = 'VISUAL'
+ elseif mode ==# 'V'
+ let mode = 'V·LINE'
+ elseif mode ==# ''
+ let mode = 'V·BLOCK'
+ endif
+ elseif mode =~# '\v(s|S|)'
+ " Select mode
+ if mode ==# 's'
+ let mode = 'SELECT'
+ elseif mode ==# 'S'
+ let mode = 'S·LINE'
+ elseif mode ==# ''
+ let mode = 'S·BLOCK'
+ endif
+ elseif mode =~# '\vi'
+ let mode = 'INSERT' " Insert mode
+ elseif mode =~# '\v(R|Rv)'
+ let mode = 'REPLACE' " Replace mode
+ else
+ " Fallback to normal mode
+ let mode = ' N ' " Normal (current)
+ endif
+
+ return mode
+endfunction " }}}
+function! Powerline#Functions#GetFilesize() " {{{
+ let bytes = getfsize(expand("%:p"))
+
+ if bytes <= 0
+ return ''
+ endif
+
+ if bytes < 1024
+ return bytes . 'B'
+ else
+ return (bytes / 1024) . 'kB'
+ endif
+endfunction "}}}
+function! Powerline#Functions#GetCharCode() " {{{
+ " Get the output of :ascii
+ redir => ascii
+ silent! ascii
+ redir END
+
+ if match(ascii, 'NUL') != -1
+ return 'NUL'
+ endif
+
+ " Zero pad hex values
+ let nrformat = '0x%02x'
+
+ let encoding = (&fenc == '' ? &enc : &fenc)
+
+ if encoding == 'utf-8'
+ " Zero pad with 4 zeroes in unicode files
+ let nrformat = '0x%04x'
+ endif
+
+ " Get the character and the numeric value from the return value of :ascii
+ " This matches the two first pieces of the return value, e.g.
+ " "<F> 70" => char: 'F', nr: '70'
+ let [str, char, nr; rest] = matchlist(ascii, '\v\<(.{-1,})\>\s*([0-9]+)')
+
+ " Format the numeric value
+ let nr = printf(nrformat, nr)
+
+ return "'". char ."' ". nr
+endfunction "}}}
+function! Powerline#Functions#GetWSMarker() " {{{
+ " Return '...' if trailing white space is detected
+ " Return '' otherwise
+ if ! exists("b:statusline_trailing_space_warning")
+ if search('\s$', 'nw') != 0
+ let b:statusline_trailing_space_warning = ' … '
+ else
+ let b:statusline_trailing_space_warning = ''
+ endif
+ endif
+ return b:statusline_trailing_space_warning
+endfunction " }}}
diff --git a/vim/autoload/Powerline/Functions/cfi.vim b/vim/autoload/Powerline/Functions/cfi.vim
new file mode 100644
index 0000000..a7b472c
--- /dev/null
+++ b/vim/autoload/Powerline/Functions/cfi.vim
@@ -0,0 +1,3 @@
+function! Powerline#Functions#cfi#GetCurrentFunction() " {{{
+ return cfi#format('%s', '')
+endfunction " }}}
diff --git a/vim/autoload/Powerline/Functions/ft_man.vim b/vim/autoload/Powerline/Functions/ft_man.vim
new file mode 100644
index 0000000..29135e4
--- /dev/null
+++ b/vim/autoload/Powerline/Functions/ft_man.vim
@@ -0,0 +1,12 @@
+function! Powerline#Functions#ft_man#GetName() " {{{
+ let matches = matchlist(getline(1), '\v^([a-zA-Z_\.\-]+)\((\d+)\)')
+
+ if ! len(matches)
+ return 'n/a'
+ endif
+
+ let file = tolower(matches[1])
+ let num = matches[2]
+
+ return file
+endfunction " }}}
diff --git a/vim/autoload/Powerline/Functions/fugitive.vim b/vim/autoload/Powerline/Functions/fugitive.vim
new file mode 100644
index 0000000..bb00131
--- /dev/null
+++ b/vim/autoload/Powerline/Functions/fugitive.vim
@@ -0,0 +1,7 @@
+function! Powerline#Functions#fugitive#GetBranch(symbol) " {{{
+ let ret = fugitive#statusline()
+
+ let ret = substitute(ret, '\c\v\[?GIT\(([a-z0-9\-_\./:]+)\)\]?', a:symbol .' \1', 'g')
+
+ return ret
+endfunction " }}}
diff --git a/vim/autoload/Powerline/Functions/syntastic.vim b/vim/autoload/Powerline/Functions/syntastic.vim
new file mode 100644
index 0000000..e2c04fa
--- /dev/null
+++ b/vim/autoload/Powerline/Functions/syntastic.vim
@@ -0,0 +1,16 @@
+function! Powerline#Functions#syntastic#GetErrors(line_symbol) " {{{
+ if ! exists('g:syntastic_stl_format')
+ " Syntastic hasn't been loaded yet
+ return ''
+ endif
+
+ " Temporarily change syntastic output format
+ let old_stl_format = g:syntastic_stl_format
+ let g:syntastic_stl_format = '╱╱╱%E{ ERRORS (%e) '. a:line_symbol .' %fe }%W{ WARNINGS (%w) '. a:line_symbol .' %fw }╱╱╱'
+
+ let ret = SyntasticStatuslineFlag()
+
+ let g:syntastic_stl_format = old_stl_format
+
+ return ret
+endfunction " }}}
diff --git a/vim/autoload/Powerline/Matches.vim b/vim/autoload/Powerline/Matches.vim
new file mode 100644
index 0000000..a71f734
--- /dev/null
+++ b/vim/autoload/Powerline/Matches.vim
@@ -0,0 +1,13 @@
+let g:Powerline#Matches#matches = {
+ \ 'command_t' : Pl#Match#Add('bufname("%")', 'GoToFile'),
+ \ 'ft_help' : Pl#Match#Add('&ft' , 'help'),
+ \ 'ft_man' : Pl#Match#Add('&ft' , 'man'),
+ \ 'ft_qf' : Pl#Match#Add('&ft' , 'qf'),
+ \ 'ft_vimpager' : Pl#Match#Add('&ft' , 'vimpager'),
+ \ 'gundo_preview' : Pl#Match#Add('bufname("%")', '__Gundo_Preview__'),
+ \ 'gundo_tree' : Pl#Match#Add('bufname("%")', '__Gundo__'),
+ \ 'lustyexplorer' : Pl#Match#Add('bufname("%")', '\[LustyExplorer-Buffers\]'),
+ \ 'minibufexplorer' : Pl#Match#Add('bufname("%")', '\-MiniBufExplorer\-'),
+ \ 'tagbar' : Pl#Match#Add('&ft' , 'tagbar'),
+ \ 'nerdtree' : Pl#Match#Add('&ft' , 'nerdtree'),
+\ }
diff --git a/vim/autoload/Powerline/Segments.vim b/vim/autoload/Powerline/Segments.vim
new file mode 100644
index 0000000..837ec5f
--- /dev/null
+++ b/vim/autoload/Powerline/Segments.vim
@@ -0,0 +1,28 @@
+let g:Powerline#Segments#segments = Pl#Segment#Init(
+ \ Pl#Segment#Create('SPLIT' , '__split__'),
+ \ Pl#Segment#Create('TRUNCATE', '__truncate__'),
+ \
+ \ Pl#Segment#Create('mode_indicator' , '%{Powerline#Functions#GetMode()}', Pl#Segment#Modes('!N')),
+ \ Pl#Segment#Create('fileinfo',
+ \ Pl#Segment#Create('flags.ro' , '%{&readonly ? "$RO" : ""}'),
+ \ Pl#Segment#Create('name' , '%t'),
+ \ Pl#Segment#Create('flags.mod' , '%M'),
+ \ Pl#Segment#Create('flags.type' , '%H%W'),
+ \ ),
+ \ Pl#Segment#Create('filename' , '%t'),
+ \ Pl#Segment#Create('filesize' , '%{Powerline#Functions#GetFilesize()}', Pl#Segment#Modes('!N')),
+ \ Pl#Segment#Create('pwd' , '%{substitute(getcwd(), expand("$HOME"), "~", "g")}'),
+ \ Pl#Segment#Create('static_str' , '%%{"%s"}'),
+ \ Pl#Segment#Create('raw' , '%s'),
+ \ Pl#Segment#Create('fileformat' , '%{&fileformat}', Pl#Segment#Modes('!N')),
+ \ Pl#Segment#Create('fileencoding' , '%{(&fenc == "" ? &enc : &fenc)}', Pl#Segment#Modes('!N')),
+ \ Pl#Segment#Create('filetype' , '%{strlen(&ft) ? &ft : "no ft"}', Pl#Segment#Modes('!N')),
+ \ Pl#Segment#Create('scrollpercent' , '%3p%%'),
+ \ Pl#Segment#Create('lineinfo',
+ \ Pl#Segment#Create('line.cur' , '$LINE %3l'),
+ \ Pl#Segment#Create('line.tot' , '$COL %-2c'),
+ \ ),
+ \ Pl#Segment#Create('charcode' , '%{Powerline#Functions#GetCharCode()}', Pl#Segment#Modes('!N')),
+ \ Pl#Segment#Create('currhigroup' , '%{synIDattr(synID(line("."), col("."), 1), "name")}', Pl#Segment#Modes('!N')),
+ \ Pl#Segment#Create('ws_marker' , '%{Powerline#Functions#GetWSMarker()}', Pl#Segment#Modes('!N')),
+\ )
diff --git a/vim/autoload/Powerline/Segments/cfi.vim b/vim/autoload/Powerline/Segments/cfi.vim
new file mode 100644
index 0000000..bde558b
--- /dev/null
+++ b/vim/autoload/Powerline/Segments/cfi.vim
@@ -0,0 +1,5 @@
+let g:Powerline#Segments#cfi#segments = Pl#Segment#Init('cfi',
+ \ (exists('g:cfi_disable') && g:cfi_disable == 0),
+ \
+ \ Pl#Segment#Create('current_function', '%{Powerline#Functions#cfi#GetCurrentFunction()}', Pl#Segment#Modes('!N'))
+\ )
diff --git a/vim/autoload/Powerline/Segments/ctrlp.vim b/vim/autoload/Powerline/Segments/ctrlp.vim
new file mode 100644
index 0000000..bab5193
--- /dev/null
+++ b/vim/autoload/Powerline/Segments/ctrlp.vim
@@ -0,0 +1,10 @@
+let g:Powerline#Segments#ctrlp#segments = Pl#Segment#Init('ctrlp'
+ \ , Pl#Segment#Create('focus', '%{"%0"}')
+ \ , Pl#Segment#Create('byfname', '%{"%1"}')
+ \ , Pl#Segment#Create('prev', '%-3{"%3"}')
+ \ , Pl#Segment#Create('item', '%-9{"%4"}')
+ \ , Pl#Segment#Create('next', '%-3{"%5"}')
+ \ , Pl#Segment#Create('marked', '%{"%6" == " <+>" ? "" : strpart("%6", 2, len("%6") - 3)}')
+ \
+ \ , Pl#Segment#Create('count', '%-6{"%0"}')
+\ )
diff --git a/vim/autoload/Powerline/Segments/ft_man.vim b/vim/autoload/Powerline/Segments/ft_man.vim
new file mode 100644
index 0000000..ee11849
--- /dev/null
+++ b/vim/autoload/Powerline/Segments/ft_man.vim
@@ -0,0 +1,3 @@
+let g:Powerline#Segments#ft_man#segments = Pl#Segment#Init('ft_man',
+ \ Pl#Segment#Create('filename', '%{Powerline#Functions#ft_man#GetName()}')
+\ )
diff --git a/vim/autoload/Powerline/Segments/fugitive.vim b/vim/autoload/Powerline/Segments/fugitive.vim
new file mode 100644
index 0000000..297556b
--- /dev/null
+++ b/vim/autoload/Powerline/Segments/fugitive.vim
@@ -0,0 +1,5 @@
+let g:Powerline#Segments#fugitive#segments = Pl#Segment#Init('fugitive',
+ \ (exists('g:loaded_fugitive') && g:loaded_fugitive == 1),
+ \
+ \ Pl#Segment#Create('branch', '%{Powerline#Functions#fugitive#GetBranch("$BRANCH")}')
+\ )
diff --git a/vim/autoload/Powerline/Segments/rvm.vim b/vim/autoload/Powerline/Segments/rvm.vim
new file mode 100644
index 0000000..7e34245
--- /dev/null
+++ b/vim/autoload/Powerline/Segments/rvm.vim
@@ -0,0 +1,5 @@
+let g:Powerline#Segments#rvm#segments = Pl#Segment#Init('rvm',
+ \ (exists('g:loaded_rvm') && g:loaded_rvm == 1),
+ \ Pl#Segment#Create('string', '%{rvm#string()}'),
+ \ Pl#Segment#Create('statusline', '%{rvm#statusline()}')
+\ )
diff --git a/vim/autoload/Powerline/Segments/syntastic.vim b/vim/autoload/Powerline/Segments/syntastic.vim
new file mode 100644
index 0000000..2f0caa9
--- /dev/null
+++ b/vim/autoload/Powerline/Segments/syntastic.vim
@@ -0,0 +1,5 @@
+let g:Powerline#Segments#syntastic#segments = Pl#Segment#Init('syntastic',
+ \ (exists('g:loaded_syntastic_plugin') && g:loaded_syntastic_plugin == 1),
+ \
+ \ Pl#Segment#Create('errors', '%{Powerline#Functions#syntastic#GetErrors("$LINE")}', Pl#Segment#Modes('!N'))
+\ )
diff --git a/vim/autoload/Powerline/Segments/virtualenv.vim b/vim/autoload/Powerline/Segments/virtualenv.vim
new file mode 100644
index 0000000..90661f1
--- /dev/null
+++ b/vim/autoload/Powerline/Segments/virtualenv.vim
@@ -0,0 +1,5 @@
+let g:Powerline#Segments#virtualenv#segments = Pl#Segment#Init('virtualenv',
+ \ has('python') && (exists('g:virtualenv_loaded') && g:virtualenv_loaded == 1),
+ \
+ \ Pl#Segment#Create('statusline', '%{VirtualEnvStatusline()}')
+\ )
diff --git a/vim/autoload/Powerline/Themes/.DS_Store b/vim/autoload/Powerline/Themes/.DS_Store
new file mode 100644
index 0000000..44586fd
--- /dev/null
+++ b/vim/autoload/Powerline/Themes/.DS_Store
Binary files differ
diff --git a/vim/autoload/Powerline/Themes/default.vim b/vim/autoload/Powerline/Themes/default.vim
new file mode 100644
index 0000000..75106eb
--- /dev/null
+++ b/vim/autoload/Powerline/Themes/default.vim
@@ -0,0 +1,114 @@
+let g:Powerline#Themes#default#theme = Pl#Theme#Create(
+ \ Pl#Theme#Buffer(''
+ \ , 'mode_indicator'
+ \ , 'fugitive:branch'
+ \ , 'fileinfo'
+ \ , 'syntastic:errors'
+ \ , Pl#Segment#Truncate()
+ \ , 'cfi:current_function'
+ \ , Pl#Segment#Split()
+ \ , 'rvm:string'
+ \ , 'virtualenv:statusline'
+ \ , 'fileformat'
+ \ , 'fileencoding'
+ \ , 'filetype'
+ \ , 'scrollpercent'
+ \ , 'lineinfo'
+ \ ),
+ \
+ \ Pl#Theme#Buffer('command_t'
+ \ , ['static_str.name', 'Command-T']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ , ['raw.line', '%10(Match #%l%)']
+ \ ),
+ \
+ \ Pl#Theme#Buffer('gundo', Pl#Match#Any('gundo_tree')
+ \ , ['static_str.name', 'Gundo']
+ \ , ['static_str.buffer', 'Undo tree']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ ),
+ \
+ \ Pl#Theme#Buffer('gundo', Pl#Match#Any('gundo_preview')
+ \ , ['static_str.name', 'Gundo']
+ \ , ['static_str.buffer', 'Diff preview']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ ),
+ \
+ \ Pl#Theme#Buffer('ft_help'
+ \ , ['static_str.name', 'Help']
+ \ , 'filename'
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ , 'scrollpercent'
+ \ ),
+ \
+ \ Pl#Theme#Buffer('ft_vimpager'
+ \ , ['static_str.name', 'Pager']
+ \ , 'filename'
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ , 'scrollpercent'
+ \ ),
+ \
+ \ Pl#Theme#Buffer('lustyexplorer'
+ \ , ['static_str.name', 'LustyExplorer']
+ \ , ['static_str.buffer', 'Buffer list']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ ),
+ \
+ \ Pl#Theme#Buffer('ft_man'
+ \ , ['static_str.name', 'Man page']
+ \ , 'filename'
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ , 'scrollpercent'
+ \ ),
+ \
+ \ Pl#Theme#Buffer('minibufexplorer'
+ \ , ['static_str.name', 'MiniBufExplorer']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ ),
+ \
+ \ Pl#Theme#Buffer('ft_qf'
+ \ , ['static_str.name', 'Quickfix']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ ),
+ \
+ \ Pl#Theme#Buffer('tagbar'
+ \ , ['static_str.name', 'Tagbar']
+ \ , ['static_str.buffer', 'Tree']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ ),
+ \
+ \ Pl#Theme#Buffer('ctrlp', Pl#Theme#Callback('ctrlp_main', 'if ! exists("g:ctrlp_status_func") | let g:ctrlp_status_func = {} | endif | let g:ctrlp_status_func.main = "%s"')
+ \ , 'ctrlp:prev'
+ \ , 'ctrlp:item'
+ \ , 'ctrlp:next'
+ \ , 'ctrlp:marked'
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ , 'ctrlp:focus'
+ \ , 'ctrlp:byfname'
+ \ , 'pwd'
+ \ ),
+ \
+ \ Pl#Theme#Buffer('ctrlp', Pl#Theme#Callback('ctrlp_prog', 'if ! exists("g:ctrlp_status_func") | let g:ctrlp_status_func = {} | endif | let g:ctrlp_status_func.prog = "%s"')
+ \ , 'ctrlp:count'
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ , 'pwd'
+ \ ),
+ \
+ \ Pl#Theme#Buffer('nerdtree'
+ \ , ['raw.name', '%{expand("%:p:h")}']
+ \ , Pl#Segment#Truncate()
+ \ , Pl#Segment#Split()
+ \ )
+\ )