...

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

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

     1<lexer>
     2  <config>
     3    <name>HLB</name>
     4    <alias>hlb</alias>
     5    <filename>*.hlb</filename>
     6  </config>
     7  <rules>
     8    <state name="root">
     9      <rule pattern="(#.*)">
    10        <bygroups>
    11          <token type="CommentSingle"/>
    12        </bygroups>
    13      </rule>
    14      <rule pattern="((\b(0(b|B|o|O|x|X)[a-fA-F0-9]+)\b)|(\b(0|[1-9][0-9]*)\b))">
    15        <bygroups>
    16          <token type="LiteralNumber"/>
    17        </bygroups>
    18      </rule>
    19      <rule pattern="((\b(true|false)\b))">
    20        <bygroups>
    21          <token type="NameBuiltin"/>
    22        </bygroups>
    23      </rule>
    24      <rule pattern="(\bstring\b|\bint\b|\bbool\b|\bfs\b|\boption\b)">
    25        <bygroups>
    26          <token type="KeywordType"/>
    27        </bygroups>
    28      </rule>
    29      <rule pattern="(\b[a-zA-Z_][a-zA-Z0-9]*\b)(\()">
    30        <bygroups>
    31          <token type="NameFunction"/>
    32          <token type="Punctuation"/>
    33        </bygroups>
    34        <push state="params"/>
    35      </rule>
    36      <rule pattern="(\{)">
    37        <bygroups>
    38          <token type="Punctuation"/>
    39        </bygroups>
    40        <push state="block"/>
    41      </rule>
    42      <rule pattern="(\n|\r|\r\n)">
    43        <token type="Text"/>
    44      </rule>
    45      <rule pattern=".">
    46        <token type="Text"/>
    47      </rule>
    48    </state>
    49    <state name="string">
    50      <rule pattern="&#34;">
    51        <token type="LiteralString"/>
    52        <pop depth="1"/>
    53      </rule>
    54      <rule pattern="\\&#34;">
    55        <token type="LiteralString"/>
    56      </rule>
    57      <rule pattern="[^\\&#34;]+">
    58        <token type="LiteralString"/>
    59      </rule>
    60    </state>
    61    <state name="block">
    62      <rule pattern="(\})">
    63        <bygroups>
    64          <token type="Punctuation"/>
    65        </bygroups>
    66        <pop depth="1"/>
    67      </rule>
    68      <rule pattern="(#.*)">
    69        <bygroups>
    70          <token type="CommentSingle"/>
    71        </bygroups>
    72      </rule>
    73      <rule pattern="((\b(0(b|B|o|O|x|X)[a-fA-F0-9]+)\b)|(\b(0|[1-9][0-9]*)\b))">
    74        <bygroups>
    75          <token type="LiteralNumber"/>
    76        </bygroups>
    77      </rule>
    78      <rule pattern="((\b(true|false)\b))">
    79        <bygroups>
    80          <token type="KeywordConstant"/>
    81        </bygroups>
    82      </rule>
    83      <rule pattern="&#34;">
    84        <token type="LiteralString"/>
    85        <push state="string"/>
    86      </rule>
    87      <rule pattern="(with)">
    88        <bygroups>
    89          <token type="KeywordReserved"/>
    90        </bygroups>
    91      </rule>
    92      <rule pattern="(as)([\t ]+)(\b[a-zA-Z_][a-zA-Z0-9]*\b)">
    93        <bygroups>
    94          <token type="KeywordReserved"/>
    95          <token type="Text"/>
    96          <token type="NameFunction"/>
    97        </bygroups>
    98      </rule>
    99      <rule pattern="(\bstring\b|\bint\b|\bbool\b|\bfs\b|\boption\b)([\t ]+)(\{)">
   100        <bygroups>
   101          <token type="KeywordType"/>
   102          <token type="Text"/>
   103          <token type="Punctuation"/>
   104        </bygroups>
   105        <push state="block"/>
   106      </rule>
   107      <rule pattern="(?!\b(?:scratch|image|resolve|http|checksum|chmod|filename|git|keepGitDir|local|includePatterns|excludePatterns|followPaths|generate|frontendInput|shell|run|readonlyRootfs|env|dir|user|network|security|host|ssh|secret|mount|target|localPath|uid|gid|mode|readonly|tmpfs|sourcePath|cache|mkdir|createParents|chown|createdTime|mkfile|rm|allowNotFound|allowWildcards|copy|followSymlinks|contentsOnly|unpack|createDestPath)\b)(\b[a-zA-Z_][a-zA-Z0-9]*\b)">
   108        <bygroups>
   109          <token type="NameOther"/>
   110        </bygroups>
   111      </rule>
   112      <rule pattern="(\n|\r|\r\n)">
   113        <token type="Text"/>
   114      </rule>
   115      <rule pattern=".">
   116        <token type="Text"/>
   117      </rule>
   118    </state>
   119    <state name="params">
   120      <rule pattern="(\))">
   121        <bygroups>
   122          <token type="Punctuation"/>
   123        </bygroups>
   124        <pop depth="1"/>
   125      </rule>
   126      <rule pattern="(variadic)">
   127        <bygroups>
   128          <token type="Keyword"/>
   129        </bygroups>
   130      </rule>
   131      <rule pattern="(\bstring\b|\bint\b|\bbool\b|\bfs\b|\boption\b)">
   132        <bygroups>
   133          <token type="KeywordType"/>
   134        </bygroups>
   135      </rule>
   136      <rule pattern="(\b[a-zA-Z_][a-zA-Z0-9]*\b)">
   137        <bygroups>
   138          <token type="NameOther"/>
   139        </bygroups>
   140      </rule>
   141      <rule pattern="(\n|\r|\r\n)">
   142        <token type="Text"/>
   143      </rule>
   144      <rule pattern=".">
   145        <token type="Text"/>
   146      </rule>
   147    </state>
   148  </rules>
   149</lexer>

View as plain text