summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoracio Sanson <hsanson@gmail.com>2022-09-11 10:51:27 +0900
committerGitHub <noreply@github.com>2022-09-11 10:51:27 +0900
commit9e8920b3362b1382cfe4bb6691f2bf4bf41e6e68 (patch)
tree62233f0372d9fa709afe65e94afd58cc00bf5c01
parent477ad3fdd2df80a9dc479f974caeca1aa6ae640b (diff)
downloadale-9e8920b3362b1382cfe4bb6691f2bf4bf41e6e68.zip
Fix 4155 - Show error when project root not found (#4207)
-rw-r--r--autoload/ale/lsp_linter.vim8
1 files changed, 7 insertions, 1 deletions
diff --git a/autoload/ale/lsp_linter.vim b/autoload/ale/lsp_linter.vim
index 39e3e322..1fb2e9b6 100644
--- a/autoload/ale/lsp_linter.vim
+++ b/autoload/ale/lsp_linter.vim
@@ -141,6 +141,10 @@ function! s:HandleLSPErrorMessage(linter_name, response) abort
return
endif
+ call ale#lsp_linter#AddErrorMessage(a:linter_name, l:message)
+endfunction
+
+function! ale#lsp_linter#AddErrorMessage(linter_name, message) abort
" This global variable is set here so we don't load the debugging.vim file
" until someone uses :ALEInfo.
let g:ale_lsp_error_messages = get(g:, 'ale_lsp_error_messages', {})
@@ -149,7 +153,7 @@ function! s:HandleLSPErrorMessage(linter_name, response) abort
let g:ale_lsp_error_messages[a:linter_name] = []
endif
- call add(g:ale_lsp_error_messages[a:linter_name], l:message)
+ call add(g:ale_lsp_error_messages[a:linter_name], a:message)
endfunction
function! ale#lsp_linter#HandleLSPResponse(conn_id, response) abort
@@ -430,6 +434,8 @@ function! ale#lsp_linter#StartLSP(buffer, linter, Callback) abort
if empty(l:root) && a:linter.lsp isnot# 'tsserver'
" If there's no project root, then we can't check files with LSP,
" unless we are using tsserver, which doesn't use project roots.
+ call ale#lsp_linter#AddErrorMessage(a:linter.name, "Failed to find project root, language server wont't start.")
+
return 0
endif