From 74849d4a10be38808607d7576a26a36d56c50e73 Mon Sep 17 00:00:00 2001 From: Bailey Ling Date: Sat, 24 Aug 2013 04:08:57 +0000 Subject: [PATCH] improved unite integration (#165). --- autoload/airline/builder.vim | 4 ++-- autoload/airline/extensions.vim | 3 +-- autoload/airline/extensions/unite.vim | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 autoload/airline/extensions/unite.vim diff --git a/autoload/airline/builder.vim b/autoload/airline/builder.vim index 87da340..0b74f3e 100644 --- a/autoload/airline/builder.vim +++ b/autoload/airline/builder.vim @@ -3,9 +3,9 @@ let s:prototype = {} -function! s:prototype.split(gutter) +function! s:prototype.split(...) let self._side = 0 - let self._line .= '%#'.self._curgroup.'#'.a:gutter + let self._line .= '%#'.self._curgroup.'#'.(a:0 ? a:1 : '%=') endfunction function! s:prototype.add_section(group, contents) diff --git a/autoload/airline/extensions.vim b/autoload/airline/extensions.vim index a4a639d..8015f69 100644 --- a/autoload/airline/extensions.vim +++ b/autoload/airline/extensions.vim @@ -13,7 +13,6 @@ let s:script_path = expand(':p:h') let s:filetype_overrides = { \ 'netrw': [ 'netrw', '%f' ], - \ 'unite': [ 'Unite', '%{unite#get_status_string()}' ], \ 'nerdtree': [ 'NERD', '' ], \ 'gundo': [ 'Gundo', '' ], \ 'diff': [ 'diff', '' ], @@ -110,7 +109,7 @@ function! airline#extensions#load() call airline#add_statusline_func('airline#extensions#update_statusline') if get(g:, 'loaded_unite', 0) - let g:unite_force_overwrite_statusline = 0 + call airline#extensions#unite#init(s:ext) endif if get(g:, 'loaded_vimfiler', 0) diff --git a/autoload/airline/extensions/unite.vim b/autoload/airline/extensions/unite.vim new file mode 100644 index 0000000..6ea42e1 --- /dev/null +++ b/autoload/airline/extensions/unite.vim @@ -0,0 +1,19 @@ +" MIT License. Copyright (c) 2013 Bailey Ling. +" vim: et ts=2 sts=2 sw=2 + +function! airline#extensions#unite#apply(...) + if &ft == 'unite' + call a:1.add_section('airline_a', ' Unite ') + call a:1.add_section('airline_b', ' %{unite#get_context().buffer_name} ') + call a:1.add_section('airline_c', ' %{unite#get_status_string()} ') + call a:1.split() + call a:1.add_section('airline_y', ' %{unite#get_context().real_buffer_name} ') + return 1 + endif +endfunction + +function! airline#extensions#unite#init(ext) + let g:unite_force_overwrite_statusline = 0 + call a:ext.add_statusline_func('airline#extensions#unite#apply') +endfunction +