surql_parser/upstream/sql/
tokenizer.rs1use std::fmt;
2use std::fmt::Display;
3use surrealdb_types::{SqlFormat, ToSql, write_sql};
4#[derive(Clone, Debug, Eq, PartialEq, Hash)]
5#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
6pub enum Tokenizer {
7 Blank,
8 Camel,
9 Class,
10 Punct,
11}
12impl Display for Tokenizer {
13 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
14 f.write_str(match self {
15 Self::Blank => "BLANK",
16 Self::Camel => "CAMEL",
17 Self::Class => "CLASS",
18 Self::Punct => "PUNCT",
19 })
20 }
21}
22impl ToSql for Tokenizer {
23 fn fmt_sql(&self, f: &mut String, sql_fmt: SqlFormat) {
24 write_sql!(
25 f,
26 sql_fmt,
27 "{}",
28 match self {
29 Self::Blank => "BLANK",
30 Self::Camel => "CAMEL",
31 Self::Class => "CLASS",
32 Self::Punct => "PUNCT",
33 }
34 )
35 }
36}