diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 65c943c888247b5c02badc3e3b59c603f325a290..856405d620a0e00741b8e7976d4e560db6e3d6c5 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -2331,6 +2331,13 @@ impl Project { }; cx.spawn(|_, cx| async move { + let clipped_position = source_buffer_handle + .read_with(&cx, |this, _| this.clip_point_utf16(position, Bias::Left)); + if clipped_position != position { + log::info!("Completion position out of date"); + return Ok(Default::default()); + } + let completions = lang_server .request::(lsp::CompletionParams { text_document_position: lsp::TextDocumentPositionParams::new(