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}