mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-21 18:54:01 -04:00
116 lines
3.1 KiB
XML
116 lines
3.1 KiB
XML
<lexer>
|
|
<config>
|
|
<name>scdoc</name>
|
|
<alias>scdoc</alias>
|
|
<filename>*.scd</filename>
|
|
<filename>*.scdoc</filename>
|
|
</config>
|
|
<rules>
|
|
<state name="root">
|
|
<rule pattern="(?m)^; .*$">
|
|
<token type="Comment"/>
|
|
</rule>
|
|
<rule pattern="(?m)^([A-Z][A-Z0-9_-]*)(\()([0-9]+)(\))(.*)$">
|
|
<bygroups>
|
|
<token type="NameFunction"/>
|
|
<token type="Punctuation"/>
|
|
<token type="LiteralNumber"/>
|
|
<token type="Punctuation"/>
|
|
<token type="Text"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(?m)^(##)( +)(.+)$">
|
|
<bygroups>
|
|
<token type="GenericSubheading"/>
|
|
<token type="Text"/>
|
|
<token type="Text"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(?m)^(#)( +)(.+)$">
|
|
<bygroups>
|
|
<token type="GenericHeading"/>
|
|
<token type="Text"/>
|
|
<token type="GenericStrong"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(?m)^```$">
|
|
<token type="LiteralStringBacktick"/>
|
|
<push state="literal_block"/>
|
|
</rule>
|
|
<rule pattern="(?m)^(\s*)(- )(.*)$">
|
|
<bygroups>
|
|
<token type="Text"/>
|
|
<token type="Keyword"/>
|
|
<usingself state="inline"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(?m)^(\s*)(\. )(.*)$">
|
|
<bygroups>
|
|
<token type="Text"/>
|
|
<token type="Keyword"/>
|
|
<usingself state="inline"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(?m)^\t[^ \t].*$">
|
|
<token type="LiteralStringBacktick"/>
|
|
</rule>
|
|
<rule pattern="(?m)^\t+$">
|
|
<token type="LiteralStringBacktick"/>
|
|
</rule>
|
|
<rule pattern="(?m)^(\s*)([|:\[\]].*)$">
|
|
<bygroups>
|
|
<token type="Text"/>
|
|
<token type="Punctuation"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(?m)^(.*)(\+\+)$">
|
|
<bygroups>
|
|
<usingself state="inline"/>
|
|
<token type="Operator"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule>
|
|
<include state="inline"/>
|
|
</rule>
|
|
</state>
|
|
<state name="literal_block">
|
|
<rule pattern="(?m)^```$">
|
|
<token type="LiteralStringBacktick"/>
|
|
<pop depth="1"/>
|
|
</rule>
|
|
<rule pattern=".*\n?">
|
|
<token type="LiteralStringBacktick"/>
|
|
</rule>
|
|
</state>
|
|
<state name="inline">
|
|
<rule pattern="\\.">
|
|
<token type="LiteralStringEscape"/>
|
|
</rule>
|
|
<rule pattern="(\*)([^*\n]+)(\*)">
|
|
<bygroups>
|
|
<token type="Punctuation"/>
|
|
<token type="GenericStrong"/>
|
|
<token type="Punctuation"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(_)([^_\n]+?)(_)((?=\W|\n|$))">
|
|
<bygroups>
|
|
<token type="Punctuation"/>
|
|
<token type="GenericUnderline"/>
|
|
<token type="Punctuation"/>
|
|
<token type="Text"/>
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="[^*_\\\n]+">
|
|
<token type="Text"/>
|
|
</rule>
|
|
<rule pattern="\n">
|
|
<token type="Text"/>
|
|
</rule>
|
|
<rule pattern=".">
|
|
<token type="Text"/>
|
|
</rule>
|
|
</state>
|
|
</rules>
|
|
</lexer>
|