Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'lib/lsp-server/examples/goto_def.rs')
| -rw-r--r-- | lib/lsp-server/examples/goto_def.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/lsp-server/examples/goto_def.rs b/lib/lsp-server/examples/goto_def.rs index 2f270afbbf..71f6625406 100644 --- a/lib/lsp-server/examples/goto_def.rs +++ b/lib/lsp-server/examples/goto_def.rs @@ -64,7 +64,15 @@ fn main() -> Result<(), Box<dyn Error + Sync + Send>> { ..Default::default() }) .unwrap(); - let initialization_params = connection.initialize(server_capabilities)?; + let initialization_params = match connection.initialize(server_capabilities) { + Ok(it) => it, + Err(e) => { + if e.channel_is_disconnected() { + io_threads.join()?; + } + return Err(e.into()); + } + }; main_loop(connection, initialization_params)?; io_threads.join()?; |