blob: 1d6b328860d7e3c04841deaa2231d85a52cb8610 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
use base_db::semantics::tex::LinkKind;
use crate::{Hover, HoverData, HoverParams};
pub(super) fn find_hover<'db>(params: &HoverParams<'db>) -> Option<Hover<'db>> {
let data = params.document.data.as_tex()?;
data.semantics
.links
.iter()
.filter(|link| matches!(link.kind, LinkKind::Sty | LinkKind::Cls))
.filter(|link| link.path.range.contains_inclusive(params.offset))
.find_map(|link| {
let meta = completion_data::DATABASE.meta(&link.path.text)?;
let description = meta.description.as_deref()?;
Some(Hover {
range: link.path.range,
data: HoverData::Package(description),
})
})
}
|