Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/typing.rs')
-rw-r--r--crates/ide/src/typing.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/crates/ide/src/typing.rs b/crates/ide/src/typing.rs
index 8c9dd05145..4df7e25223 100644
--- a/crates/ide/src/typing.rs
+++ b/crates/ide/src/typing.rs
@@ -15,14 +15,15 @@
mod on_enter;
+use hir::EditionedFileId;
+use ide_db::{FilePosition, RootDatabase, base_db::RootQueryDb};
+use span::Edition;
use std::iter;
-use ide_db::{base_db::SourceDatabase, FilePosition, RootDatabase};
-use span::{Edition, EditionedFileId};
use syntax::{
- algo::{ancestors_at_offset, find_node_at_offset},
- ast::{self, edit::IndentLevel, AstToken},
AstNode, Parse, SourceFile, SyntaxKind, TextRange, TextSize,
+ algo::{ancestors_at_offset, find_node_at_offset},
+ ast::{self, AstToken, edit::IndentLevel},
};
use ide_db::text_edit::TextEdit;
@@ -73,7 +74,8 @@ pub(crate) fn on_char_typed(
// FIXME: We are hitting the database here, if we are unlucky this call might block momentarily
// causing the editor to feel sluggish!
let edition = Edition::CURRENT_FIXME;
- let file = &db.parse(EditionedFileId::new(position.file_id, edition));
+ let editioned_file_id_wrapper = EditionedFileId::new(db, position.file_id, edition);
+ let file = &db.parse(editioned_file_id_wrapper);
let char_matches_position =
file.tree().syntax().text().char_at(position.offset) == Some(char_typed);
if !stdx::always!(char_matches_position) {