Fix the didSave tests so they work in NeoVim 0.1.7, and do not send the message for tsserver

This commit is contained in:
w0rp 2018-01-19 16:50:04 +00:00
parent 042dec059a
commit a5ec4143d2
2 changed files with 15 additions and 4 deletions

View File

@ -704,8 +704,8 @@ function! s:CheckWithLSP(buffer, linter) abort
let l:request_id = ale#lsp#Send(l:id, l:change_message, l:root) let l:request_id = ale#lsp#Send(l:id, l:change_message, l:root)
" If this was a file save event, also notify the server of that. " If this was a file save event, also notify the server of that.
let l:is_save = getbufvar(a:buffer, 'ale_save_event_fired', 0) if a:linter.lsp isnot# 'tsserver'
if l:is_save != 0 \&& getbufvar(a:buffer, 'ale_save_event_fired', 0)
let l:save_message = ale#lsp#message#DidSave(a:buffer) let l:save_message = ale#lsp#message#DidSave(a:buffer)
let l:request_id = ale#lsp#Send(l:id, l:save_message, l:root) let l:request_id = ale#lsp#Send(l:id, l:save_message, l:root)
endif endif

View File

@ -16,13 +16,21 @@ Before:
let g:message_list = [] let g:message_list = []
let g:Callback = '' let g:Callback = ''
function! LanguageCallback() abort
return 'foobar'
endfunction
function! ProjectRootCallback() abort
return expand('.')
endfunction
call ale#linter#Define('foobar', { call ale#linter#Define('foobar', {
\ 'name': 'dummy_linter', \ 'name': 'dummy_linter',
\ 'lsp': 'stdio', \ 'lsp': 'stdio',
\ 'command': 'cat - > /dev/null', \ 'command': 'cat - > /dev/null',
\ 'executable': has('win32') ? 'cmd' : 'echo', \ 'executable': has('win32') ? 'cmd' : 'echo',
\ 'language_callback': {buffer -> 'foobar'}, \ 'language_callback': 'LanguageCallback',
\ 'project_root_callback': {buffer -> expand('.')}, \ 'project_root_callback': 'ProjectRootCallback',
\ }) \ })
let g:ale_linters = {'foobar': ['dummy_linter']} let g:ale_linters = {'foobar': ['dummy_linter']}
@ -48,6 +56,9 @@ After:
unlet! g:Callback unlet! g:Callback
unlet! g:message_list unlet! g:message_list
delfunction LanguageCallback
delfunction ProjectRootCallback
call ale#test#RestoreDirectory() call ale#test#RestoreDirectory()
call ale#linter#Reset() call ale#linter#Reset()