diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs
index 93d87885babf6265ff4b12c9da2c4c0cc07ec9a9..eb8601d59e1c9970f367177f3f365f4feb30811e 100644
--- a/crates/editor/src/editor.rs
+++ b/crates/editor/src/editor.rs
@@ -4898,8 +4898,10 @@ impl Editor {
.scope_context(Some(CharScopeContext::LinkedEdit));
classifier.is_word(char)
});
+ let is_dot = text.as_ref() == ".";
+ let should_apply_linked_edit = is_word_char || is_dot;
- if is_word_char {
+ if should_apply_linked_edit {
let anchor_range = start_anchor.text_anchor..anchor.text_anchor;
linked_edits.push(&self, anchor_range, text.clone(), cx);
} else {
diff --git a/crates/editor/src/editor_tests.rs b/crates/editor/src/editor_tests.rs
index 88be32d6d73d967ab34b287534308164b8623679..142668e6555bcb23370387aab655b0d6b82fa5fe 100644
--- a/crates/editor/src/editor_tests.rs
+++ b/crates/editor/src/editor_tests.rs
@@ -26623,6 +26623,48 @@ async fn test_linked_edits_on_typing_punctuation(cx: &mut TestAppContext) {
cx.assert_editor_state("