92 lines
2.8 KiB
XML
92 lines
2.8 KiB
XML
<?xml version="1.0" ?>
|
|
<lexer>
|
|
<config>
|
|
<name>Sed</name>
|
|
<alias>sed</alias>
|
|
<alias>gsed</alias>
|
|
<alias>ssed</alias>
|
|
<filename>*.sed</filename>
|
|
<filename>*.[gs]sed</filename>
|
|
<mime_type>text/x-sed</mime_type>
|
|
</config>
|
|
<rules>
|
|
<state name="root">
|
|
<rule pattern="\s+">
|
|
<token type="TextWhitespace" />
|
|
</rule>
|
|
<rule pattern="#.*$">
|
|
<token type="CommentSingle" />
|
|
</rule>
|
|
<rule pattern="[0-9]+">
|
|
<token type="LiteralNumberInteger" />
|
|
</rule>
|
|
<rule pattern="\$">
|
|
<token type="Operator" />
|
|
</rule>
|
|
<rule pattern="[{};,!]">
|
|
<token type="Punctuation" />
|
|
</rule>
|
|
<rule pattern="[dDFgGhHlnNpPqQxz=]">
|
|
<token type="Keyword" />
|
|
</rule>
|
|
<rule pattern="([berRtTvwW:])([^;\n]*)">
|
|
<bygroups>
|
|
<token type="Keyword" />
|
|
<token type="LiteralStringSingle" />
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="([aci])((?:.*?\\\n)*(?:.*?[^\\]$))">
|
|
<bygroups>
|
|
<token type="Keyword" />
|
|
<token type="LiteralStringDouble" />
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="([qQ])([0-9]*)">
|
|
<bygroups>
|
|
<token type="Keyword" />
|
|
<token type="LiteralNumberInteger" />
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(/)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(/)">
|
|
<bygroups>
|
|
<token type="Punctuation" />
|
|
<token type="LiteralStringRegex" />
|
|
<token type="Punctuation" />
|
|
</bygroups>
|
|
</rule>
|
|
<rule pattern="(\\(.))((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)">
|
|
<bygroups>
|
|
<token type="Punctuation" />
|
|
<token type="Text" />
|
|
<token type="LiteralStringRegex" />
|
|
<token type="Punctuation" />
|
|
</bygroups>
|
|
</rule>
|
|
<rule
|
|
pattern="(y)(.)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)"
|
|
>
|
|
<bygroups>
|
|
<token type="Keyword" />
|
|
<token type="Punctuation" />
|
|
<token type="LiteralStringSingle" />
|
|
<token type="Punctuation" />
|
|
<token type="LiteralStringSingle" />
|
|
<token type="Punctuation" />
|
|
</bygroups>
|
|
</rule>
|
|
<rule
|
|
pattern="(s)(.)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)(\2)((?:[gpeIiMm]|[0-9])*)"
|
|
>
|
|
<bygroups>
|
|
<token type="Keyword" />
|
|
<token type="Punctuation" />
|
|
<token type="LiteralStringRegex" />
|
|
<token type="Punctuation" />
|
|
<token type="LiteralStringSingle" />
|
|
<token type="Punctuation" />
|
|
<token type="Keyword" />
|
|
</bygroups>
|
|
</rule>
|
|
</state>
|
|
</rules>
|
|
</lexer>
|