Execute "sign place" with C lang

Fixes https://github.com/mhinz/vim-signify/issues/293
This commit is contained in:
Marco Hinz 2019-03-28 14:57:52 +01:00
parent bdbda32568
commit 7afad33753
No known key found for this signature in database
GPG Key ID: 1C980A1B657B4A4F
3 changed files with 12 additions and 9 deletions

View File

@ -88,12 +88,7 @@ endfunction
" Function: s:get_lines {{{1
function! s:get_lines() abort
let lang = v:lang
language message C
redir => signlist
silent! execute 'sign place buffer='. b:sy.buffer
redir END
silent! execute 'language message' lang
let signlist = sy#util#execute('sign place buffer='. b:sy.buffer)
let lines = []
for line in split(signlist, '\n')[2:]

View File

@ -24,9 +24,7 @@ function! sy#sign#get_current_signs(sy) abort
let a:sy.internal = {}
let a:sy.external = {}
redir => signlist
silent! execute 'sign place buffer='. a:sy.buffer
redir END
let signlist = sy#util#execute('sign place buffer='. a:sy.buffer)
for signline in split(signlist, '\n')[2:]
let tokens = matchlist(signline, '\v^\s+\S+\=(\d+)\s+\S+\=(\d+)\s+\S+\=(.*)$')

View File

@ -97,3 +97,13 @@ function! sy#util#return_if_no_changes() abort
endif
return ''
endfunction
" Function: #execute {{{1
function! sy#util#execute(cmd) abort
let lang = v:lang
redir => output
silent! execute a:cmd
redir END
silent! execute 'language message' lang
return output
endfunction