use wordcount function if available

This commit is contained in:
Christian Brabandt 2016-01-15 12:54:46 +01:00
parent 048b24a916
commit 17f5eaaa6a

View File

@ -9,25 +9,28 @@ function! s:update()
if &ft !~ s:filetypes
unlet! b:airline_wordcount
return
elseif exists("*wordcount")
let b:airline_wordcount = printf(s:format, wordcount()['words']).
\ g:airline_symbols.space . g:airline_right_alt_sep . g:airline_symbols.space
elseif mode() =~? 's'
" Bail on select mode
return
endif
let old_status = v:statusmsg
let position = getpos(".")
exe "silent normal! g\<c-g>"
let stat = v:statusmsg
call setpos('.', position)
let v:statusmsg = old_status
let parts = split(stat)
if len(parts) > 11
let cnt = str2nr(split(stat)[11])
let spc = g:airline_symbols.space
let b:airline_wordcount = printf(s:format, cnt) . spc . g:airline_right_alt_sep . spc
else
unlet! b:airline_wordcount
let old_status = v:statusmsg
let position = getpos(".")
exe "silent normal! g\<c-g>"
let stat = v:statusmsg
call setpos('.', position)
let v:statusmsg = old_status
let parts = split(stat)
if len(parts) > 11
let cnt = str2nr(split(stat)[11])
let spc = g:airline_symbols.space
let b:airline_wordcount = printf(s:format, cnt) . spc . g:airline_right_alt_sep . spc
else
unlet! b:airline_wordcount
endif
endif
endfunction