mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 06:41:48 +00:00
Goto definition works inside macros
This commit is contained in:
parent
786cae520a
commit
2eaa8c94a8
4 changed files with 77 additions and 11 deletions
|
@ -77,6 +77,12 @@ pub fn token_tree_to_syntax_node(
|
|||
}
|
||||
|
||||
impl TokenMap {
|
||||
pub fn token_by_offset(&self, relative_offset: TextUnit) -> Option<tt::TokenId> {
|
||||
let (idx, _) =
|
||||
self.tokens.iter().enumerate().find(|(_, range)| range.contains(relative_offset))?;
|
||||
Some(tt::TokenId(idx as u32))
|
||||
}
|
||||
|
||||
pub fn relative_range_of(&self, tt: tt::TokenId) -> Option<TextRange> {
|
||||
let idx = tt.0 as usize;
|
||||
self.tokens.get(idx).copied()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue