...

Text file src/github.com/alecthomas/chroma/v2/lexers/embedded/mysql.xml

Documentation: github.com/alecthomas/chroma/v2/lexers/embedded

     1<lexer>
     2  <config>
     3    <name>MySQL</name>
     4    <alias>mysql</alias>
     5    <alias>mariadb</alias>
     6    <filename>*.sql</filename>
     7    <mime_type>text/x-mysql</mime_type>
     8    <mime_type>text/x-mariadb</mime_type>
     9    <case_insensitive>true</case_insensitive>
    10    <not_multiline>true</not_multiline>
    11  </config>
    12  <rules>
    13    <state name="string">
    14      <rule pattern="[^&#39;]+">
    15        <token type="LiteralStringSingle"/>
    16      </rule>
    17      <rule pattern="&#39;&#39;">
    18        <token type="LiteralStringSingle"/>
    19      </rule>
    20      <rule pattern="&#39;">
    21        <token type="LiteralStringSingle"/>
    22        <pop depth="1"/>
    23      </rule>
    24    </state>
    25    <state name="double-string">
    26      <rule pattern="[^&#34;]+">
    27        <token type="LiteralStringDouble"/>
    28      </rule>
    29      <rule pattern="&#34;&#34;">
    30        <token type="LiteralStringDouble"/>
    31      </rule>
    32      <rule pattern="&#34;">
    33        <token type="LiteralStringDouble"/>
    34        <pop depth="1"/>
    35      </rule>
    36    </state>
    37    <state name="root">
    38      <rule pattern="\s+">
    39        <token type="TextWhitespace"/>
    40      </rule>
    41      <rule pattern="(#|--\s+).*\n?">
    42        <token type="CommentSingle"/>
    43      </rule>
    44      <rule pattern="/\*">
    45        <token type="CommentMultiline"/>
    46        <push state="multiline-comments"/>
    47      </rule>
    48      <rule pattern="[0-9]+">
    49        <token type="LiteralNumberInteger"/>
    50      </rule>
    51      <rule pattern="[0-9]*\.[0-9]+(e[+-][0-9]+)">
    52        <token type="LiteralNumberFloat"/>
    53      </rule>
    54      <rule pattern="((?:_[a-z0-9]+)?)(&#39;)">
    55        <bygroups>
    56          <token type="LiteralStringAffix"/>
    57          <token type="LiteralStringSingle"/>
    58        </bygroups>
    59        <push state="string"/>
    60      </rule>
    61      <rule pattern="((?:_[a-z0-9]+)?)(&#34;)">
    62        <bygroups>
    63          <token type="LiteralStringAffix"/>
    64          <token type="LiteralStringDouble"/>
    65        </bygroups>
    66        <push state="double-string"/>
    67      </rule>
    68      <rule pattern="[+*/&lt;&gt;=~!@#%^&amp;|`?-]">
    69        <token type="Operator"/>
    70      </rule>
    71      <rule pattern="\b(tinyint|smallint|mediumint|int|integer|bigint|date|datetime|time|bit|bool|tinytext|mediumtext|longtext|text|tinyblob|mediumblob|longblob|blob|float|double|double\s+precision|real|numeric|dec|decimal|timestamp|year|char|varchar|varbinary|varcharacter|enum|set)(\b\s*)(\()?">
    72        <bygroups>
    73          <token type="KeywordType"/>
    74          <token type="TextWhitespace"/>
    75          <token type="Punctuation"/>
    76        </bygroups>
    77      </rule>
    78      <rule pattern="\b(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|fetch|flush|float|float4|float8|for|force|foreign|from|fulltext|grant|group|having|high_priority|hour_microsecond|hour_minute|hour_second|identified|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|lines|load|localtime|localtimestamp|lock|long|loop|low_priority|match|minute_microsecond|minute_second|mod|modifies|natural|no_write_to_binlog|not|numeric|on|optimize|option|optionally|or|order|out|outer|outfile|precision|primary|privileges|procedure|purge|raid0|read|reads|real|references|regexp|release|rename|repeat|replace|require|restrict|return|revoke|right|rlike|schema|schemas|second_microsecond|select|sensitive|separator|set|show|smallint|soname|spatial|specific|sql|sql_big_result|sql_calc_found_rows|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|starting|straight_join|table|terminated|then|to|trailing|trigger|undo|union|unique|unlock|unsigned|update|usage|use|user|using|utc_date|utc_time|utc_timestamp|values|varying|when|where|while|with|write|x509|xor|year_month|zerofill)\b">
    79        <token type="Keyword"/>
    80      </rule>
    81      <rule pattern="\b(auto_increment|engine|charset|tables)\b">
    82        <token type="KeywordPseudo"/>
    83      </rule>
    84      <rule pattern="(true|false|null)">
    85        <token type="NameConstant"/>
    86      </rule>
    87      <rule pattern="([a-z_]\w*)(\s*)(\()">
    88        <bygroups>
    89          <token type="NameFunction"/>
    90          <token type="TextWhitespace"/>
    91          <token type="Punctuation"/>
    92        </bygroups>
    93      </rule>
    94      <rule pattern="[a-z_]\w*">
    95        <token type="Name"/>
    96      </rule>
    97      <rule pattern="@[a-z0-9]*[._]*[a-z0-9]*">
    98        <token type="NameVariable"/>
    99      </rule>
   100      <rule pattern="[;:()\[\],.]">
   101        <token type="Punctuation"/>
   102      </rule>
   103    </state>
   104    <state name="multiline-comments">
   105      <rule pattern="/\*">
   106        <token type="CommentMultiline"/>
   107        <push state="multiline-comments"/>
   108      </rule>
   109      <rule pattern="\*/">
   110        <token type="CommentMultiline"/>
   111        <pop depth="1"/>
   112      </rule>
   113      <rule pattern="[^/*]+">
   114        <token type="CommentMultiline"/>
   115      </rule>
   116      <rule pattern="[/*]">
   117        <token type="CommentMultiline"/>
   118      </rule>
   119    </state>
   120  </rules>
   121</lexer>

View as plain text