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}