...

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

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

     1<lexer>
     2  <config>
     3    <name>PkgConfig</name>
     4    <alias>pkgconfig</alias>
     5    <filename>*.pc</filename>
     6  </config>
     7  <rules>
     8    <state name="curly">
     9      <rule pattern="\}">
    10        <token type="LiteralStringInterpol"/>
    11        <pop depth="1"/>
    12      </rule>
    13      <rule pattern="\w+">
    14        <token type="NameAttribute"/>
    15      </rule>
    16    </state>
    17    <state name="spvalue">
    18      <rule>
    19        <include state="interp"/>
    20      </rule>
    21      <rule pattern="#.*$">
    22        <token type="CommentSingle"/>
    23        <pop depth="1"/>
    24      </rule>
    25      <rule pattern="\n">
    26        <token type="Text"/>
    27        <pop depth="1"/>
    28      </rule>
    29      <rule pattern="[^${}#\n]+">
    30        <token type="Text"/>
    31      </rule>
    32      <rule pattern=".">
    33        <token type="Text"/>
    34      </rule>
    35    </state>
    36    <state name="root">
    37      <rule pattern="#.*$">
    38        <token type="CommentSingle"/>
    39      </rule>
    40      <rule pattern="^(\w+)(=)">
    41        <bygroups>
    42          <token type="NameAttribute"/>
    43          <token type="Operator"/>
    44        </bygroups>
    45      </rule>
    46      <rule pattern="^([\w.]+)(:)">
    47        <bygroups>
    48          <token type="NameTag"/>
    49          <token type="Punctuation"/>
    50        </bygroups>
    51        <push state="spvalue"/>
    52      </rule>
    53      <rule>
    54        <include state="interp"/>
    55      </rule>
    56      <rule pattern="[^${}#=:\n.]+">
    57        <token type="Text"/>
    58      </rule>
    59      <rule pattern=".">
    60        <token type="Text"/>
    61      </rule>
    62    </state>
    63    <state name="interp">
    64      <rule pattern="\$\$">
    65        <token type="Text"/>
    66      </rule>
    67      <rule pattern="\$\{">
    68        <token type="LiteralStringInterpol"/>
    69        <push state="curly"/>
    70      </rule>
    71    </state>
    72  </rules>
    73</lexer>

View as plain text