summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw0rp <devw0rp@gmail.com>2018-01-19 16:50:04 +0000
committerw0rp <devw0rp@gmail.com>2018-01-19 16:50:04 +0000
commita5ec4143d2ed0527649d4143e244b62b9f879661 (patch)
treeccb5afba9cb07e95e040f01f600b0b74ff59ab24
parent042dec059a3da01477cbc76e9893973dd374872d (diff)
downloadale-a5ec4143d2ed0527649d4143e244b62b9f879661.zip
Fix the didSave tests so they work in NeoVim 0.1.7, and do not send the message for tsserver
-rw-r--r--autoload/ale/engine.vim4
-rw-r--r--test/lsp/test_did_save_event.vader (renamed from test/lsp/test_lsp_communication.vader)15
2 files changed, 15 insertions, 4 deletions
diff --git a/autoload/ale/engine.vim b/autoload/ale/engine.vim
index c415e7cb..8c3d4c73 100644
--- a/autoload/ale/engine.vim
+++ b/autoload/ale/engine.vim
@@ -704,8 +704,8 @@ function! s:CheckWithLSP(buffer, linter) abort
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.
- let l:is_save = getbufvar(a:buffer, 'ale_save_event_fired', 0)
- if l:is_save != 0
+ if a:linter.lsp isnot# 'tsserver'
+ \&& getbufvar(a:buffer, 'ale_save_event_fired', 0)
let l:save_message = ale#lsp#message#DidSave(a:buffer)
let l:request_id = ale#lsp#Send(l:id, l:save_message, l:root)
endif
diff --git a/test/lsp/test_lsp_communication.vader b/test/lsp/test_did_save_event.vader
index 7a4c67ea..042a3ce2 100644
--- a/test/lsp/test_lsp_communication.vader
+++ b/test/lsp/test_did_save_event.vader
@@ -16,13 +16,21 @@ Before:
let g:message_list = []
let g:Callback = ''
+ function! LanguageCallback() abort
+ return 'foobar'
+ endfunction
+
+ function! ProjectRootCallback() abort
+ return expand('.')
+ endfunction
+
call ale#linter#Define('foobar', {
\ 'name': 'dummy_linter',
\ 'lsp': 'stdio',
\ 'command': 'cat - > /dev/null',
\ 'executable': has('win32') ? 'cmd' : 'echo',
- \ 'language_callback': {buffer -> 'foobar'},
- \ 'project_root_callback': {buffer -> expand('.')},
+ \ 'language_callback': 'LanguageCallback',
+ \ 'project_root_callback': 'ProjectRootCallback',
\ })
let g:ale_linters = {'foobar': ['dummy_linter']}
@@ -48,6 +56,9 @@ After:
unlet! g:Callback
unlet! g:message_list
+ delfunction LanguageCallback
+ delfunction ProjectRootCallback
+
call ale#test#RestoreDirectory()
call ale#linter#Reset()