egui_code_editor/syntax/
sql.rs

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