...

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

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

     1<lexer>
     2  <config>
     3    <name>Hexdump</name>
     4    <alias>hexdump</alias>
     5  </config>
     6  <rules>
     7    <state name="offset">
     8      <rule pattern="^([0-9A-Ha-h]+)(:)">
     9        <bygroups>
    10          <token type="NameLabel"/>
    11          <token type="Punctuation"/>
    12        </bygroups>
    13        <push state="offset-mode"/>
    14      </rule>
    15      <rule pattern="^[0-9A-Ha-h]+">
    16        <token type="NameLabel"/>
    17      </rule>
    18    </state>
    19    <state name="offset-mode">
    20      <rule pattern="\s">
    21        <token type="Text"/>
    22        <pop depth="1"/>
    23      </rule>
    24      <rule pattern="[0-9A-Ha-h]+">
    25        <token type="NameLabel"/>
    26      </rule>
    27      <rule pattern=":">
    28        <token type="Punctuation"/>
    29      </rule>
    30    </state>
    31    <state name="piped-strings">
    32      <rule pattern="\n">
    33        <token type="Text"/>
    34      </rule>
    35      <rule>
    36        <include state="offset"/>
    37      </rule>
    38      <rule pattern="[0-9A-Ha-h]{2}">
    39        <token type="LiteralNumberHex"/>
    40      </rule>
    41      <rule pattern="(\s{2,3})(\|)(.{1,16})(\|)$">
    42        <bygroups>
    43          <token type="Text"/>
    44          <token type="Punctuation"/>
    45          <token type="LiteralString"/>
    46          <token type="Punctuation"/>
    47        </bygroups>
    48      </rule>
    49      <rule pattern="\s">
    50        <token type="Text"/>
    51      </rule>
    52      <rule pattern="^\*">
    53        <token type="Punctuation"/>
    54      </rule>
    55    </state>
    56    <state name="bracket-strings">
    57      <rule pattern="\n">
    58        <token type="Text"/>
    59      </rule>
    60      <rule>
    61        <include state="offset"/>
    62      </rule>
    63      <rule pattern="[0-9A-Ha-h]{2}">
    64        <token type="LiteralNumberHex"/>
    65      </rule>
    66      <rule pattern="(\s{2,3})(\&gt;)(.{1,16})(\&lt;)$">
    67        <bygroups>
    68          <token type="Text"/>
    69          <token type="Punctuation"/>
    70          <token type="LiteralString"/>
    71          <token type="Punctuation"/>
    72        </bygroups>
    73      </rule>
    74      <rule pattern="\s">
    75        <token type="Text"/>
    76      </rule>
    77      <rule pattern="^\*">
    78        <token type="Punctuation"/>
    79      </rule>
    80    </state>
    81    <state name="nonpiped-strings">
    82      <rule pattern="\n">
    83        <token type="Text"/>
    84      </rule>
    85      <rule>
    86        <include state="offset"/>
    87      </rule>
    88      <rule pattern="([0-9A-Ha-h]{2})(\-)([0-9A-Ha-h]{2})">
    89        <bygroups>
    90          <token type="LiteralNumberHex"/>
    91          <token type="Punctuation"/>
    92          <token type="LiteralNumberHex"/>
    93        </bygroups>
    94      </rule>
    95      <rule pattern="[0-9A-Ha-h]{2}">
    96        <token type="LiteralNumberHex"/>
    97      </rule>
    98      <rule pattern="(\s{19,})(.{1,20}?)$">
    99        <bygroups>
   100          <token type="Text"/>
   101          <token type="LiteralString"/>
   102        </bygroups>
   103      </rule>
   104      <rule pattern="(\s{2,3})(.{1,20})$">
   105        <bygroups>
   106          <token type="Text"/>
   107          <token type="LiteralString"/>
   108        </bygroups>
   109      </rule>
   110      <rule pattern="\s">
   111        <token type="Text"/>
   112      </rule>
   113      <rule pattern="^\*">
   114        <token type="Punctuation"/>
   115      </rule>
   116    </state>
   117    <state name="root">
   118      <rule pattern="\n">
   119        <token type="Text"/>
   120      </rule>
   121      <rule>
   122        <include state="offset"/>
   123      </rule>
   124      <rule pattern="([0-9A-Ha-h]{2})(\-)([0-9A-Ha-h]{2})">
   125        <bygroups>
   126          <token type="LiteralNumberHex"/>
   127          <token type="Punctuation"/>
   128          <token type="LiteralNumberHex"/>
   129        </bygroups>
   130      </rule>
   131      <rule pattern="[0-9A-Ha-h]{2}">
   132        <token type="LiteralNumberHex"/>
   133      </rule>
   134      <rule pattern="(\s{2,3})(\&gt;)(.{16})(\&lt;)$">
   135        <bygroups>
   136          <token type="Text"/>
   137          <token type="Punctuation"/>
   138          <token type="LiteralString"/>
   139          <token type="Punctuation"/>
   140        </bygroups>
   141        <push state="bracket-strings"/>
   142      </rule>
   143      <rule pattern="(\s{2,3})(\|)(.{16})(\|)$">
   144        <bygroups>
   145          <token type="Text"/>
   146          <token type="Punctuation"/>
   147          <token type="LiteralString"/>
   148          <token type="Punctuation"/>
   149        </bygroups>
   150        <push state="piped-strings"/>
   151      </rule>
   152      <rule pattern="(\s{2,3})(\&gt;)(.{1,15})(\&lt;)$">
   153        <bygroups>
   154          <token type="Text"/>
   155          <token type="Punctuation"/>
   156          <token type="LiteralString"/>
   157          <token type="Punctuation"/>
   158        </bygroups>
   159      </rule>
   160      <rule pattern="(\s{2,3})(\|)(.{1,15})(\|)$">
   161        <bygroups>
   162          <token type="Text"/>
   163          <token type="Punctuation"/>
   164          <token type="LiteralString"/>
   165          <token type="Punctuation"/>
   166        </bygroups>
   167      </rule>
   168      <rule pattern="(\s{2,3})(.{1,15})$">
   169        <bygroups>
   170          <token type="Text"/>
   171          <token type="LiteralString"/>
   172        </bygroups>
   173      </rule>
   174      <rule pattern="(\s{2,3})(.{16}|.{20})$">
   175        <bygroups>
   176          <token type="Text"/>
   177          <token type="LiteralString"/>
   178        </bygroups>
   179        <push state="nonpiped-strings"/>
   180      </rule>
   181      <rule pattern="\s">
   182        <token type="Text"/>
   183      </rule>
   184      <rule pattern="^\*">
   185        <token type="Punctuation"/>
   186      </rule>
   187    </state>
   188  </rules>
   189</lexer>

View as plain text