Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs')
-rw-r--r--crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs b/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs
index 32725afc55..3a25391b57 100644
--- a/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs
+++ b/crates/proc-macro-srv/src/server_impl/rust_analyzer_span.rs
@@ -257,14 +257,12 @@ impl server::Span for RaSpanServer<'_> {
Span { range: TextRange::empty(span.range.start()), ..span }
}
- fn line(&mut self, _span: Self::Span) -> usize {
- // FIXME requires db to resolve line index, THIS IS NOT INCREMENTAL
- 1
+ fn line(&mut self, span: Self::Span) -> usize {
+ self.callback.as_mut().and_then(|cb| cb.line_column(span)).map_or(1, |(l, _)| l as usize)
}
- fn column(&mut self, _span: Self::Span) -> usize {
- // FIXME requires db to resolve line index, THIS IS NOT INCREMENTAL
- 1
+ fn column(&mut self, span: Self::Span) -> usize {
+ self.callback.as_mut().and_then(|cb| cb.line_column(span)).map_or(1, |(_, c)| c as usize)
}
}