use crate::syntax::Patch;
use super::{DEFAULT_QUOTES, Syntax};
use std::collections::BTreeSet;
impl Syntax {
pub fn sql() -> Self {
Syntax {
language: "SQL",
case_sensitive: false,
comment: "--",
comment_multiline: ["/*", "*/"],
quotes: DEFAULT_QUOTES.into(),
word_start: BTreeSet::from(['_']),
hyperlinks: BTreeSet::from(["http"]),
keywords: BTreeSet::from([
"ADD",
"ALL",
"ALTER",
"AND",
"ANY",
"AS",
"ASC",
"BACKUP",
"BETWEEN",
"CASE",
"CHECK",
"COLUMN",
"CONSTRAINT",
"CREATE",
"INDEX",
"OR",
"REPLACE",
"VIEW",
"PROCEDURE",
"UNIQUE",
"DEFAULT",
"DELETE",
"DESC",
"DISTINCT",
"DROP",
"PRIMARY",
"FOREIGN",
"EXEC",
"EXISTS",
"FROM",
"FULL",
"OUTER",
"JOIN",
"GROUP",
"BY",
"HAVING",
"IN",
"INNER",
"INSERT",
"INTO",
"SELECT",
"IS",
"KEY",
"NOT",
"NULL",
"LEFT",
"LIKE",
"LIMIT",
"ORDER",
"A",
"RIGHT",
"ROWNUM",
"TOP",
"TOPDOWN", "TRUNCATE",
"UNION",
"UPDATE",
"VALUES",
"WHERE",
"WITH",
]),
types: BTreeSet::from([
"BOOL",
"INTEGER",
"SMALLINT",
"BIGINT",
"REAL",
"DOUBLEPRECISION",
"VARCHAR",
"NUMBER",
"CHAR",
"TEXT",
"DATE",
"TIMESTAMP",
"UUID",
"BYTEA",
"LOB",
"BLOB",
"CLOB",
"BIGINT",
"NUMERIC",
"BIT",
"SMALLINT",
"DECIMAL",
"SMALLMONEY",
"INT",
"INT4",
"INT8",
"INT16",
"INT32",
"INT64",
"INT128",
"TINYINT",
"MONEY",
"FLOAT",
"REAL",
"DATE",
"DATETIMEOFFSET",
"DATETIME2",
"SMALLDATETIME",
"DATETIME",
"TIME",
"CHAR",
"VARCHAR",
"VARCHAR2",
"TEXT",
"NCHAR",
"NVARCHAR",
"NTEXT",
"BINARY",
"VARBINARY",
"IMAGE",
"ROWVERSION",
"HIERARCHYID",
"UNIQUEIDENTIFIER",
"SQL_VARIANT",
"XML",
"XMLTYPE",
"TABLE",
"SET",
"DATABASE",
]),
special: BTreeSet::from(["PUBLIC"]),
patch: Patch::default(),
}
}
}