]> Sergey Matveev's repositories - vim-lsp.git/commitdiff
Check for the status of LSP server channel before sending a message
authorYegappan Lakshmanan <yegappan@yahoo.com>
Wed, 10 Mar 2021 15:44:56 +0000 (07:44 -0800)
committerYegappan Lakshmanan <yegappan@yahoo.com>
Wed, 10 Mar 2021 15:44:56 +0000 (07:44 -0800)
autoload/lspserver.vim

index e8942a683f6470e542f599d2b5a6b7e68570b7a8..cae1d2c760d22ed73b416b3f07d7acb81c5ee82d 100644 (file)
@@ -237,6 +237,10 @@ def s:sendMessage(lspserver: dict<any>, content: dict<any>): void
   var payload_js: string = content->json_encode()
   var msg = "Content-Length: " .. payload_js->len() .. "\r\n\r\n"
   var ch = lspserver.job->job_getchannel()
+  if ch_status(ch) != 'open'
+    # LSP server has exited
+    return
+  endif
   ch->ch_sendraw(msg)
   ch->ch_sendraw(payload_js)
 enddef