Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: mysql |
| 3 | " Maintainer: Kenneth J. Pronovici <pronovic@ieee.org> |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 4 | " Filenames: *.mysql |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 5 | " URL: ftp://cedar-solutions.com/software/mysql.vim (https://github.com/pronovic/vim-syntax/blob/master/mysql.vim) |
| 6 | " Note: The definitions below are taken from the mysql user manual as of April 2002, for version 3.23 and have been updated |
| 7 | " in July 2024 with the docs for version 8.4 |
| 8 | " Last Change: 2016 Apr 11 |
| 9 | " 2024-07-21: update MySQL functions as of MySQL 8.4 (by Vim Project) |
| 10 | " |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 11 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 12 | " quit when a syntax file was already loaded |
| 13 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 14 | finish |
| 15 | endif |
| 16 | |
| 17 | " Always ignore case |
| 18 | syn case ignore |
| 19 | |
| 20 | " General keywords which don't fall into other categories |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 21 | syn keyword mysqlKeyword action add after aggregate all alter as asc auto_increment avg_row_length |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 22 | syn keyword mysqlKeyword both by |
| 23 | syn keyword mysqlKeyword cascade change character check checksum column columns comment constraint create cross |
| 24 | syn keyword mysqlKeyword current_date current_time current_timestamp |
| 25 | syn keyword mysqlKeyword data database databases day day_hour day_minute day_second |
| 26 | syn keyword mysqlKeyword default delayed delay_key_write delete desc describe distinct distinctrow drop |
| 27 | syn keyword mysqlKeyword enclosed escape escaped explain |
| 28 | syn keyword mysqlKeyword fields file first flush for foreign from full function |
| 29 | syn keyword mysqlKeyword global grant grants group |
| 30 | syn keyword mysqlKeyword having heap high_priority hosts hour hour_minute hour_second |
| 31 | syn keyword mysqlKeyword identified ignore index infile inner insert insert_id into isam |
| 32 | syn keyword mysqlKeyword join |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 33 | syn keyword mysqlKeyword key keys kill last_insert_id leading left limit lines load local lock logs long |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 34 | syn keyword mysqlKeyword low_priority |
| 35 | syn keyword mysqlKeyword match max_rows middleint min_rows minute minute_second modify month myisam |
| 36 | syn keyword mysqlKeyword natural no |
| 37 | syn keyword mysqlKeyword on optimize option optionally order outer outfile |
| 38 | syn keyword mysqlKeyword pack_keys partial password primary privileges procedure process processlist |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 39 | syn keyword mysqlKeyword read references reload rename replace restrict returns revoke right row rows |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 40 | syn keyword mysqlKeyword second select show shutdown soname sql_big_result sql_big_selects sql_big_tables sql_log_off |
| 41 | syn keyword mysqlKeyword sql_log_update sql_low_priority_updates sql_select_limit sql_small_result sql_warnings starting |
| 42 | syn keyword mysqlKeyword status straight_join string |
| 43 | syn keyword mysqlKeyword table tables temporary terminated to trailing type |
| 44 | syn keyword mysqlKeyword unique unlock unsigned update usage use using |
| 45 | syn keyword mysqlKeyword values varbinary variables varying |
| 46 | syn keyword mysqlKeyword where with write |
| 47 | syn keyword mysqlKeyword year_month |
| 48 | syn keyword mysqlKeyword zerofill |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 49 | |
| 50 | " Special values |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 51 | syn keyword mysqlSpecial false null true |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 52 | |
| 53 | " Strings (single- and double-quote) |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 54 | syn region mysqlString start=+"+ skip=+\\\\\|\\"+ end=+"+ |
| 55 | syn region mysqlString start=+'+ skip=+\\\\\|\\'+ end=+'+ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 56 | |
| 57 | " Numbers and hexidecimal values |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 58 | syn match mysqlNumber "-\=\<[0-9]*\>" |
| 59 | syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*\>" |
Bram Moolenaar | 5c73622 | 2010-01-06 20:54:52 +0100 | [diff] [blame] | 60 | syn match mysqlNumber "-\=\<[0-9][0-9]*e[+-]\=[0-9]*\>" |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 61 | syn match mysqlNumber "-\=\<[0-9]*\.[0-9]*e[+-]\=[0-9]*\>" |
| 62 | syn match mysqlNumber "\<0x[abcdefABCDEF0-9]*\>" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 63 | |
| 64 | " User variables |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 65 | syn match mysqlVariable "@\a*[A-Za-z0-9]*\([._]*[A-Za-z0-9]\)*" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 66 | |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 67 | " Escaped column names |
| 68 | syn match mysqlEscaped "`[^`]*`" |
| 69 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 70 | " Comments (c-style, mysql-style and modified sql-style) |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 71 | syn region mysqlComment start="/\*" end="\*/" |
| 72 | syn match mysqlComment "#.*" |
| 73 | syn match mysqlComment "--\_s.*" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 74 | syn sync ccomment mysqlComment |
| 75 | |
| 76 | " Column types |
| 77 | " |
| 78 | " This gets a bit ugly. There are two different problems we have to |
| 79 | " deal with. |
| 80 | " |
Bram Moolenaar | 00a927d | 2010-05-14 23:24:24 +0200 | [diff] [blame] | 81 | " The first problem is that some keywords like 'float' can be used |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 82 | " both with and without specifiers, i.e. 'float', 'float(1)' and |
| 83 | " 'float(@var)' are all valid. We have to account for this and we |
| 84 | " also have to make sure that garbage like floatn or float_(1) is not |
| 85 | " highlighted. |
| 86 | " |
| 87 | " The second problem is that some of these keywords are included in |
| 88 | " function names. For instance, year() is part of the name of the |
| 89 | " dayofyear() function, and the dec keyword (no parenthesis) is part of |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 90 | " the name of the decode() function. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 91 | |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 92 | syn keyword mysqlType tinyint smallint mediumint int integer bigint |
| 93 | syn keyword mysqlType date datetime time bit bool |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 94 | syn keyword mysqlType tinytext mediumtext longtext text |
| 95 | syn keyword mysqlType tinyblob mediumblob longblob blob |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 96 | syn region mysqlType start="float\W" end="."me=s-1 |
| 97 | syn region mysqlType start="float$" end="."me=s-1 |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 98 | syn region mysqlType start="\<float(" end=")" contains=mysqlNumber,mysqlVariable |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 99 | syn region mysqlType start="double\W" end="."me=s-1 |
| 100 | syn region mysqlType start="double$" end="."me=s-1 |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 101 | syn region mysqlType start="\<double(" end=")" contains=mysqlNumber,mysqlVariable |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 102 | syn region mysqlType start="double precision\W" end="."me=s-1 |
| 103 | syn region mysqlType start="double precision$" end="."me=s-1 |
| 104 | syn region mysqlType start="double precision(" end=")" contains=mysqlNumber,mysqlVariable |
| 105 | syn region mysqlType start="real\W" end="."me=s-1 |
| 106 | syn region mysqlType start="real$" end="."me=s-1 |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 107 | syn region mysqlType start="\<real(" end=")" contains=mysqlNumber,mysqlVariable |
| 108 | syn region mysqlType start="\<numeric(" end=")" contains=mysqlNumber,mysqlVariable |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 109 | syn region mysqlType start="dec\W" end="."me=s-1 |
| 110 | syn region mysqlType start="dec$" end="."me=s-1 |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 111 | syn region mysqlType start="\<dec(" end=")" contains=mysqlNumber,mysqlVariable |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 112 | syn region mysqlType start="decimal\W" end="."me=s-1 |
| 113 | syn region mysqlType start="decimal$" end="."me=s-1 |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 114 | syn region mysqlType start="\<decimal(" end=")" contains=mysqlNumber,mysqlVariable |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 115 | syn region mysqlType start="\Wtimestamp\W" end="."me=s-1 |
| 116 | syn region mysqlType start="\Wtimestamp$" end="."me=s-1 |
| 117 | syn region mysqlType start="\Wtimestamp(" end=")" contains=mysqlNumber,mysqlVariable |
| 118 | syn region mysqlType start="^timestamp\W" end="."me=s-1 |
| 119 | syn region mysqlType start="^timestamp$" end="."me=s-1 |
| 120 | syn region mysqlType start="^timestamp(" end=")" contains=mysqlNumber,mysqlVariable |
| 121 | syn region mysqlType start="\Wyear(" end=")" contains=mysqlNumber,mysqlVariable |
| 122 | syn region mysqlType start="^year(" end=")" contains=mysqlNumber,mysqlVariable |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 123 | syn region mysqlType start="\<char(" end=")" contains=mysqlNumber,mysqlVariable |
| 124 | syn region mysqlType start="\<varchar(" end=")" contains=mysqlNumber,mysqlVariable |
| 125 | syn region mysqlType start="\<enum(" end=")" contains=mysqlString,mysqlVariable |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 126 | syn region mysqlType start="\Wset(" end=")" contains=mysqlString,mysqlVariable |
| 127 | syn region mysqlType start="^set(" end=")" contains=mysqlString,mysqlVariable |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 128 | |
| 129 | " Logical, string and numeric operators |
Bram Moolenaar | 8c8de83 | 2008-06-24 22:58:06 +0000 | [diff] [blame] | 130 | syn keyword mysqlOperator between not and or is in like regexp rlike binary exists |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 131 | syn region mysqlOperatorFunction start="\<isnull(" end=")" contains=ALL |
| 132 | syn region mysqlOperatorFunction start="\<coalesce(" end=")" contains=ALL |
| 133 | syn region mysqlOperatorFunction start="\<interval(" end=")" contains=ALL |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 134 | |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 135 | " Flow control functions |
| 136 | " https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/flow-control-functions.html |
| 137 | syn keyword mysqlFlowLabel case when then else end |
| 138 | syn region mysqlFlowFunction start="\<ifnull(" end=")" contains=ALL |
| 139 | syn region mysqlFlowFunction start="\<nullif(" end=")" contains=ALL |
| 140 | syn region mysqlFlowFunction start="\<if(" end=")" contains=ALL |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 141 | |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 142 | " Window functions |
| 143 | " https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/window-functions-usage.html |
| 144 | syn keyword mysqlWindowKeyword over partition window |
| 145 | " https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/window-function-descriptions.html |
| 146 | syn region mysqlWindowFunction start="\<cume_dist(" end=")" contains=ALL |
| 147 | syn region mysqlWindowFunction start="\<dense_rank(" end=")" contains=ALL |
| 148 | syn region mysqlWindowFunction start="\<first_value(" end=")" contains=ALL |
| 149 | syn region mysqlWindowFunction start="\<lag(" end=")" contains=ALL |
| 150 | syn region mysqlWindowFunction start="\<last_value(" end=")" contains=ALL |
| 151 | syn region mysqlWindowFunction start="\<lead(" end=")" contains=ALL |
| 152 | syn region mysqlWindowFunction start="\<nth_value(" end=")" contains=ALL |
| 153 | syn region mysqlWindowFunction start="\<ntile(" end=")" contains=ALL |
| 154 | syn region mysqlWindowFunction start="\<percent_rank(" end=")" contains=ALL |
| 155 | syn region mysqlWindowFunction start="\<rank(" end=")" contains=ALL |
| 156 | syn region mysqlWindowFunction start="\<row_number(" end=")" contains=ALL |
| 157 | |
| 158 | " General functions |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 159 | " |
| 160 | " I'm leery of just defining keywords for functions, since according to the MySQL manual: |
| 161 | " |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 162 | " Function names do not clash with table or column names. For example, ABS is a |
| 163 | " valid column name. The only restriction is that for a function call, no spaces |
| 164 | " are allowed between the function name and the `(' that follows it. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 165 | " |
Bram Moolenaar | 03413f4 | 2016-04-12 21:07:15 +0200 | [diff] [blame] | 166 | " This means that if I want to highlight function names properly, I have to use a |
| 167 | " region to define them, not just a keyword. This will probably cause the syntax file |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 168 | " to load more slowly, but at least it will be 'correct'. |
| 169 | |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 170 | syn region mysqlFunction start="\<abs(" end=")" contains=ALL |
| 171 | syn region mysqlFunction start="\<acos(" end=")" contains=ALL |
| 172 | syn region mysqlFunction start="\<adddate(" end=")" contains=ALL |
| 173 | syn region mysqlFunction start="\<ascii(" end=")" contains=ALL |
| 174 | syn region mysqlFunction start="\<asin(" end=")" contains=ALL |
| 175 | syn region mysqlFunction start="\<atan(" end=")" contains=ALL |
| 176 | syn region mysqlFunction start="\<atan2(" end=")" contains=ALL |
| 177 | syn region mysqlFunction start="\<avg(" end=")" contains=ALL |
| 178 | syn region mysqlFunction start="\<benchmark(" end=")" contains=ALL |
| 179 | syn region mysqlFunction start="\<bin(" end=")" contains=ALL |
| 180 | syn region mysqlFunction start="\<bit_and(" end=")" contains=ALL |
| 181 | syn region mysqlFunction start="\<bit_count(" end=")" contains=ALL |
| 182 | syn region mysqlFunction start="\<bit_or(" end=")" contains=ALL |
| 183 | syn region mysqlFunction start="\<ceiling(" end=")" contains=ALL |
| 184 | syn region mysqlFunction start="\<character_length(" end=")" contains=ALL |
| 185 | syn region mysqlFunction start="\<char_length(" end=")" contains=ALL |
| 186 | syn region mysqlFunction start="\<concat(" end=")" contains=ALL |
| 187 | syn region mysqlFunction start="\<concat_ws(" end=")" contains=ALL |
| 188 | syn region mysqlFunction start="\<connection_id(" end=")" contains=ALL |
| 189 | syn region mysqlFunction start="\<conv(" end=")" contains=ALL |
| 190 | syn region mysqlFunction start="\<cos(" end=")" contains=ALL |
| 191 | syn region mysqlFunction start="\<cot(" end=")" contains=ALL |
| 192 | syn region mysqlFunction start="\<count(" end=")" contains=ALL |
| 193 | syn region mysqlFunction start="\<curdate(" end=")" contains=ALL |
| 194 | syn region mysqlFunction start="\<curtime(" end=")" contains=ALL |
| 195 | syn region mysqlFunction start="\<date_add(" end=")" contains=ALL |
| 196 | syn region mysqlFunction start="\<date_format(" end=")" contains=ALL |
| 197 | syn region mysqlFunction start="\<date_sub(" end=")" contains=ALL |
| 198 | syn region mysqlFunction start="\<dayname(" end=")" contains=ALL |
| 199 | syn region mysqlFunction start="\<dayofmonth(" end=")" contains=ALL |
| 200 | syn region mysqlFunction start="\<dayofweek(" end=")" contains=ALL |
| 201 | syn region mysqlFunction start="\<dayofyear(" end=")" contains=ALL |
| 202 | syn region mysqlFunction start="\<decode(" end=")" contains=ALL |
| 203 | syn region mysqlFunction start="\<degrees(" end=")" contains=ALL |
| 204 | syn region mysqlFunction start="\<elt(" end=")" contains=ALL |
| 205 | syn region mysqlFunction start="\<encode(" end=")" contains=ALL |
| 206 | syn region mysqlFunction start="\<encrypt(" end=")" contains=ALL |
| 207 | syn region mysqlFunction start="\<exp(" end=")" contains=ALL |
| 208 | syn region mysqlFunction start="\<export_set(" end=")" contains=ALL |
| 209 | syn region mysqlFunction start="\<extract(" end=")" contains=ALL |
| 210 | syn region mysqlFunction start="\<field(" end=")" contains=ALL |
| 211 | syn region mysqlFunction start="\<find_in_set(" end=")" contains=ALL |
| 212 | syn region mysqlFunction start="\<floor(" end=")" contains=ALL |
| 213 | syn region mysqlFunction start="\<format(" end=")" contains=ALL |
| 214 | syn region mysqlFunction start="\<from_days(" end=")" contains=ALL |
| 215 | syn region mysqlFunction start="\<from_unixtime(" end=")" contains=ALL |
| 216 | syn region mysqlFunction start="\<get_lock(" end=")" contains=ALL |
| 217 | syn region mysqlFunction start="\<greatest(" end=")" contains=ALL |
| 218 | syn region mysqlFunction start="\<group_unique_users(" end=")" contains=ALL |
| 219 | syn region mysqlFunction start="\<hex(" end=")" contains=ALL |
| 220 | syn region mysqlFunction start="\<inet_aton(" end=")" contains=ALL |
| 221 | syn region mysqlFunction start="\<inet_ntoa(" end=")" contains=ALL |
| 222 | syn region mysqlFunction start="\<instr(" end=")" contains=ALL |
| 223 | syn region mysqlFunction start="\<lcase(" end=")" contains=ALL |
| 224 | syn region mysqlFunction start="\<least(" end=")" contains=ALL |
| 225 | syn region mysqlFunction start="\<length(" end=")" contains=ALL |
| 226 | syn region mysqlFunction start="\<load_file(" end=")" contains=ALL |
| 227 | syn region mysqlFunction start="\<locate(" end=")" contains=ALL |
| 228 | syn region mysqlFunction start="\<log(" end=")" contains=ALL |
| 229 | syn region mysqlFunction start="\<log10(" end=")" contains=ALL |
| 230 | syn region mysqlFunction start="\<lower(" end=")" contains=ALL |
| 231 | syn region mysqlFunction start="\<lpad(" end=")" contains=ALL |
| 232 | syn region mysqlFunction start="\<ltrim(" end=")" contains=ALL |
| 233 | syn region mysqlFunction start="\<make_set(" end=")" contains=ALL |
| 234 | syn region mysqlFunction start="\<master_pos_wait(" end=")" contains=ALL |
| 235 | syn region mysqlFunction start="\<max(" end=")" contains=ALL |
| 236 | syn region mysqlFunction start="\<md5(" end=")" contains=ALL |
| 237 | syn region mysqlFunction start="\<mid(" end=")" contains=ALL |
| 238 | syn region mysqlFunction start="\<min(" end=")" contains=ALL |
| 239 | syn region mysqlFunction start="\<mod(" end=")" contains=ALL |
| 240 | syn region mysqlFunction start="\<monthname(" end=")" contains=ALL |
| 241 | syn region mysqlFunction start="\<now(" end=")" contains=ALL |
| 242 | syn region mysqlFunction start="\<oct(" end=")" contains=ALL |
| 243 | syn region mysqlFunction start="\<octet_length(" end=")" contains=ALL |
| 244 | syn region mysqlFunction start="\<ord(" end=")" contains=ALL |
| 245 | syn region mysqlFunction start="\<period_add(" end=")" contains=ALL |
| 246 | syn region mysqlFunction start="\<period_diff(" end=")" contains=ALL |
| 247 | syn region mysqlFunction start="\<pi(" end=")" contains=ALL |
| 248 | syn region mysqlFunction start="\<position(" end=")" contains=ALL |
| 249 | syn region mysqlFunction start="\<pow(" end=")" contains=ALL |
| 250 | syn region mysqlFunction start="\<power(" end=")" contains=ALL |
| 251 | syn region mysqlFunction start="\<quarter(" end=")" contains=ALL |
| 252 | syn region mysqlFunction start="\<radians(" end=")" contains=ALL |
| 253 | syn region mysqlFunction start="\<rand(" end=")" contains=ALL |
| 254 | syn region mysqlFunction start="\<release_lock(" end=")" contains=ALL |
| 255 | syn region mysqlFunction start="\<repeat(" end=")" contains=ALL |
| 256 | syn region mysqlFunction start="\<reverse(" end=")" contains=ALL |
| 257 | syn region mysqlFunction start="\<round(" end=")" contains=ALL |
| 258 | syn region mysqlFunction start="\<rpad(" end=")" contains=ALL |
| 259 | syn region mysqlFunction start="\<rtrim(" end=")" contains=ALL |
| 260 | syn region mysqlFunction start="\<sec_to_time(" end=")" contains=ALL |
| 261 | syn region mysqlFunction start="\<session_user(" end=")" contains=ALL |
| 262 | syn region mysqlFunction start="\<sign(" end=")" contains=ALL |
| 263 | syn region mysqlFunction start="\<sin(" end=")" contains=ALL |
| 264 | syn region mysqlFunction start="\<soundex(" end=")" contains=ALL |
| 265 | syn region mysqlFunction start="\<space(" end=")" contains=ALL |
| 266 | syn region mysqlFunction start="\<sqrt(" end=")" contains=ALL |
| 267 | syn region mysqlFunction start="\<std(" end=")" contains=ALL |
| 268 | syn region mysqlFunction start="\<stddev(" end=")" contains=ALL |
| 269 | syn region mysqlFunction start="\<strcmp(" end=")" contains=ALL |
| 270 | syn region mysqlFunction start="\<subdate(" end=")" contains=ALL |
| 271 | syn region mysqlFunction start="\<substring(" end=")" contains=ALL |
| 272 | syn region mysqlFunction start="\<substring_index(" end=")" contains=ALL |
| 273 | syn region mysqlFunction start="\<subtime(" end=")" contains=ALL |
| 274 | syn region mysqlFunction start="\<sum(" end=")" contains=ALL |
| 275 | syn region mysqlFunction start="\<sysdate(" end=")" contains=ALL |
| 276 | syn region mysqlFunction start="\<system_user(" end=")" contains=ALL |
| 277 | syn region mysqlFunction start="\<tan(" end=")" contains=ALL |
| 278 | syn region mysqlFunction start="\<time_format(" end=")" contains=ALL |
| 279 | syn region mysqlFunction start="\<time_to_sec(" end=")" contains=ALL |
| 280 | syn region mysqlFunction start="\<to_days(" end=")" contains=ALL |
| 281 | syn region mysqlFunction start="\<trim(" end=")" contains=ALL |
| 282 | syn region mysqlFunction start="\<ucase(" end=")" contains=ALL |
| 283 | syn region mysqlFunction start="\<unique_users(" end=")" contains=ALL |
| 284 | syn region mysqlFunction start="\<unix_timestamp(" end=")" contains=ALL |
| 285 | syn region mysqlFunction start="\<upper(" end=")" contains=ALL |
| 286 | syn region mysqlFunction start="\<user(" end=")" contains=ALL |
| 287 | syn region mysqlFunction start="\<version(" end=")" contains=ALL |
| 288 | syn region mysqlFunction start="\<week(" end=")" contains=ALL |
| 289 | syn region mysqlFunction start="\<weekday(" end=")" contains=ALL |
| 290 | syn region mysqlFunction start="\<yearweek(" end=")" contains=ALL |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 291 | |
| 292 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 293 | " Only when an item doesn't have highlighting yet |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 294 | |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 295 | hi def link mysqlKeyword Keyword |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 296 | hi def link mysqlSpecial Special |
| 297 | hi def link mysqlString String |
| 298 | hi def link mysqlNumber Number |
| 299 | hi def link mysqlVariable Identifier |
| 300 | hi def link mysqlComment Comment |
| 301 | hi def link mysqlType Type |
Yinzuo Jiang | 6e37575 | 2024-07-21 09:27:27 +0200 | [diff] [blame] | 302 | hi def link mysqlOperator Operator |
| 303 | hi def link mysqlOperatorFunction Function |
| 304 | hi def link mysqlFlowFunction Function |
| 305 | hi def link mysqlFlowLabel Label |
| 306 | hi def link mysqlWindowFunction Function |
| 307 | hi def link mysqlWindowKeyword Keyword |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 308 | hi def link mysqlFunction Function |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 309 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 310 | |
| 311 | let b:current_syntax = "mysql" |
| 312 | |