1<lexer>
 2  <config>
 3    <name>Diff</name>
 4    <alias>diff</alias>
 5    <alias>udiff</alias>
 6    <filename>*.diff</filename>
 7    <filename>*.patch</filename>
 8    <mime_type>text/x-diff</mime_type>
 9    <mime_type>text/x-patch</mime_type>
10    <ensure_nl>true</ensure_nl>
11  </config>
12  <rules>
13    <state name="root">
14      <rule pattern=" .*\n">
15        <token type="Text"/>
16      </rule>
17      <rule pattern="\+.*\n">
18        <token type="GenericInserted"/>
19      </rule>
20      <rule pattern="-.*\n">
21        <token type="GenericDeleted"/>
22      </rule>
23      <rule pattern="!.*\n">
24        <token type="GenericStrong"/>
25      </rule>
26      <rule pattern="@.*\n">
27        <token type="GenericSubheading"/>
28      </rule>
29      <rule pattern="([Ii]ndex|diff).*\n">
30        <token type="GenericHeading"/>
31      </rule>
32      <rule pattern="=.*\n">
33        <token type="GenericHeading"/>
34      </rule>
35      <rule pattern=".*\n">
36        <token type="Text"/>
37      </rule>
38    </state>
39  </rules>
40</lexer>