From 9f186d899a2817d23c4f5f0f74285735101e87d4 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Fri, 22 Sep 2017 21:37:28 +0200 Subject: [PATCH] branch: mq patch not correctly displayed also make the branch extension make use of the specific code to handle the mq output --- autoload/airline/async.vim | 8 ++++---- autoload/airline/extensions/branch.vim | 13 ++++--------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/autoload/airline/async.vim b/autoload/airline/async.vim index 197da66e..454db1dd 100644 --- a/autoload/airline/async.vim +++ b/autoload/airline/async.vim @@ -14,10 +14,10 @@ function! s:untracked_output(dict, buf) endif endfunction -function! s:mq_output(buf, file) +function! airline#async#mq_output(buf, file) let buf=a:buf if !empty(a:buf) - if a:buf is# 'no patches applied ' || + if a:buf =~# 'no patches applied' || \ a:buf =~# "unknown command 'qtop'" let buf = '' elseif exists("b:mq") && b:mq isnot# buf @@ -57,7 +57,7 @@ if v:version >= 800 && has("job") endfunction function! s:on_exit_mq(channel) dict abort - call s:mq_output(self.buf, self.file) + call airline#async#mq_output(self.buf, self.file) endfunction function! s:on_exit_untracked(channel) dict abort @@ -159,7 +159,7 @@ elseif has("nvim") function! s:nvim_mq_job_handler(job_id, data, event) dict if a:event == 'exit' - call s:mq_output(self.buf, self.file) + call airline#async#mq_output(self.buf, self.file) endif endfunction diff --git a/autoload/airline/extensions/branch.vim b/autoload/airline/extensions/branch.vim index b63183b7..c589bdde 100644 --- a/autoload/airline/extensions/branch.vim +++ b/autoload/airline/extensions/branch.vim @@ -124,21 +124,16 @@ function! s:update_hg_branch(...) if s:has_lawrencium let cmd='LC_ALL=C hg qtop' let stl=lawrencium#statusline() + let file=expand('%:p') if !empty(stl) && get(b:, 'airline_do_mq_check', 1) if g:airline#init#vim_async - call airline#async#get_mq_async(cmd, expand('%:p')) + call airline#async#get_mq_async(cmd, file) elseif has("nvim") - call airline#async#nvim_get_mq_async(cmd, expand('%:p')) + call airline#async#nvim_get_mq_async(cmd, file) else " remove \n at the end of the command let output=system(cmd)[0:-2] - if output is# 'no patches applied ' || - \ output =~# "unknown command 'qtop'" - let b:mq='' - else - unlet! b:airline_head - let b:mq = output - endif + call airline#async#mq_output(output, file) endif endif " do not do mq check anymore