1#![allow(clippy::tabs_in_doc_comments)] #![deny(missing_docs)]
3
4mod lex;
25mod lossless;
26mod parse;
27
28pub use lossless::{
29 ArchiveMember, ArchiveMembers, Error, Identifier, Include, Lang, Makefile, ParseError, Rule,
30 VariableDefinition,
31};
32pub use parse::Parse;
33
34#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
35#[allow(non_camel_case_types)]
36#[repr(u16)]
37#[allow(missing_docs)]
38pub enum SyntaxKind {
39 IDENTIFIER = 0,
40 INDENT,
41 TEXT,
42 WHITESPACE,
43 NEWLINE,
44 DOLLAR,
45 LPAREN,
46 RPAREN,
47 QUOTE,
48 BACKSLASH,
49 COMMA,
50 OPERATOR,
51
52 COMMENT,
53 ERROR,
54
55 ROOT, RULE, RECIPE,
59 VARIABLE,
60 EXPR,
61
62 CONDITIONAL,
64 INCLUDE,
65
66 ARCHIVE_MEMBERS, ARCHIVE_MEMBER, }
70
71impl From<SyntaxKind> for rowan::SyntaxKind {
73 fn from(kind: SyntaxKind) -> Self {
74 Self(kind as u16)
75 }
76}