summaryrefslogtreecommitdiff
path: root/support/texlab/src/diagnostics/mod.rs
blob: c73839502859828ea250d812709e609f8a38d0a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
mod bibtex;
mod build;
mod latex;

use self::bibtex::BibtexDiagnosticsProvider;
pub use self::bibtex::BibtexErrorCode;
use self::build::BuildDiagnosticsProvider;
use self::latex::LatexDiagnosticsProvider;
pub use self::latex::LatexLintOptions;
use crate::workspace::Document;
use lsp_types::Diagnostic;

#[derive(Debug, PartialEq, Eq, Clone, Default)]
pub struct DiagnosticsManager {
    pub build: BuildDiagnosticsProvider,
    pub latex: LatexDiagnosticsProvider,
    pub bibtex: BibtexDiagnosticsProvider,
}

impl DiagnosticsManager {
    pub fn get(&self, document: &Document) -> Vec<Diagnostic> {
        let mut diagnostics = Vec::new();
        diagnostics.append(&mut self.build.get(document));
        diagnostics.append(&mut self.latex.get(document));
        diagnostics.append(&mut self.bibtex.get(document));
        diagnostics
    }
}