Add deeper netrw support, including Git branch head and netrw sorting

options
This commit is contained in:
ralesi 2014-01-19 12:06:55 -07:00
parent b7c88b40aa
commit 75ee42b118
2 changed files with 32 additions and 1 deletions

View File

@ -20,7 +20,6 @@ endfunction
let s:script_path = tolower(resolve(expand('<sfile>:p:h')))
let s:filetype_overrides = {
\ 'netrw': [ 'netrw', '%f' ],
\ 'nerdtree': [ 'NERD', '' ],
\ 'gundo': [ 'Gundo', '' ],
\ 'diff': [ 'diff', '' ],
@ -128,6 +127,10 @@ function! airline#extensions#load()
call airline#extensions#unite#init(s:ext)
endif
if exists(':NetrwSettings')
call airline#extensions#netrw#init(s:ext)
endif
if get(g:, 'loaded_vimfiler', 0)
let g:vimfiler_force_overwrite_statusline = 0
endif

View File

@ -0,0 +1,28 @@
" MIT License. Copyright (c) 2013 Bailey Ling.
" vim: et ts=2 sts=2 sw=2
if !exists(':NetrwSettings')
finish
endif
function! airline#extensions#netrw#apply(...)
if &ft == 'netrw'
call a:1.add_section('airline_a', ' netrw ')
call a:1.add_section('airline_b', ' %{airline#extensions#branch#get_head()} ')
call a:1.add_section('airline_c', ' %f ')
call a:1.split()
call a:1.add_section('airline_y', ' %{airline#extensions#netrw#sortstring()} ')
return 1
endif
endfunction
function! airline#extensions#netrw#init(ext)
let g:netrw_force_overwrite_statusline = 0
call a:ext.add_statusline_func('airline#extensions#netrw#apply')
endfunction
function! airline#extensions#netrw#sortstring()
let order = (g:netrw_sort_direction =~ 'n') ? '+' : '-'
return g:netrw_sort_by . ' [' . order . ']'
endfunction