add lsp_server_exit notification (#980)

This commit is contained in:
Prabir Shrestha
2020-12-27 10:59:27 -08:00
committed by GitHub
parent 630015f8f5
commit c4a867b51c
2 changed files with 20 additions and 0 deletions

View File

@@ -761,6 +761,8 @@ function! s:on_exit(server_name, id, data, event) abort
if has_key(l:server, 'init_result') if has_key(l:server, 'init_result')
unlet l:server['init_result'] unlet l:server['init_result']
endif endif
call lsp#stream(1, { 'server': '$vimlsp',
\ 'response': { 'method': '$/vimlsp/lsp_server_exit', 'params': { 'server': a:server_name } } })
doautocmd <nomodeline> User lsp_server_exit doautocmd <nomodeline> User lsp_server_exit
endif endif
endfunction endfunction

View File

@@ -1097,6 +1097,24 @@ au User lsp_setup call lsp#callbag#pipe(
\ ) \ )
< <
Custom vim-lsp notifications streams:
vimp-lsp events mimic lsp server notifications.
* `server` is always `$vimlsp`.
* `response` `method` is always prefixed with ``$/vimlsp/`
|$/vimlsp/lsp_server_exit|
This is similar to |lsp_server_exit| autocommand.
Example: >
{
"server": "$vimlsp",
"response": {
"method": "$/vimlsp/lsp_server_exit",
"params": { "server": "$vimlsp" }
}
}
<
lsp#stop_server({name-of-server}) *lsp#stop_server()* lsp#stop_server({name-of-server}) *lsp#stop_server()*
Used to stop the server. Used to stop the server.