Skip to main content

egui_code_editor/syntax/
sql.rs

1use super::{DEFAULT_QUOTES, Syntax};
2use std::collections::BTreeSet;
3
4impl Syntax {
5    pub fn sql() -> Self {
6        Syntax {
7            language: "SQL",
8            case_sensitive: false,
9            comment: "--",
10            comment_multiline: ["/*", "*/"],
11            quotes: DEFAULT_QUOTES.into(),
12            hyperlinks: BTreeSet::from(["http"]),
13            keywords: BTreeSet::from([
14                "ADD",
15                "ALL",
16                "ALTER",
17                "AND",
18                "ANY",
19                "AS",
20                "ASC",
21                "BACKUP",
22                "BETWEEN",
23                "CASE",
24                "CHECK",
25                "COLUMN",
26                "CONSTRAINT",
27                "CREATE",
28                "INDEX",
29                "OR",
30                "REPLACE",
31                "VIEW",
32                "PROCEDURE",
33                "UNIQUE",
34                "DEFAULT",
35                "DELETE",
36                "DESC",
37                "DISTINCT",
38                "DROP",
39                "PRIMARY",
40                "FOREIGN",
41                "EXEC",
42                "EXISTS",
43                "FROM",
44                "FULL",
45                "OUTER",
46                "JOIN",
47                "GROUP",
48                "BY",
49                "HAVING",
50                "IN",
51                "INNER",
52                "INSERT",
53                "INTO",
54                "SELECT",
55                "IS",
56                "KEY",
57                "NOT",
58                "NULL",
59                "LEFT",
60                "LIKE",
61                "LIMIT",
62                "ORDER",
63                "A",
64                "RIGHT",
65                "ROWNUM",
66                "TOP",
67                "TOPDOWN", //FIXME
68                "TRUNCATE",
69                "UNION",
70                "UPDATE",
71                "VALUES",
72                "WHERE",
73                "WITH",
74            ]),
75            types: BTreeSet::from([
76                "BOOL",
77                "INTEGER",
78                "SMALLINT",
79                "BIGINT",
80                "REAL",
81                "DOUBLEPRECISION",
82                "VARCHAR",
83                "NUMBER",
84                "CHAR",
85                "TEXT",
86                "DATE",
87                "TIMESTAMP",
88                "UUID",
89                "BYTEA",
90                "LOB",
91                "BLOB",
92                "CLOB",
93                "BIGINT",
94                "NUMERIC",
95                "BIT",
96                "SMALLINT",
97                "DECIMAL",
98                "SMALLMONEY",
99                "INT",
100                "INT4",
101                "INT8",
102                "INT16",
103                "INT32",
104                "INT64",
105                "INT128",
106                "TINYINT",
107                "MONEY",
108                "FLOAT",
109                "REAL",
110                "DATE",
111                "DATETIMEOFFSET",
112                "DATETIME2",
113                "SMALLDATETIME",
114                "DATETIME",
115                "TIME",
116                "CHAR",
117                "VARCHAR",
118                "VARCHAR2",
119                "TEXT",
120                "NCHAR",
121                "NVARCHAR",
122                "NTEXT",
123                "BINARY",
124                "VARBINARY",
125                "IMAGE",
126                "ROWVERSION",
127                "HIERARCHYID",
128                "UNIQUEIDENTIFIER",
129                "SQL_VARIANT",
130                "XML",
131                "XMLTYPE",
132                "TABLE",
133                "SET",
134                "DATABASE",
135            ]),
136            special: BTreeSet::from(["PUBLIC"]),
137        }
138    }
139}