From 117c793e80f3b8a41b045cfa5d320ef157f2446c Mon Sep 17 00:00:00 2001 From: Matt Jibson Date: Mon, 23 Nov 2020 16:35:34 -0700 Subject: Don't assume DidChangeTextDocument paths exist Fixes #5933 --- crates/rust-analyzer/src/main_loop.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'crates') diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs index 6ea08adce..b34ff092d 100644 --- a/crates/rust-analyzer/src/main_loop.rs +++ b/crates/rust-analyzer/src/main_loop.rs @@ -503,7 +503,13 @@ impl GlobalState { })? .on::(|this, params| { if let Ok(path) = from_proto::vfs_path(¶ms.text_document.uri) { - let doc = this.mem_docs.get_mut(&path).unwrap(); + let doc = match this.mem_docs.get_mut(&path) { + Some(doc) => doc, + None => { + log::error!("expected DidChangeTextDocument: {}", path); + return Ok(()); + } + }; let vfs = &mut this.vfs.write().0; let file_id = vfs.file_id(&path).unwrap(); let mut text = String::from_utf8(vfs.file_contents(file_id).to_vec()).unwrap(); -- cgit v1.2.3