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 ()
@@ -324,7 +330,10 @@ function Base.run(server::LanguageServerInstance)
324330 while true
325331 message = take! (server. combined_msg_queue)
326332
327- if message. type == :clientmsg
333+ if message. type == :close
334+ @info " Shutting down server instance."
335+ return
336+ elseif message. type == :clientmsg
328337 msg = message. msg
329338
330339 JSONRPC. dispatch_msg (server. jr_endpoint, msg_dispatcher, msg)
You can’t perform that action at this time.
0 commit comments