Precisely find label definition

This commit is contained in:
Myriad-Dreamin 2025-03-31 00:46:09 +08:00
parent 8a7a4d154d
commit 4a60f26a22

View File

@ -75,7 +75,10 @@ pub fn definition(
let label = Label::new(PicoStr::intern(node.cast::<ast::Ref>()?.target()));
let selector = Selector::Label(label);
let elem = document?.introspector.query_first(&selector)?;
return Some(Definition::Span(elem.span()));
let labelled_at = elem.labelled_at().or(elem.span());
if !labelled_at.is_detached() {
return Some(Definition::Span(labelled_at));
}
}
_ => {}