1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
|
syntax .sql-esc
state esc special
char "0'\"bnrtZ\\%_" END special
noeat END
syntax sql
state start code
char "'" sq
char '"' dq
char -b bB b
char -b xX x
char -b a-zA-Z_\$ word
char 0 zero
char 1-9 int
char . float
char @ at
char ` backtick
char -- - dash
char # comment
char / slash
eat this
state zero numeric
char 0-9 int
char . float
# Only lowercase. Inconsistent with X'10ff'!
char b bin
char x hex
noeat trailing
state int numeric
char 0-9 this
char . float
noeat trailing
state float numeric
char 0-9 this
noeat trailing
state bin numeric
char 01 bindigit
eat start error
state bindigit numeric
char 01 this
noeat trailing
state hex numeric
char 0-9a-fA-F hexdigit
eat start error
state hexdigit numeric
char 0-9a-fA-F this
noeat trailing
state b code
# Single quote only
char \' bitstr
noeat -b word
state bitstr
recolor string 2
noeat bitstrbit
state bitstrbit special
char 01 this
char "\n'" start string
eat this error
state x code
# Single quote only
char \' hexstr
noeat -b word
state hexstr
recolor string 2
noeat hexstreven
state hexstreven special
char 0-9a-fA-F hexstrodd
char "\n'" start string
eat hexstrodd error
state hexstrodd special
char 0-9a-fA-F hexstreven
char "\n'" start error
eat hexstreven error
state word code
char -b a-zA-Z0-9_\$ this
inlist keyword start
inlist identifier start
char . column code
noeat start
state column
char -b a-zA-Z0-9_\$ this
noeat start
state at variable
char a-zA-Z0-9._\$ variable
char "'" sq
char '"' dq
char ` backtick
eat start error
state variable
char a-zA-Z0-9._\$ this
noeat start
state sq string
char "\n'" start string
char \\ .sql-esc:this
eat this
state dq string
char "\n"\" start string
char \\ .sql-esc:this
eat this
state backtick constant
char "\n`" start
eat this
state dash comment
char -- - maybe-comment
recolor code 1
noeat start
state maybe-comment comment
char "\n" start
# Control character or space required!
char "\x01- " comment
recolor code 2
noeat start
state comment
char "\n" start
eat this
state slash comment
char "*" maybe-c-comment
recolor code 1
noeat start
state maybe-c-comment comment
char ! begin-special-comment
noeat c-comment
state begin-special-comment
recolor special 3
noeat special-comment
state special-comment special
char "*" scstar
eat this
state scstar special
char / start special
noeat special-comment
state c-comment comment
char "*" star
eat this
state star comment
char / start comment
noeat c-comment
state trailing error
char a-zA-Z0-9_\$ this
noeat start
# FIXME: types should probably go to separate list
list -i keyword \
ACCESSIBLE \
ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN \
BIGINT BINARY BLOB BOTH BY CALL CASCADE CASE CHANGE CHAR \
CHARACTER CHECK COLLATE COLUMN CONDITION CONSTRAINT CONTINUE \
CONVERT CREATE CROSS CURRENT_DATE CURRENT_TIME \
CURRENT_TIMESTAMP CURRENT_USER CURSOR DATABASE DATABASES \
DAY_HOUR DAY_MICROSECOND DAY_MINUTE DAY_SECOND DEC DECIMAL \
DECLARE DEFAULT DELAYED DELETE DESC DESCRIBE DETERMINISTIC \
DISTINCT DISTINCTROW DIV DOUBLE DROP DUAL EACH ELSE ELSEIF \
ENCLOSED ESCAPED EXISTS EXIT EXPLAIN FALSE FETCH FLOAT FLOAT4 \
FLOAT8 FOR FORCE FOREIGN FROM FULLTEXT GRANT GROUP HAVING \
HIGH_PRIORITY HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND IF \
IGNORE IN INDEX INFILE INNER INOUT INSENSITIVE INSERT INT INT1 \
INT2 INT3 INT4 INT8 INTEGER INTERVAL INTO IS ITERATE JOIN KEY \
KEYS KILL LEADING LEAVE LEFT LIKE LIMIT LINEAR LINES LOAD LOCALTIME \
LOCALTIMESTAMP LOCK LONG LONGBLOB LONGTEXT LOOP LOW_PRIORITY \
MASTER_BIND MASTER_SSL_VERIFY_SERVER_CERT \
MATCH MAXVALUE MEDIUMBLOB MEDIUMINT MEDIUMTEXT MIDDLEINT \
MINUTE_MICROSECOND MINUTE_SECOND MOD MODIFIES NATURAL NOT \
NO_WRITE_TO_BINLOG NULL NUMERIC ON ONE_SHOT OPTIMIZE OPTION OPTIONALLY \
OR ORDER OUT OUTER OUTFILE PARTITION PRECISION PRIMARY PROCEDURE PURGE RANGE \
READ READS READ_WRITE REAL REFERENCES REGEXP RELEASE RENAME REPEAT \
REPLACE REQUIRE RESIGNAL RESTRICT RETURN REVOKE RIGHT RLIKE SCHEMA \
SCHEMAS SECOND_MICROSECOND SELECT SENSITIVE SEPARATOR SET \
SHOW SIGNAL SMALLINT SPATIAL SPECIFIC SQL SQLEXCEPTION \
SQLSTATE SQLWARNING SQL_BIG_RESULT SQL_CALC_FOUND_ROWS \
SQL_SMALL_RESULT SSL STARTING STRAIGHT_JOIN TABLE TERMINATED \
THEN TINYBLOB TINYINT TINYTEXT TO TRAILING TRIGGER TRUE UNDO \
UNION UNIQUE UNLOCK UNSIGNED UPDATE USAGE USE USING UTC_DATE \
UTC_TIME UTC_TIMESTAMP VALUES VARBINARY VARCHAR VARCHARACTER \
VARYING WHEN WHERE WHILE WITH WRITE XOR YEAR_MONTH ZEROFILL
list -i identifier \
ACTION BIT DATE ENUM NO TEXT TIME TIMESTAMP
default keyword identifier
default code column
|