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
29
30
31
32
33
34
35
36
37
38
|
use rowan::TextRange;
use syntax::BuildError;
use url::Url;
#[derive(Debug, PartialEq, Eq, Clone)]
pub struct Diagnostic {
pub range: TextRange,
pub data: DiagnosticData,
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum DiagnosticData {
Tex(TexError),
Bib(BibError),
Build(BuildError),
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum TexError {
UnexpectedRCurly,
ExpectingRCurly,
MismatchedEnvironment,
UnusedLabel,
UndefinedLabel,
UndefinedCitation,
DuplicateLabel(Vec<(Url, TextRange)>),
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum BibError {
ExpectingLCurly,
ExpectingKey,
ExpectingRCurly,
ExpectingEq,
ExpectingFieldValue,
UnusedEntry,
DuplicateEntry(Vec<(Url, TextRange)>),
}
|