Don't assume DidChangeTextDocument paths exist

Fixes #5933
This commit is contained in:
Matt Jibson 2020-11-23 16:35:34 -07:00
parent 48bb4bf228
commit 117c793e80

View File

@ -503,7 +503,13 @@ impl GlobalState {
})?
.on::<lsp_types::notification::DidChangeTextDocument>(|this, params| {
if let Ok(path) = from_proto::vfs_path(&params.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();