37 lines
1.1 KiB
VimL
37 lines
1.1 KiB
VimL
|
" MIT License. Copyright (c) 2013-2021
|
||
|
" Plugin: https://github.com/lambdalisue/fern.vim
|
||
|
" vim: et ts=2 sts=2 sw=2
|
||
|
|
||
|
scriptencoding utf-8
|
||
|
if !get(g:, 'loaded_fern', 0)
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
function! airline#extensions#fern#apply(...) abort
|
||
|
if (&ft =~# 'fern')
|
||
|
let spc = g:airline_symbols.space
|
||
|
let fri = fern#fri#parse(expand('%f'))
|
||
|
|
||
|
call a:1.add_section('airline_a', spc.'fern'.spc)
|
||
|
if exists('*airline#extensions#branch#get_head')
|
||
|
call a:1.add_section('airline_b', spc.'%{airline#extensions#branch#get_head()}'.spc)
|
||
|
else
|
||
|
call a:1.add_section('airline_b', '')
|
||
|
endif
|
||
|
if !(fri.authority =~# '^drawer')
|
||
|
let abspath = substitute(fri.path, 'file://', '', '')
|
||
|
call a:1.add_section('airline_c', spc.fnamemodify(abspath, ':~'))
|
||
|
call a:1.split()
|
||
|
if len(get(g:, 'fern#comparators', {}))
|
||
|
call a:1.add_section('airline_y', spc.'%{fern#comparator}'.spc)
|
||
|
endif
|
||
|
endif
|
||
|
return 1
|
||
|
endif
|
||
|
endfunction
|
||
|
|
||
|
function! airline#extensions#fern#init(ext) abort
|
||
|
let g:fern_force_overwrite_statusline = 0
|
||
|
call a:ext.add_statusline_func('airline#extensions#fern#apply')
|
||
|
endfunction
|