branch: mq patch not correctly displayed

also make the branch extension make use of the specific code to handle
the mq output
This commit is contained in:
Christian Brabandt 2017-09-22 21:37:28 +02:00
parent cfb107c75f
commit 9f186d899a
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
2 changed files with 8 additions and 13 deletions

View File

@ -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

View File

@ -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