summaryrefslogtreecommitdiff
path: root/support/texlab/crates/texlab/src/features/link/include.rs
blob: eef47514afe211cecd53e44b821f8bd2d5855898 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use super::LinkBuilder;

pub(super) fn find_links(builder: &mut LinkBuilder) -> Option<()> {
    let parent = *builder
        .workspace
        .parents(builder.document)
        .iter()
        .next()
        .unwrap_or(&builder.document);

    let graph = base_db::graph::Graph::new(builder.workspace, parent);

    for edge in &graph.edges {
        if edge.source == builder.document {
            if let Some(weight) = &edge.weight {
                builder.push(weight.link.path.range, edge.target);
            }
        }
    }

    Some(())
}