Fix some bugs so the PHP language server will show errors at least once
This commit is contained in:
parent
63b9d9e9df
commit
84af543907
@ -25,7 +25,7 @@ endfunction
|
||||
function! ale_linters#php#langserver#GetProjectRoot(buffer) abort
|
||||
let l:git_path = ale#path#FindNearestDirectory(a:buffer, '.git')
|
||||
|
||||
return !empty(l:git_path) ? fnamemodify(l:git_path, ':h') : ''
|
||||
return !empty(l:git_path) ? fnamemodify(l:git_path, ':h:h') : ''
|
||||
endfunction
|
||||
|
||||
call ale#linter#Define('php', {
|
||||
|
@ -164,6 +164,8 @@ function! s:HandleInitializeResponse(conn, response) abort
|
||||
return
|
||||
endif
|
||||
|
||||
let l:project.initialized = 1
|
||||
|
||||
" After the server starts, send messages we had queued previously.
|
||||
for l:message_data in l:project.message_queue
|
||||
call s:SendMessageData(a:conn, l:message_data)
|
||||
@ -211,7 +213,7 @@ function! s:RegisterProject(conn, project_root) abort
|
||||
" Tools without project roots are ready right away, like tsserver.
|
||||
let a:conn.projects[a:project_root] = {
|
||||
\ 'initialized': empty(a:project_root),
|
||||
\ 'init_messsage_id': 0,
|
||||
\ 'init_request_id': 0,
|
||||
\ 'message_queue': [],
|
||||
\}
|
||||
endif
|
||||
@ -319,7 +321,7 @@ function! ale#lsp#Send(conn_id, message, ...) abort
|
||||
" Only send the init message once.
|
||||
if !l:project.init_request_id
|
||||
let [l:init_id, l:init_data] = ale#lsp#CreateMessageData(
|
||||
\ ale#lsp#message#Initialize(l:conn.project_root),
|
||||
\ ale#lsp#message#Initialize(l:project_root),
|
||||
\)
|
||||
|
||||
let l:project.init_request_id = l:init_id
|
||||
|
Loading…
Reference in New Issue
Block a user