File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed
Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -270,6 +270,9 @@ function Base.run(server::LanguageServerInstance)
270270 else
271271 Base. display_error (stderr , err, bt)
272272 end
273+ finally
274+ put! (server. combined_msg_queue, (type = :close ,))
275+ close (server. combined_msg_queue)
273276 end
274277
275278 @async try
@@ -284,6 +287,9 @@ function Base.run(server::LanguageServerInstance)
284287 else
285288 Base. display_error (stderr , err, bt)
286289 end
290+ finally
291+ put! (server. combined_msg_queue, (type = :close ,))
292+ close (server. combined_msg_queue)
287293 end
288294
289295 msg_dispatcher = JSONRPC. MsgDispatcher ()
@@ -325,7 +331,10 @@ function Base.run(server::LanguageServerInstance)
325331 while true
326332 message = take! (server. combined_msg_queue)
327333
328- if message. type == :clientmsg
334+ if message. type == :close
335+ @info " Shutting down server instance."
336+ return
337+ elseif message. type == :clientmsg
329338 msg = message. msg
330339
331340 JSONRPC. dispatch_msg (server. jr_endpoint, msg_dispatcher, msg)
You can’t perform that action at this time.
0 commit comments