...

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

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

     1<lexer>
     2  <config>
     3    <name>mcfunction</name>
     4    <alias>mcfunction</alias>
     5    <filename>*.mcfunction</filename>
     6    <dot_all>true</dot_all>
     7    <not_multiline>true</not_multiline>
     8  </config>
     9  <rules>
    10    <state name="nbtobjectvalue">
    11      <rule pattern="(&#34;(\\\\|\\&#34;|[^&#34;])*&#34;|[a-zA-Z0-9_]+)">
    12        <token type="NameTag"/>
    13        <push state="nbtobjectattribute"/>
    14      </rule>
    15      <rule pattern="\}">
    16        <token type="Punctuation"/>
    17        <pop depth="1"/>
    18      </rule>
    19    </state>
    20    <state name="nbtarrayvalue">
    21      <rule>
    22        <include state="nbtvalue"/>
    23      </rule>
    24      <rule pattern=",">
    25        <token type="Punctuation"/>
    26      </rule>
    27      <rule pattern="\]">
    28        <token type="Punctuation"/>
    29        <pop depth="1"/>
    30      </rule>
    31    </state>
    32    <state name="nbtvalue">
    33      <rule>
    34        <include state="simplevalue"/>
    35      </rule>
    36      <rule pattern="\{">
    37        <token type="Punctuation"/>
    38        <push state="nbtobjectvalue"/>
    39      </rule>
    40      <rule pattern="\[">
    41        <token type="Punctuation"/>
    42        <push state="nbtarrayvalue"/>
    43      </rule>
    44    </state>
    45    <state name="argumentvalue">
    46      <rule>
    47        <include state="simplevalue"/>
    48      </rule>
    49      <rule pattern=",">
    50        <token type="Punctuation"/>
    51        <pop depth="1"/>
    52      </rule>
    53      <rule pattern="[}\]]">
    54        <token type="Punctuation"/>
    55        <pop depth="2"/>
    56      </rule>
    57    </state>
    58    <state name="argumentlist">
    59      <rule pattern="(nbt)(={)">
    60        <bygroups>
    61          <token type="NameAttribute"/>
    62          <token type="Punctuation"/>
    63        </bygroups>
    64        <push state="nbtobjectvalue"/>
    65      </rule>
    66      <rule pattern="([A-Za-z0-9/_!]+)(={)">
    67        <bygroups>
    68          <token type="NameAttribute"/>
    69          <token type="Punctuation"/>
    70        </bygroups>
    71        <push state="argumentlist"/>
    72      </rule>
    73      <rule pattern="([A-Za-z0-9/_!]+)(=)">
    74        <bygroups>
    75          <token type="NameAttribute"/>
    76          <token type="Punctuation"/>
    77        </bygroups>
    78        <push state="argumentvalue"/>
    79      </rule>
    80      <rule>
    81        <include state="simplevalue"/>
    82      </rule>
    83      <rule pattern=",">
    84        <token type="Punctuation"/>
    85      </rule>
    86      <rule pattern="[}\]]">
    87        <token type="Punctuation"/>
    88        <pop depth="1"/>
    89      </rule>
    90    </state>
    91    <state name="root">
    92      <rule pattern="#.*?\n">
    93        <token type="CommentSingle"/>
    94      </rule>
    95      <rule pattern="/?(geteduclientinfo|clearspawnpoint|defaultgamemode|transferserver|toggledownfall|immutableworld|detectredstone|setidletimeout|playanimation|classroommode|spreadplayers|testforblocks|setmaxplayers|setworldspawn|testforblock|worldbuilder|createagent|worldborder|camerashake|advancement|raytracefog|locatebiome|tickingarea|replaceitem|attributes|spawnpoint|difficulty|experience|scoreboard|whitelist|structure|playsound|stopsound|forceload|spectate|gamerule|function|schedule|wsserver|teleport|position|save-off|particle|setblock|datapack|mobevent|transfer|gamemode|save-all|bossbar|enchant|trigger|collect|execute|weather|teammsg|tpagent|banlist|dropall|publish|tellraw|testfor|save-on|destroy|ability|locate|summon|remove|effect|reload|ban-ip|recipe|pardon|detect|music|clear|clone|event|mixer|debug|title|ride|stop|list|turn|data|team|kick|loot|tell|help|give|flog|fill|move|time|seed|kill|save|item|deop|code|tag|ban|msg|say|tp|me|op|xp|w|place)\b">
    96        <token type="KeywordReserved"/>
    97      </rule>
    98      <rule pattern="(@p|@r|@a|@e|@s|@c|@v)">
    99        <token type="KeywordConstant"/>
   100      </rule>
   101      <rule pattern="\[">
   102        <token type="Punctuation"/>
   103        <push state="argumentlist"/>
   104      </rule>
   105      <rule pattern="{">
   106        <token type="Punctuation"/>
   107        <push state="nbtobjectvalue"/>
   108      </rule>
   109      <rule pattern="~">
   110        <token type="NameBuiltin"/>
   111      </rule>
   112      <rule pattern="([a-zA-Z_]+:)?[a-zA-Z_]+\b">
   113        <token type="Text"/>
   114      </rule>
   115      <rule pattern="([a-z]+)(\.)([0-9]+)\b">
   116        <bygroups>
   117          <token type="Text"/>
   118          <token type="Punctuation"/>
   119          <token type="LiteralNumber"/>
   120        </bygroups>
   121      </rule>
   122      <rule pattern="([&lt;&gt;=]|&lt;=|&gt;=)">
   123        <token type="Punctuation"/>
   124      </rule>
   125      <rule>
   126        <include state="simplevalue"/>
   127      </rule>
   128      <rule pattern="\s+">
   129        <token type="TextWhitespace"/>
   130      </rule>
   131    </state>
   132    <state name="simplevalue">
   133      <rule pattern="(true|false)">
   134        <token type="KeywordConstant"/>
   135      </rule>
   136      <rule pattern="[01]b">
   137        <token type="LiteralNumber"/>
   138      </rule>
   139      <rule pattern="-?(0|[1-9]\d*)(\.\d+[eE](\+|-)?\d+|[eE](\+|-)?\d+|\.\d+)">
   140        <token type="LiteralNumberFloat"/>
   141      </rule>
   142      <rule pattern="(-?\d+)(\.\.)(-?\d+)">
   143        <bygroups>
   144          <token type="LiteralNumberInteger"/>
   145          <token type="Punctuation"/>
   146          <token type="LiteralNumberInteger"/>
   147        </bygroups>
   148      </rule>
   149      <rule pattern="-?(0|[1-9]\d*)">
   150        <token type="LiteralNumberInteger"/>
   151      </rule>
   152      <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
   153        <token type="LiteralStringDouble"/>
   154      </rule>
   155      <rule pattern="&#39;[^&#39;]+&#39;">
   156        <token type="LiteralStringSingle"/>
   157      </rule>
   158      <rule pattern="([!#]?)(\w+)">
   159        <bygroups>
   160          <token type="Punctuation"/>
   161          <token type="Text"/>
   162        </bygroups>
   163      </rule>
   164    </state>
   165    <state name="nbtobjectattribute">
   166      <rule>
   167        <include state="nbtvalue"/>
   168      </rule>
   169      <rule pattern=":">
   170        <token type="Punctuation"/>
   171      </rule>
   172      <rule pattern=",">
   173        <token type="Punctuation"/>
   174        <pop depth="1"/>
   175      </rule>
   176      <rule pattern="\}">
   177        <token type="Punctuation"/>
   178        <pop depth="2"/>
   179      </rule>
   180    </state>
   181  </rules>
   182</lexer>

View as plain text