From 9e8920b3362b1382cfe4bb6691f2bf4bf41e6e68 Mon Sep 17 00:00:00 2001 From: Horacio Sanson Date: Sun, 11 Sep 2022 10:51:27 +0900 Subject: [PATCH] Fix 4155 - Show error when project root not found (#4207) --- autoload/ale/lsp_linter.vim | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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