fastn_resolved/evalexpr/token/
display.rs1use std::fmt;
2
3use fastn_resolved::evalexpr::token::{PartialToken, Token};
4
5impl fmt::Display for Token {
6 fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
7 use self::Token::*;
8 match self {
9 Plus => write!(f, "+"),
10 Minus => write!(f, "-"),
11 Star => write!(f, "*"),
12 Slash => write!(f, "/"),
13 Percent => write!(f, "%"),
14 Hat => write!(f, "^"),
15
16 Eq => write!(f, "=="),
18 Neq => write!(f, "!="),
19 Gt => write!(f, ">"),
20 Lt => write!(f, "<"),
21 Geq => write!(f, ">="),
22 Leq => write!(f, "<="),
23 And => write!(f, "&&"),
24 Or => write!(f, "||"),
25 Not => write!(f, "!"),
26
27 LBrace => write!(f, "("),
29 RBrace => write!(f, ")"),
30
31 Assign => write!(f, "="),
33 PlusAssign => write!(f, "+="),
34 MinusAssign => write!(f, "-="),
35 StarAssign => write!(f, "*="),
36 SlashAssign => write!(f, "/="),
37 PercentAssign => write!(f, "%="),
38 HatAssign => write!(f, "^="),
39 AndAssign => write!(f, "&&="),
40 OrAssign => write!(f, "||="),
41
42 Comma => write!(f, ","),
44 Semicolon => write!(f, ";"),
45
46 Identifier(identifier) => identifier.fmt(f),
48 Float(float) => float.fmt(f),
49 Int(int) => int.fmt(f),
50 Boolean(boolean) => boolean.fmt(f),
51 String(string) => fmt::Debug::fmt(string, f),
52 }
53 }
54}
55
56impl fmt::Display for PartialToken {
57 fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
58 use self::PartialToken::*;
59 match self {
60 Token(token) => token.fmt(f),
61 Literal(literal) => literal.fmt(f),
62 Whitespace => write!(f, " "),
63 Plus => write!(f, "+"),
64 Minus => write!(f, "-"),
65 Star => write!(f, "*"),
66 Slash => write!(f, "/"),
67 Percent => write!(f, "%"),
68 Hat => write!(f, "^"),
69 Eq => write!(f, "="),
70 ExclamationMark => write!(f, "!"),
71 Gt => write!(f, ">"),
72 Lt => write!(f, "<"),
73 Ampersand => write!(f, "&"),
74 VerticalBar => write!(f, "|"),
75 }
76 }
77}