summaryrefslogtreecommitdiff
path: root/support/texlab/src/syntax/latex/analysis/theorem.rs
blob: 50236e24a5f8f86ca87d3e643c895612d4d193ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use crate::syntax::{
    latex::{self, HasCurly},
    CstNode,
};

use super::{LatexAnalyzerContext, TheoremEnvironment};

pub fn analyze_theorem_definition(
    context: &mut LatexAnalyzerContext,
    node: &latex::SyntaxNode,
) -> Option<()> {
    let theorem = latex::TheoremDefinition::cast(node)?;
    let name = theorem.name()?.key()?.to_string();
    let description = theorem.description()?;
    let description = description.content_text()?;

    context
        .extras
        .theorem_environments
        .push(TheoremEnvironment { name, description });

    Some(())
}