yam_core/tokenizer/
mod.rs1pub use iterator::Event;
2pub use iterator::EventIterator;
3pub use lexer::Lexer;
4pub use lexer::LexerToken;
5pub use reader::Reader;
6use core::str::from_utf8;
7pub use str_reader::StrReader;
8
9mod iterator;
10mod lexer;
11mod reader;
12mod str_reader;
13
14pub use iterator::assert_eq_event;
15
16use self::lexer::PropType;
17
18#[derive(Copy, Clone, Debug, PartialEq)]
19pub enum ErrorType {
20 AliasAndAnchor,
21 DirectiveEndMark,
22 DuplicateKey,
23 ColonMustBeOnSameLineAsKey,
24 ExpectedChompBetween1and9,
25 ExpectedDocumentStart,
26 ExpectedDocumentStartOrContents,
27 ExpectedDocumentEnd,
28 ExpectedDocumentEndOrContents,
29 ExpectedNodeButFound { found: char },
30 ExpectedMapBlock,
31 ExpectedSeqStart,
32 ExpectedNewline,
33 ExpectedNewlineInFolded,
34 ExpectedIndent { actual: u32, expected: u32 },
35 ExpectedIndentDocStart { actual: u32, expected: u32 },
36 ExpectedWhiteSpaceAfterProperty,
37 ImplicitKeysNeedToBeInline,
38 InvalidAnchorIndent { actual: u32, expected: u32 },
39 InvalidAnchorDeclaration,
40 InvalidCommentStart,
41 InvalidCommentInScalar,
42 InvalidEscapeCharacter,
43 InvalidMappingValue,
44 InvalidMapEnd,
45 InvalidMapItemIndent,
46 InvalidQuoteIndent { actual: u32, expected: u32 },
47 InvalidTagHandleCharacter { found: char },
48 InvalidScalarStart,
49 InvalidScalarAtNodeEnd,
50 InvalidScalarIndent,
51 MissingWhitespaceAfterColon,
52 MissingWhitespaceBeforeComment,
53 MissingFlowClosingBracket,
54 NestedMappingsNotAllowed,
55 NoDocStartAfterTag,
56 NodeWithTwoProperties(PropType),
57 NodeWithTwoTags,
58 PropertyAtStartOfSequence,
59 StartedBlockInFlow,
60 SequenceOnSameLineAsKey,
61 SpacesFoundAfterIndent,
62 TagNotTerminated,
63 TabsNotAllowedAsIndentation,
64 TwoDirectivesFound,
65 UnexpectedEndOfScalar,
66 UnexpectedIndentDocEnd { actual: u32, expected: u32 },
67 UnexpectedComment,
68 UnexpectedCommentInScalar,
69 UnexpectedDirective,
70 UnexpectedEndOfStream,
71 UnexpectedEndOfDocument,
72 UnexpectedEndOfFile,
73 UnexpectedSeqAtNodeEnd,
74 UnexpectedSymbol(char),
75 UnsupportedYamlVersion,
76 UnfinishedTag,
77 UnexpectedScalarAtNodeEnd,
78 YamlMustHaveOnePart,
79}
80
81pub trait Slicer<'a> {
82 fn slice(&self, start: usize, end: usize) -> &'a [u8];
83 fn slice_str(&self, start: usize, end: usize) -> &'a str {
84 from_utf8(self.slice(start, end)).unwrap_or("")
85 }
86}