egui_code_editor 0.2.25

egui Code Editor widget with numbered lines, syntax highlighting and auto-completion..
Documentation
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(),
            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", //FIXME
                "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"]),
        }
    }
}