Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/load-cargo/src/lib.rs')
-rw-r--r--crates/load-cargo/src/lib.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/crates/load-cargo/src/lib.rs b/crates/load-cargo/src/lib.rs
index 33468a5003..8342492a33 100644
--- a/crates/load-cargo/src/lib.rs
+++ b/crates/load-cargo/src/lib.rs
@@ -553,6 +553,7 @@ impl ProcMacroExpander for Expander {
Ok(SubResponse::LocalFilePathResult { name })
}
+ // Not incremental: requires full file text.
SubRequest::SourceText { file_id, ast_id, start, end } => {
let range = resolve_sub_span(
db,
@@ -567,6 +568,7 @@ impl ProcMacroExpander for Expander {
Ok(SubResponse::SourceTextResult { text })
}
+ // Not incremental: requires building line index.
SubRequest::LineColumn { file_id, ast_id, offset } => {
let range =
resolve_sub_span(db, file_id, ast_id, TextRange::empty(TextSize::from(offset)));
@@ -591,6 +593,17 @@ impl ProcMacroExpander for Expander {
Ok(SubResponse::FilePathResult { name })
}
+ // Not incremental: requires global span resolution.
+ SubRequest::ByteRange { file_id, ast_id, start, end } => {
+ let range = resolve_sub_span(
+ db,
+ file_id,
+ ast_id,
+ TextRange::new(TextSize::from(start), TextSize::from(end)),
+ );
+
+ Ok(SubResponse::ByteRangeResult { range: range.range.into() })
+ }
};
match self.0.expand(
subtree.view(),