diff options
author | w0rp <devw0rp@gmail.com> | 2017-06-14 16:53:21 +0100 |
---|---|---|
committer | w0rp <devw0rp@gmail.com> | 2017-06-14 16:53:21 +0100 |
commit | 25e4d1a353c108776b235bf547324331c2cd55ab (patch) | |
tree | e0879c1a9dd436b03d9b611f523e73758f4a40cc | |
parent | 07af1799b1ea43e7fc83374b544bc069a2d306c5 (diff) | |
download | ale-25e4d1a353c108776b235bf547324331c2cd55ab.zip |
#649 Output the tsserver command in ALEInfo
-rw-r--r-- | autoload/ale/engine.vim | 15 | ||||
-rw-r--r-- | autoload/ale/lsp.vim | 7 |
2 files changed, 19 insertions, 3 deletions
diff --git a/autoload/ale/engine.vim b/autoload/ale/engine.vim index d15ab901..1643f86b 100644 --- a/autoload/ale/engine.vim +++ b/autoload/ale/engine.vim @@ -538,9 +538,22 @@ function! s:CheckWithTSServer(buffer, linter, executable) abort let l:open_documents = l:info.open_lsp_documents let l:is_open = index(l:open_documents, a:linter.name) >= 0 - call ale#lsp#StartProgram(a:executable, a:executable, function('s:HandleLSPResponse')) + let l:command = ale#job#PrepareCommand(a:executable) + let l:job_id = ale#lsp#StartProgram(a:executable, l:command, function('s:HandleLSPResponse')) + + if !l:job_id + if g:ale_history_enabled + call ale#history#Add(a:buffer, 'failed', l:job_id, l:command) + endif + + return + endif if !l:is_open + if g:ale_history_enabled + call ale#history#Add(a:buffer, 'started', l:job_id, l:command) + endif + call add(l:open_documents, a:linter.name) call ale#lsp#SendMessageToProgram( \ a:executable, diff --git a/autoload/ale/lsp.vim b/autoload/ale/lsp.vim index 449aa304..ce7efd1e 100644 --- a/autoload/ale/lsp.vim +++ b/autoload/ale/lsp.vim @@ -162,6 +162,9 @@ function! s:HandleCommandMessage(job_id, message) abort endfunction " Start a program for LSP servers which run with executables. +" +" The job ID will be returned for for the program if it ran, otherwise +" 0 will be returned. function! ale#lsp#StartProgram(executable, command, callback) abort if !executable(a:executable) return 0 @@ -179,7 +182,7 @@ function! ale#lsp#StartProgram(executable, command, callback) abort \ 'mode': 'raw', \ 'out_cb': function('s:HandleCommandMessage'), \} - let l:job_id = ale#job#Start(ale#job#PrepareCommand(a:command), l:options) + let l:job_id = ale#job#Start(a:command, l:options) else let l:job_id = l:conn.job_id endif @@ -190,7 +193,7 @@ function! ale#lsp#StartProgram(executable, command, callback) abort let l:conn.job_id = l:job_id - return 1 + return l:job_id endfunction " Send a message to a server with a given executable, and a command for |