mirror of
https://github.com/ralsina/tartrazine.git
synced 2025-04-02 22:38:24 +00:00
feat: Bumped to latest chroma release
This commit is contained in:
parent
62db71ae4d
commit
5fe309f24c
3
.gitignore
vendored
3
.gitignore
vendored
@ -12,3 +12,6 @@ venv/
|
||||
.croupier
|
||||
coverage/
|
||||
run_tests
|
||||
|
||||
# We use the internal crystal lexer
|
||||
lexers/crystal.xml
|
||||
|
165
lexers/atl.xml
Normal file
165
lexers/atl.xml
Normal file
@ -0,0 +1,165 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>ATL</name>
|
||||
<alias>atl</alias>
|
||||
<filename>*.atl</filename>
|
||||
<mime_type>text/x-atl</mime_type>
|
||||
<dot_all>true</dot_all>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="(--.*?)(\n)">
|
||||
<bygroups>
|
||||
<token type="CommentSingle" />
|
||||
<token type="TextWhitespace" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(and|distinct|endif|else|for|foreach|if|implies|in|let|not|or|self|super|then|thisModule|xor)\b">
|
||||
<token type="Keyword" />
|
||||
</rule>
|
||||
<rule pattern="(OclUndefined|true|false|#\w+)\b">
|
||||
<token type="KeywordConstant" />
|
||||
</rule>
|
||||
<rule pattern="(module|query|library|create|from|to|uses)\b">
|
||||
<token type="KeywordNamespace" />
|
||||
</rule>
|
||||
<rule pattern="(do)(\s*)({)">
|
||||
<bygroups>
|
||||
<token type="KeywordNamespace" />
|
||||
<token type="TextWhitespace" />
|
||||
<token type="Punctuation" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(abstract|endpoint|entrypoint|lazy|unique)(\s+)">
|
||||
<bygroups>
|
||||
<token type="KeywordDeclaration" />
|
||||
<token type="TextWhitespace" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(rule)(\s+)">
|
||||
<bygroups>
|
||||
<token type="KeywordNamespace" />
|
||||
<token type="TextWhitespace" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(helper)(\s+)">
|
||||
<bygroups>
|
||||
<token type="KeywordNamespace" />
|
||||
<token type="TextWhitespace" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(context)(\s+)">
|
||||
<bygroups>
|
||||
<token type="KeywordNamespace" />
|
||||
<token type="TextWhitespace" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(def)(\s*)(:)(\s*)">
|
||||
<bygroups>
|
||||
<token type="KeywordNamespace" />
|
||||
<token type="TextWhitespace" />
|
||||
<token type="Punctuation" />
|
||||
<token type="TextWhitespace" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(Bag|Boolean|Integer|OrderedSet|Real|Sequence|Set|String|Tuple)">
|
||||
<token type="KeywordType" />
|
||||
</rule>
|
||||
<rule pattern="(\w+)(\s*)(<-|<:=)">
|
||||
<bygroups>
|
||||
<token type="NameNamespace" />
|
||||
<token type="TextWhitespace" />
|
||||
<token type="Punctuation" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="#"">
|
||||
<token type="KeywordConstant" />
|
||||
<push state="quotedenumliteral" />
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="NameNamespace" />
|
||||
<push state="quotedname" />
|
||||
</rule>
|
||||
<rule pattern="[^\S\n]+">
|
||||
<token type="TextWhitespace" />
|
||||
</rule>
|
||||
<rule pattern="'">
|
||||
<token type="LiteralString" />
|
||||
<push state="string" />
|
||||
</rule>
|
||||
<rule
|
||||
pattern="[0-9]*\.[0-9]+">
|
||||
<token type="LiteralNumberFloat" />
|
||||
</rule>
|
||||
<rule pattern="0|[1-9][0-9]*">
|
||||
<token type="LiteralNumberInteger" />
|
||||
</rule>
|
||||
<rule pattern="[*<>+=/-]">
|
||||
<token type="Operator" />
|
||||
</rule>
|
||||
<rule pattern="([{}();:.,!|]|->)">
|
||||
<token type="Punctuation" />
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="TextWhitespace" />
|
||||
</rule>
|
||||
<rule pattern="\w+">
|
||||
<token type="NameNamespace" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="string">
|
||||
<rule pattern="[^\\']+">
|
||||
<token type="LiteralString" />
|
||||
</rule>
|
||||
<rule pattern="\\\\">
|
||||
<token type="LiteralString" />
|
||||
</rule>
|
||||
<rule pattern="\\'">
|
||||
<token type="LiteralString" />
|
||||
</rule>
|
||||
<rule pattern="\\">
|
||||
<token type="LiteralString" />
|
||||
</rule>
|
||||
<rule pattern="'">
|
||||
<token type="LiteralString" />
|
||||
<pop depth="1" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="quotedname">
|
||||
<rule pattern="[^\\"]+">
|
||||
<token type="NameNamespace" />
|
||||
</rule>
|
||||
<rule pattern="\\\\">
|
||||
<token type="NameNamespace" />
|
||||
</rule>
|
||||
<rule pattern="\\"">
|
||||
<token type="NameNamespace" />
|
||||
</rule>
|
||||
<rule pattern="\\">
|
||||
<token type="NameNamespace" />
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="NameNamespace" />
|
||||
<pop depth="1" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="quotedenumliteral">
|
||||
<rule pattern="[^\\"]+">
|
||||
<token type="KeywordConstant" />
|
||||
</rule>
|
||||
<rule pattern="\\\\">
|
||||
<token type="KeywordConstant" />
|
||||
</rule>
|
||||
<rule pattern="\\"">
|
||||
<token type="KeywordConstant" />
|
||||
</rule>
|
||||
<rule pattern="\\">
|
||||
<token type="KeywordConstant" />
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="KeywordConstant" />
|
||||
<pop depth="1" />
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
120
lexers/beef.xml
Normal file
120
lexers/beef.xml
Normal file
@ -0,0 +1,120 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>Beef</name>
|
||||
<alias>beef</alias>
|
||||
<filename>*.bf</filename>
|
||||
<mime_type>text/x-beef</mime_type>
|
||||
<dot_all>true</dot_all>
|
||||
<ensure_nl>true</ensure_nl>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="^\s*\[.*?\]">
|
||||
<token type="NameAttribute"/>
|
||||
</rule>
|
||||
<rule pattern="[^\S\n]+">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="\\\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="///[^\n\r]*">
|
||||
<token type="CommentSpecial"/>
|
||||
</rule>
|
||||
<rule pattern="//[^\n\r]*">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="/[*].*?[*]/">
|
||||
<token type="CommentMultiline"/>
|
||||
</rule>
|
||||
<rule pattern="\n">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="[~!%^&*()+=|\[\]:;,.<>/?-]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="[{}]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="@"(""|[^"])*"">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern="\$@?"(""|[^"])*"">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern=""(\\\\|\\"|[^"\n])*["\n]">
|
||||
<token type="LiteralString"/>
|
||||
</rule>
|
||||
<rule pattern="'\\.'|'[^\\]'">
|
||||
<token type="LiteralStringChar"/>
|
||||
</rule>
|
||||
<rule pattern="0[xX][0-9a-fA-F]+[Ll]?|\d[_\d]*(\.\d*)?([eE][+-]?\d+)?[flFLdD]?">
|
||||
<token type="LiteralNumber"/>
|
||||
</rule>
|
||||
<rule pattern="#[ \t]*(if|endif|else|elif|define|undef|line|error|warning|region|endregion|pragma|nullable)\b">
|
||||
<token type="CommentPreproc"/>
|
||||
</rule>
|
||||
<rule pattern="\b(extern)(\s+)(alias)\b">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="Keyword"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(as|await|base|break|by|case|catch|checked|continue|default|delegate|else|event|finally|fixed|for|repeat|goto|if|in|init|is|let|lock|new|scope|on|out|params|readonly|ref|return|sizeof|stackalloc|switch|this|throw|try|typeof|unchecked|virtual|void|while|get|set|new|yield|add|remove|value|alias|ascending|descending|from|group|into|orderby|select|thenby|where|join|equals)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="(global)(::)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(abstract|async|const|enum|explicit|extern|implicit|internal|operator|override|partial|extension|private|protected|public|static|sealed|unsafe|volatile)\b">
|
||||
<token type="KeywordDeclaration"/>
|
||||
</rule>
|
||||
<rule pattern="(bool|byte|char8|char16|char32|decimal|double|float|int|int8|int16|int32|int64|long|object|sbyte|short|string|uint|uint8|uint16|uint32|uint64|uint|let|var)\b\??">
|
||||
<token type="KeywordType"/>
|
||||
</rule>
|
||||
<rule pattern="(true|false|null)\b">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="(class|struct|record|interface)(\s+)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
<push state="class"/>
|
||||
</rule>
|
||||
<rule pattern="(namespace|using)(\s+)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
<push state="namespace"/>
|
||||
</rule>
|
||||
<rule pattern="@?[_a-zA-Z]\w*">
|
||||
<token type="Name"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="class">
|
||||
<rule pattern="@?[_a-zA-Z]\w*">
|
||||
<token type="NameClass"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="namespace">
|
||||
<rule pattern="(?=\()">
|
||||
<token type="Text"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="(@?[_a-zA-Z]\w*|\.)+">
|
||||
<token type="NameNamespace"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
53
lexers/csv.xml
Normal file
53
lexers/csv.xml
Normal file
@ -0,0 +1,53 @@
|
||||
<!--
|
||||
Lexer for RFC-4180 compliant CSV subject to the following additions:
|
||||
- UTF-8 encoding is accepted (the RFC requires 7-bit ASCII)
|
||||
- The line terminator character can be LF or CRLF (the RFC allows CRLF only)
|
||||
|
||||
Link to the RFC-4180 specification: https://tools.ietf.org/html/rfc4180
|
||||
|
||||
Additions inspired by:
|
||||
https://github.com/frictionlessdata/datapackage/issues/204#issuecomment-193242077
|
||||
|
||||
Future improvements:
|
||||
- Identify non-quoted numbers as LiteralNumber
|
||||
- Identify y as an error in "x"y. Currently it's identified as another string
|
||||
literal.
|
||||
-->
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>CSV</name>
|
||||
<alias>csv</alias>
|
||||
<filename>*.csv</filename>
|
||||
<mime_type>text/csv</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="\r?\n">
|
||||
<token type="Punctuation" />
|
||||
</rule>
|
||||
<rule pattern=",">
|
||||
<token type="Punctuation" />
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralStringDouble" />
|
||||
<push state="escaped" />
|
||||
</rule>
|
||||
<rule pattern="[^\r\n,]+">
|
||||
<token type="LiteralString" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="escaped">
|
||||
<rule pattern="""">
|
||||
<token type="LiteralStringEscape"/>
|
||||
</rule>
|
||||
<rule pattern=""">
|
||||
<token type="LiteralStringDouble" />
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[^"]+">
|
||||
<token type="LiteralStringDouble" />
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
@ -3,7 +3,6 @@
|
||||
<name>Groff</name>
|
||||
<alias>groff</alias>
|
||||
<alias>nroff</alias>
|
||||
<alias>roff</alias>
|
||||
<alias>man</alias>
|
||||
<filename>*.[1-9]</filename>
|
||||
<filename>*.1p</filename>
|
||||
|
@ -95,19 +95,22 @@
|
||||
<rule pattern="[:!#$%&*+.\\/<=>?@^|~-]+">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="\d+[eE][+-]?\d+">
|
||||
<rule pattern="\d+_*[eE][+-]?\d+">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="\d+\.\d+([eE][+-]?\d+)?">
|
||||
<rule pattern="\d+(_+[\d]+)*\.\d+(_+[\d]+)*([eE][+-]?\d+)?">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="0[oO][0-7]+">
|
||||
<rule pattern="0[oO](_*[0-7])+">
|
||||
<token type="LiteralNumberOct"/>
|
||||
</rule>
|
||||
<rule pattern="0[xX][\da-fA-F]+">
|
||||
<rule pattern="0[xX](_*[\da-fA-F])+">
|
||||
<token type="LiteralNumberHex"/>
|
||||
</rule>
|
||||
<rule pattern="\d+">
|
||||
<rule pattern="0[bB](_*[01])+">
|
||||
<token type="LiteralNumberBin"/>
|
||||
</rule>
|
||||
<rule pattern="\d+(_*[\d])*">
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</rule>
|
||||
<rule pattern="'">
|
||||
|
@ -3,6 +3,7 @@
|
||||
<name>JSON</name>
|
||||
<alias>json</alias>
|
||||
<filename>*.json</filename>
|
||||
<filename>*.jsonc</filename>
|
||||
<filename>*.avsc</filename>
|
||||
<mime_type>application/json</mime_type>
|
||||
<dot_all>true</dot_all>
|
||||
|
137
lexers/jsonnet.xml
Normal file
137
lexers/jsonnet.xml
Normal file
@ -0,0 +1,137 @@
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>Jsonnet</name>
|
||||
<alias>jsonnet</alias>
|
||||
<filename>*.jsonnet</filename>
|
||||
<filename>*.libsonnet</filename>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="_comments">
|
||||
<rule pattern="(//|#).*\n"><token type="CommentSingle"/></rule>
|
||||
<rule pattern="/\*\*([^/]|/(?!\*))*\*/"><token type="LiteralStringDoc"/></rule>
|
||||
<rule pattern="/\*([^/]|/(?!\*))*\*/"><token type="Comment"/></rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule><include state="_comments"/></rule>
|
||||
<rule pattern="@'.*'"><token type="LiteralString"/></rule>
|
||||
<rule pattern="@".*""><token type="LiteralString"/></rule>
|
||||
<rule pattern="'"><token type="LiteralString"/><push state="singlestring"/></rule>
|
||||
<rule pattern="""><token type="LiteralString"/><push state="doublestring"/></rule>
|
||||
<rule pattern="\|\|\|(.|\n)*\|\|\|"><token type="LiteralString"/></rule>
|
||||
<rule pattern="[+-]?[0-9]+(.[0-9])?"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="[!$~+\-&|^=<>*/%]"><token type="Operator"/></rule>
|
||||
<rule pattern="\{"><token type="Punctuation"/><push state="object"/></rule>
|
||||
<rule pattern="\["><token type="Punctuation"/><push state="array"/></rule>
|
||||
<rule pattern="local\b"><token type="Keyword"/><push state="local_name"/></rule>
|
||||
<rule pattern="assert\b"><token type="Keyword"/><push state="assert"/></rule>
|
||||
<rule pattern="(assert|else|error|false|for|if|import|importstr|in|null|tailstrict|then|self|super|true)\b"><token type="Keyword"/></rule>
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="function(?=\()"><token type="Keyword"/><push state="function_params"/></rule>
|
||||
<rule pattern="std\.[^\W\d]\w*(?=\()"><token type="NameBuiltin"/><push state="function_args"/></rule>
|
||||
<rule pattern="[^\W\d]\w*(?=\()"><token type="NameFunction"/><push state="function_args"/></rule>
|
||||
<rule pattern="[^\W\d]\w*"><token type="NameVariable"/></rule>
|
||||
<rule pattern="[\.()]"><token type="Punctuation"/></rule>
|
||||
</state>
|
||||
<state name="singlestring">
|
||||
<rule pattern="[^'\\]"><token type="LiteralString"/></rule>
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="'"><token type="LiteralString"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="doublestring">
|
||||
<rule pattern="[^"\\]"><token type="LiteralString"/></rule>
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="""><token type="LiteralString"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="array">
|
||||
<rule pattern=","><token type="Punctuation"/></rule>
|
||||
<rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="local_name">
|
||||
<rule pattern="[^\W\d]\w*(?=\()"><token type="NameFunction"/><push state="function_params"/></rule>
|
||||
<rule pattern="[^\W\d]\w*"><token type="NameVariable"/></rule>
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="(?==)"><token type="TextWhitespace"/><push state="#pop" state="local_value"/></rule>
|
||||
</state>
|
||||
<state name="local_value">
|
||||
<rule pattern="="><token type="Operator"/></rule>
|
||||
<rule pattern=";"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="assert">
|
||||
<rule pattern=":"><token type="Punctuation"/></rule>
|
||||
<rule pattern=";"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="function_params">
|
||||
<rule pattern="[^\W\d]\w*"><token type="NameVariable"/></rule>
|
||||
<rule pattern="\("><token type="Punctuation"/></rule>
|
||||
<rule pattern="\)"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern=","><token type="Punctuation"/></rule>
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="="><token type="Operator"/><push state="function_param_default"/></rule>
|
||||
</state>
|
||||
<state name="function_args">
|
||||
<rule pattern="\("><token type="Punctuation"/></rule>
|
||||
<rule pattern="\)"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern=","><token type="Punctuation"/></rule>
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="object">
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="local\b"><token type="Keyword"/><push state="object_local_name"/></rule>
|
||||
<rule pattern="assert\b"><token type="Keyword"/><push state="object_assert"/></rule>
|
||||
<rule pattern="\["><token type="Operator"/><push state="field_name_expr"/></rule>
|
||||
<rule pattern="(?=[^\W\d]\w*)"><token type="Text"/><push state="field_name"/></rule>
|
||||
<rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern="""><token type="NameVariable"/><push state="double_field_name"/></rule>
|
||||
<rule pattern="'"><token type="NameVariable"/><push state="single_field_name"/></rule>
|
||||
<rule><include state="_comments"/></rule>
|
||||
</state>
|
||||
<state name="field_name">
|
||||
<rule pattern="[^\W\d]\w*(?=\()"><token type="NameFunction"/><push state="field_separator" state="function_params"/></rule>
|
||||
<rule pattern="[^\W\d]\w*"><token type="NameVariable"/><push state="field_separator"/></rule>
|
||||
</state>
|
||||
<state name="double_field_name">
|
||||
<rule pattern="([^"\\]|\\.)*""><token type="NameVariable"/><push state="field_separator"/></rule>
|
||||
</state>
|
||||
<state name="single_field_name">
|
||||
<rule pattern="([^'\\]|\\.)*'"><token type="NameVariable"/><push state="field_separator"/></rule>
|
||||
</state>
|
||||
<state name="field_name_expr">
|
||||
<rule pattern="\]"><token type="Operator"/><push state="field_separator"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="function_param_default">
|
||||
<rule pattern="(?=[,\)])"><token type="TextWhitespace"/><pop depth="1"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="field_separator">
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="\+?::?:?"><token type="Punctuation"/><push state="#pop" state="#pop" state="field_value"/></rule>
|
||||
<rule><include state="_comments"/></rule>
|
||||
</state>
|
||||
<state name="field_value">
|
||||
<rule pattern=","><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern="\}"><token type="Punctuation"/><pop depth="2"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="object_assert">
|
||||
<rule pattern=":"><token type="Punctuation"/></rule>
|
||||
<rule pattern=","><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
<state name="object_local_name">
|
||||
<rule pattern="[^\W\d]\w*"><token type="NameVariable"/><push state="#pop" state="object_local_value"/></rule>
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
</state>
|
||||
<state name="object_local_value">
|
||||
<rule pattern="="><token type="Operator"/></rule>
|
||||
<rule pattern=","><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern="\}"><token type="Punctuation"/><pop depth="2"/></rule>
|
||||
<rule><include state="root"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
@ -45,7 +45,7 @@
|
||||
</emitters>
|
||||
</usingbygroup>
|
||||
</rule>
|
||||
<rule pattern="(ACCESS|ADD|ADDRESSES|AGGREGATE|ALIGNED|ALL|ALTER|ANALYSIS|AND|ANY|ARITY|ARN|ARRANGEMENT|ARRAY|AS|ASC|ASSERT|ASSUME|AT|AUCTION|AUTHORITY|AVAILABILITY|AVRO|AWS|BATCH|BEGIN|BETWEEN|BIGINT|BILLED|BODY|BOOLEAN|BOTH|BPCHAR|BROKEN|BROKER|BROKERS|BY|BYTES|CARDINALITY|CASCADE|CASE|CAST|CERTIFICATE|CHAIN|CHAINS|CHAR|CHARACTER|CHARACTERISTICS|CHECK|CLIENT|CLOSE|CLUSTER|CLUSTERS|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPACTION|COMPATIBILITY|COMPRESSION|COMPUTE|COMPUTECTL|CONFIG|CONFLUENT|CONNECTION|CONNECTIONS|CONSTRAINT|COPY|COUNT|COUNTER|CREATE|CREATECLUSTER|CREATEDB|CREATEROLE|CREATION|CROSS|CSV|CURRENT|CURSOR|DATABASE|DATABASES|DATUMS|DAY|DAYS|DEALLOCATE|DEBEZIUM|DEBUG|DEBUGGING|DEC|DECIMAL|DECLARE|DECODING|DECORRELATED|DEFAULT|DEFAULTS|DELETE|DELIMITED|DELIMITER|DELTA|DESC|DETAILS|DISCARD|DISK|DISTINCT|DOC|DOT|DOUBLE|DROP|EAGER|ELEMENT|ELSE|ENABLE|END|ENDPOINT|ENFORCED|ENVELOPE|ERROR|ERRORS|ESCAPE|ESTIMATE|EVERY|EXCEPT|EXECUTE|EXISTS|EXPECTED|EXPLAIN|EXPOSE|EXPRESSIONS|EXTERNAL|EXTRACT|FACTOR|FALSE|FAST|FEATURES|FETCH|FIELDS|FILE|FILTER|FIRST|FIXPOINT|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FORWARD|FROM|FULL|FULLNAME|FUNCTION|GENERATOR|GRANT|GREATEST|GROUP|GROUPS|HAVING|HEADER|HEADERS|HISTORY|HOLD|HOST|HOUR|HOURS|HUMANIZED|ID|IDENTIFIERS|IDS|IF|IGNORE|ILIKE|IMPLEMENTATIONS|IMPORTED|IN|INCLUDE|INDEX|INDEXES|INFO|INHERIT|INLINE|INNER|INPUT|INSERT|INSIGHTS|INSPECT|INT|INTEGER|INTERNAL|INTERSECT|INTERVAL|INTO|INTROSPECTION|IS|ISNULL|ISOLATION|JOIN|JOINS|JSON|KAFKA|KEY|KEYS|LAST|LATERAL|LATEST|LEADING|LEAST|LEFT|LEGACY|LETREC|LEVEL|LIKE|LIMIT|LINEAR|LIST|LOAD|LOCAL|LOCALLY|LOG|LOGICAL|LOGIN|LOWERING|MANAGED|MANUAL|MAP|MARKETING|MATERIALIZE|MATERIALIZED|MAX|MECHANISMS|MEMBERSHIP|MESSAGE|METADATA|MINUTE|MINUTES|MODE|MONTH|MONTHS|MUTUALLY|MYSQL|NAME|NAMES|NATURAL|NEGATIVE|NEW|NEXT|NO|NOCREATECLUSTER|NOCREATEDB|NOCREATEROLE|NODE|NOINHERIT|NOLOGIN|NON|NONE|NOSUPERUSER|NOT|NOTICE|NOTICES|NULL|NULLIF|NULLS|OBJECTS|OF|OFFSET|ON|ONLY|OPERATOR|OPTIMIZED|OPTIMIZER|OPTIONS|OR|ORDER|ORDINALITY|OUTER|OVER|OWNED|OWNER|PARTITION|PARTITIONS|PASSWORD|PATH|PHYSICAL|PLAN|PLANS|PORT|POSITION|POSTGRES|PRECEDING|PRECISION|PREFIX|PREPARE|PRIMARY|PRIVATELINK|PRIVILEGES|PROGRESS|PROTOBUF|PROTOCOL|PUBLICATION|PUSHDOWN|QUERY|QUOTE|RAISE|RANGE|RATE|RAW|READ|REAL|REASSIGN|RECURSION|RECURSIVE|REDACTED|REFERENCE|REFERENCES|REFRESH|REGEX|REGION|REGISTRY|REHYDRATION|RENAME|REOPTIMIZE|REPEATABLE|REPLACE|REPLAN|REPLICA|REPLICAS|REPLICATION|RESET|RESPECT|RESTRICT|RETAIN|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLES|ROLLBACK|ROTATE|ROUNDS|ROW|ROWS|SASL|SCALE|SCHEDULE|SCHEMA|SCHEMAS|SECOND|SECONDS|SECRET|SECRETS|SECURITY|SEED|SELECT|SEQUENCES|SERIALIZABLE|SERVICE|SESSION|SET|SHARD|SHOW|SINK|SINKS|SIZE|SMALLINT|SNAPSHOT|SOME|SOURCE|SOURCES|SSH|SSL|START|STDIN|STDOUT|STORAGE|STORAGECTL|STRATEGY|STRICT|STRING|STRONG|SUBSCRIBE|SUBSOURCE|SUBSOURCES|SUBSTRING|SUBTREE|SUPERUSER|SWAP|SYNTAX|SYSTEM|TABLE|TABLES|TAIL|TEMP|TEMPORARY|TEXT|THEN|TICK|TIES|TIME|TIMELINE|TIMEOUT|TIMESTAMP|TIMESTAMPTZ|TIMING|TO|TOKEN|TOPIC|TPCH|TRACE|TRAILING|TRANSACTION|TRANSACTIONAL|TRIM|TRUE|TUNNEL|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNION|UNIQUE|UNKNOWN|UP|UPDATE|UPSERT|URL|USAGE|USER|USERNAME|USERS|USING|VALIDATE|VALUE|VALUES|VARCHAR|VARIADIC|VARYING|VERSION|VIEW|VIEWS|WARNING|WEBHOOK|WHEN|WHERE|WINDOW|WIRE|WITH|WITHIN|WITHOUT|WORK|WORKERS|WRITE|YEAR|YEARS|ZONE|ZONES)\b">
|
||||
<rule pattern="(ACCESS|ADD|ADDRESSES|AGGREGATE|ALIGNED|ALL|ALTER|ANALYSIS|AND|ANY|ARITY|ARN|ARRANGEMENT|ARRAY|AS|ASC|ASSERT|ASSUME|AT|AUCTION|AUTHORITY|AVAILABILITY|AVRO|AWS|BATCH|BEGIN|BETWEEN|BIGINT|BILLED|BODY|BOOLEAN|BOTH|BPCHAR|BROKEN|BROKER|BROKERS|BY|BYTES|CARDINALITY|CASCADE|CASE|CAST|CERTIFICATE|CHAIN|CHAINS|CHAR|CHARACTER|CHARACTERISTICS|CHECK|CLASS|CLIENT|CLOCK|CLOSE|CLUSTER|CLUSTERS|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPACTION|COMPATIBILITY|COMPRESSION|COMPUTE|COMPUTECTL|CONFIG|CONFLUENT|CONNECTION|CONNECTIONS|CONSTRAINT|CONTINUAL|COPY|COUNT|COUNTER|CREATE|CREATECLUSTER|CREATEDB|CREATEROLE|CREATION|CROSS|CSV|CURRENT|CURSOR|DATABASE|DATABASES|DATUMS|DAY|DAYS|DEALLOCATE|DEBEZIUM|DEBUG|DEBUGGING|DEC|DECIMAL|DECLARE|DECODING|DECORRELATED|DEFAULT|DEFAULTS|DELETE|DELIMITED|DELIMITER|DELTA|DESC|DETAILS|DISCARD|DISK|DISTINCT|DOC|DOT|DOUBLE|DROP|EAGER|ELEMENT|ELSE|ENABLE|END|ENDPOINT|ENFORCED|ENVELOPE|ERROR|ERRORS|ESCAPE|ESTIMATE|EVERY|EXCEPT|EXCLUDE|EXECUTE|EXISTS|EXPECTED|EXPLAIN|EXPOSE|EXPRESSIONS|EXTERNAL|EXTRACT|FACTOR|FALSE|FAST|FEATURES|FETCH|FIELDS|FILE|FILTER|FIRST|FIXPOINT|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FORWARD|FROM|FULL|FULLNAME|FUNCTION|FUSION|GENERATOR|GRANT|GREATEST|GROUP|GROUPS|HAVING|HEADER|HEADERS|HISTORY|HOLD|HOST|HOUR|HOURS|HUMANIZED|HYDRATION|ID|IDENTIFIERS|IDS|IF|IGNORE|ILIKE|IMPLEMENTATIONS|IMPORTED|IN|INCLUDE|INDEX|INDEXES|INFO|INHERIT|INLINE|INNER|INPUT|INSERT|INSIGHTS|INSPECT|INT|INTEGER|INTERNAL|INTERSECT|INTERVAL|INTO|INTROSPECTION|IS|ISNULL|ISOLATION|JOIN|JOINS|JSON|KAFKA|KEY|KEYS|LAST|LATERAL|LATEST|LEADING|LEAST|LEFT|LEGACY|LETREC|LEVEL|LIKE|LIMIT|LINEAR|LIST|LOAD|LOCAL|LOCALLY|LOG|LOGICAL|LOGIN|LOWERING|MANAGED|MANUAL|MAP|MARKETING|MATERIALIZE|MATERIALIZED|MAX|MECHANISMS|MEMBERSHIP|MESSAGE|METADATA|MINUTE|MINUTES|MODE|MONTH|MONTHS|MUTUALLY|MYSQL|NAME|NAMES|NATURAL|NEGATIVE|NEW|NEXT|NO|NOCREATECLUSTER|NOCREATEDB|NOCREATEROLE|NODE|NOINHERIT|NOLOGIN|NON|NONE|NOSUPERUSER|NOT|NOTICE|NOTICES|NULL|NULLIF|NULLS|OBJECTS|OF|OFFSET|ON|ONLY|OPERATOR|OPTIMIZED|OPTIMIZER|OPTIONS|OR|ORDER|ORDINALITY|OUTER|OVER|OWNED|OWNER|PARTITION|PARTITIONS|PASSWORD|PATH|PHYSICAL|PLAN|PLANS|PORT|POSITION|POSTGRES|PRECEDING|PRECISION|PREFIX|PREPARE|PRIMARY|PRIVATELINK|PRIVILEGES|PROGRESS|PROTOBUF|PROTOCOL|PUBLIC|PUBLICATION|PUSHDOWN|QUERY|QUOTE|RAISE|RANGE|RATE|RAW|READ|READY|REAL|REASSIGN|RECURSION|RECURSIVE|REDACTED|REDUCE|REFERENCE|REFERENCES|REFRESH|REGEX|REGION|REGISTRY|RENAME|REOPTIMIZE|REPEATABLE|REPLACE|REPLAN|REPLICA|REPLICAS|REPLICATION|RESET|RESPECT|RESTRICT|RETAIN|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLES|ROLLBACK|ROTATE|ROUNDS|ROW|ROWS|SASL|SCALE|SCHEDULE|SCHEMA|SCHEMAS|SECOND|SECONDS|SECRET|SECRETS|SECURITY|SEED|SELECT|SEQUENCES|SERIALIZABLE|SERVICE|SESSION|SET|SHARD|SHOW|SINK|SINKS|SIZE|SMALLINT|SNAPSHOT|SOME|SOURCE|SOURCES|SSH|SSL|START|STDIN|STDOUT|STORAGE|STORAGECTL|STRATEGY|STRICT|STRING|STRONG|SUBSCRIBE|SUBSOURCE|SUBSOURCES|SUBSTRING|SUBTREE|SUPERUSER|SWAP|SYNTAX|SYSTEM|TABLE|TABLES|TAIL|TASK|TEMP|TEMPORARY|TEXT|THEN|TICK|TIES|TIME|TIMELINE|TIMEOUT|TIMESTAMP|TIMESTAMPTZ|TIMING|TO|TOKEN|TOPIC|TPCH|TRACE|TRAILING|TRANSACTION|TRANSACTIONAL|TRIM|TRUE|TUNNEL|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNION|UNIQUE|UNKNOWN|UNNEST|UNTIL|UP|UPDATE|UPSERT|URL|USAGE|USER|USERNAME|USERS|USING|VALIDATE|VALUE|VALUES|VARCHAR|VARIADIC|VARYING|VERSION|VIEW|VIEWS|WAIT|WARNING|WEBHOOK|WHEN|WHERE|WINDOW|WIRE|WITH|WITHIN|WITHOUT|WORK|WORKERS|WORKLOAD|WRITE|YEAR|YEARS|YUGABYTE|ZONE|ZONES)\b">
|
||||
<token type="Keyword" />
|
||||
</rule>
|
||||
<rule pattern="[+*/<>=~!@#%^&|`?-]+">
|
||||
|
@ -1,182 +1,137 @@
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>mcfunction</name>
|
||||
<name>MCFunction</name>
|
||||
<alias>mcfunction</alias>
|
||||
<alias>mcf</alias>
|
||||
<filename>*.mcfunction</filename>
|
||||
<dot_all>true</dot_all>
|
||||
<not_multiline>true</not_multiline>
|
||||
<mime_type>text/mcfunction</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="nbtobjectvalue">
|
||||
<rule pattern="("(\\\\|\\"|[^"])*"|[a-zA-Z0-9_]+)">
|
||||
<token type="NameTag"/>
|
||||
<push state="nbtobjectattribute"/>
|
||||
</rule>
|
||||
<rule pattern="\}">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="nbtarrayvalue">
|
||||
<rule>
|
||||
<include state="nbtvalue"/>
|
||||
</rule>
|
||||
<rule pattern=",">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="\]">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="nbtvalue">
|
||||
<rule>
|
||||
<include state="simplevalue"/>
|
||||
</rule>
|
||||
<rule pattern="\{">
|
||||
<token type="Punctuation"/>
|
||||
<push state="nbtobjectvalue"/>
|
||||
</rule>
|
||||
<rule pattern="\[">
|
||||
<token type="Punctuation"/>
|
||||
<push state="nbtarrayvalue"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="argumentvalue">
|
||||
<rule>
|
||||
<include state="simplevalue"/>
|
||||
</rule>
|
||||
<rule pattern=",">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[}\]]">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="2"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="argumentlist">
|
||||
<rule pattern="(nbt)(={)">
|
||||
<bygroups>
|
||||
<token type="NameAttribute"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
<push state="nbtobjectvalue"/>
|
||||
</rule>
|
||||
<rule pattern="([A-Za-z0-9/_!]+)(={)">
|
||||
<bygroups>
|
||||
<token type="NameAttribute"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
<push state="argumentlist"/>
|
||||
</rule>
|
||||
<rule pattern="([A-Za-z0-9/_!]+)(=)">
|
||||
<bygroups>
|
||||
<token type="NameAttribute"/>
|
||||
<token type="Punctuation"/>
|
||||
</bygroups>
|
||||
<push state="argumentvalue"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="simplevalue"/>
|
||||
</rule>
|
||||
<rule pattern=",">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern="[}\]]">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="root">
|
||||
<rule pattern="#.*?\n">
|
||||
<token type="CommentSingle"/>
|
||||
</rule>
|
||||
<rule pattern="/?(geteduclientinfo|clearspawnpoint|defaultgamemode|transferserver|toggledownfall|immutableworld|detectredstone|setidletimeout|playanimation|classroommode|spreadplayers|testforblocks|setmaxplayers|setworldspawn|testforblock|worldbuilder|createagent|worldborder|camerashake|advancement|raytracefog|locatebiome|tickingarea|replaceitem|attributes|spawnpoint|difficulty|experience|scoreboard|whitelist|structure|playsound|stopsound|forceload|spectate|gamerule|function|schedule|wsserver|teleport|position|save-off|particle|setblock|datapack|mobevent|transfer|gamemode|save-all|bossbar|enchant|trigger|collect|execute|weather|teammsg|tpagent|banlist|dropall|publish|tellraw|testfor|save-on|destroy|ability|locate|summon|remove|effect|reload|ban-ip|recipe|pardon|detect|music|clear|clone|event|mixer|debug|title|ride|stop|list|turn|data|team|kick|loot|tell|help|give|flog|fill|move|time|seed|kill|save|item|deop|code|tag|ban|msg|say|tp|me|op|xp|w|place)\b">
|
||||
<token type="KeywordReserved"/>
|
||||
</rule>
|
||||
<rule pattern="(@p|@r|@a|@e|@s|@c|@v)">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="\[">
|
||||
<token type="Punctuation"/>
|
||||
<push state="argumentlist"/>
|
||||
</rule>
|
||||
<rule pattern="{">
|
||||
<token type="Punctuation"/>
|
||||
<push state="nbtobjectvalue"/>
|
||||
</rule>
|
||||
<rule pattern="~">
|
||||
<token type="NameBuiltin"/>
|
||||
</rule>
|
||||
<rule pattern="([a-zA-Z_]+:)?[a-zA-Z_]+\b">
|
||||
<token type="Text"/>
|
||||
</rule>
|
||||
<rule pattern="([a-z]+)(\.)([0-9]+)\b">
|
||||
<bygroups>
|
||||
<token type="Text"/>
|
||||
<token type="Punctuation"/>
|
||||
<token type="LiteralNumber"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="([<>=]|<=|>=)">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="simplevalue"/>
|
||||
</rule>
|
||||
<rule pattern="\s+">
|
||||
<token type="TextWhitespace"/>
|
||||
</rule>
|
||||
<rule><include state="names"/></rule>
|
||||
<rule><include state="comments"/></rule>
|
||||
<rule><include state="literals"/></rule>
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule><include state="property"/></rule>
|
||||
<rule><include state="operators"/></rule>
|
||||
<rule><include state="selectors"/></rule>
|
||||
</state>
|
||||
<state name="simplevalue">
|
||||
<rule pattern="(true|false)">
|
||||
<token type="KeywordConstant"/>
|
||||
</rule>
|
||||
<rule pattern="[01]b">
|
||||
<token type="LiteralNumber"/>
|
||||
</rule>
|
||||
<rule pattern="-?(0|[1-9]\d*)(\.\d+[eE](\+|-)?\d+|[eE](\+|-)?\d+|\.\d+)">
|
||||
<token type="LiteralNumberFloat"/>
|
||||
</rule>
|
||||
<rule pattern="(-?\d+)(\.\.)(-?\d+)">
|
||||
<bygroups>
|
||||
<token type="LiteralNumberInteger"/>
|
||||
<token type="Punctuation"/>
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="-?(0|[1-9]\d*)">
|
||||
<token type="LiteralNumberInteger"/>
|
||||
</rule>
|
||||
<rule pattern=""(\\\\|\\"|[^"])*"">
|
||||
<token type="LiteralStringDouble"/>
|
||||
</rule>
|
||||
<rule pattern="'[^']+'">
|
||||
<token type="LiteralStringSingle"/>
|
||||
</rule>
|
||||
<rule pattern="([!#]?)(\w+)">
|
||||
<bygroups>
|
||||
<token type="Punctuation"/>
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<state name="names">
|
||||
<rule pattern="^(\s*)([a-z_]+)"><bygroups><token type="TextWhitespace"/><token type="NameBuiltin"/></bygroups></rule>
|
||||
<rule pattern="(?<=run)\s+[a-z_]+"><token type="NameBuiltin"/></rule>
|
||||
<rule pattern="\b[0-9a-fA-F]+(?:-[0-9a-fA-F]+){4}\b"><token type="NameVariable"/></rule>
|
||||
<rule><include state="resource-name"/></rule>
|
||||
<rule pattern="[A-Za-z_][\w.#%$]+"><token type="KeywordConstant"/></rule>
|
||||
<rule pattern="[#%$][\w.#%$]+"><token type="NameVariableMagic"/></rule>
|
||||
</state>
|
||||
<state name="nbtobjectattribute">
|
||||
<rule>
|
||||
<include state="nbtvalue"/>
|
||||
</rule>
|
||||
<rule pattern=":">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern=",">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="\}">
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="2"/>
|
||||
</rule>
|
||||
<state name="resource-name">
|
||||
<rule pattern="#?[a-z_][a-z_.-]*:[a-z0-9_./-]+"><token type="NameFunction"/></rule>
|
||||
<rule pattern="#?[a-z0-9_\.\-]+\/[a-z0-9_\.\-\/]+"><token type="NameFunction"/></rule>
|
||||
</state>
|
||||
<state name="whitespace">
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
</state>
|
||||
<state name="comments">
|
||||
<rule pattern="^\s*(#[>!])"><token type="CommentMultiline"/><push state="comments.block" state="comments.block.emphasized"/></rule>
|
||||
<rule pattern="#.*$"><token type="CommentSingle"/></rule>
|
||||
</state>
|
||||
<state name="comments.block">
|
||||
<rule pattern="^\s*#[>!]"><token type="CommentMultiline"/><push state="comments.block.emphasized"/></rule>
|
||||
<rule pattern="^\s*#"><token type="CommentMultiline"/><push state="comments.block.normal"/></rule>
|
||||
<rule><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="comments.block.normal">
|
||||
<rule><include state="comments.block.special"/></rule>
|
||||
<rule pattern="\S+"><token type="CommentMultiline"/></rule>
|
||||
<rule pattern="\n"><token type="Text"/><pop depth="1"/></rule>
|
||||
<rule><include state="whitespace"/></rule>
|
||||
</state>
|
||||
<state name="comments.block.emphasized">
|
||||
<rule><include state="comments.block.special"/></rule>
|
||||
<rule pattern="\S+"><token type="LiteralStringDoc"/></rule>
|
||||
<rule pattern="\n"><token type="Text"/><pop depth="1"/></rule>
|
||||
<rule><include state="whitespace"/></rule>
|
||||
</state>
|
||||
<state name="comments.block.special">
|
||||
<rule pattern="@\S+"><token type="NameDecorator"/></rule>
|
||||
<rule><include state="resource-name"/></rule>
|
||||
<rule pattern="[#%$][\w.#%$]+"><token type="NameVariableMagic"/></rule>
|
||||
</state>
|
||||
<state name="operators">
|
||||
<rule pattern="[\-~%^?!+*<>\\/|&=.]"><token type="Operator"/></rule>
|
||||
</state>
|
||||
<state name="literals">
|
||||
<rule pattern="\.\."><token type="Literal"/></rule>
|
||||
<rule pattern="(true|false)"><token type="KeywordPseudo"/></rule>
|
||||
<rule pattern="[A-Za-z_]+"><token type="NameVariableClass"/></rule>
|
||||
<rule pattern="[0-7]b"><token type="LiteralNumberByte"/></rule>
|
||||
<rule pattern="[+-]?\d*\.?\d+([eE]?[+-]?\d+)?[df]?\b"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="[+-]?\d+\b"><token type="LiteralNumberInteger"/></rule>
|
||||
<rule pattern="""><token type="LiteralStringDouble"/><push state="literals.string-double"/></rule>
|
||||
<rule pattern="'"><token type="LiteralStringSingle"/><push state="literals.string-single"/></rule>
|
||||
</state>
|
||||
<state name="literals.string-double">
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="[^\\"\n]+"><token type="LiteralStringDouble"/></rule>
|
||||
<rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="literals.string-single">
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="[^\\'\n]+"><token type="LiteralStringSingle"/></rule>
|
||||
<rule pattern="'"><token type="LiteralStringSingle"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="selectors">
|
||||
<rule pattern="@[a-z]"><token type="NameVariable"/></rule>
|
||||
</state>
|
||||
<state name="property">
|
||||
<rule pattern="\{"><token type="Punctuation"/><push state="property.curly" state="property.key"/></rule>
|
||||
<rule pattern="\["><token type="Punctuation"/><push state="property.square" state="property.key"/></rule>
|
||||
</state>
|
||||
<state name="property.curly">
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule><include state="property"/></rule>
|
||||
<rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="property.square">
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule><include state="property"/></rule>
|
||||
<rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern=","><token type="Punctuation"/></rule>
|
||||
</state>
|
||||
<state name="property.key">
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule pattern="#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+(?=\s*\=)"><token type="NameAttribute"/><push state="property.delimiter"/></rule>
|
||||
<rule pattern="#?[a-z_][a-z0-9_\.\-/]+"><token type="NameAttribute"/><push state="property.delimiter"/></rule>
|
||||
<rule pattern="[A-Za-z_\-\+]+"><token type="NameAttribute"/><push state="property.delimiter"/></rule>
|
||||
<rule pattern="""><token type="NameAttribute"/><push state="property.delimiter"/></rule>
|
||||
<rule pattern="'"><token type="NameAttribute"/><push state="property.delimiter"/></rule>
|
||||
<rule pattern="-?\d+"><token type="LiteralNumberInteger"/><push state="property.delimiter"/></rule>
|
||||
<rule><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="property.key.string-double">
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="[^\\"\n]+"><token type="NameAttribute"/></rule>
|
||||
<rule pattern="""><token type="NameAttribute"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="property.key.string-single">
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="[^\\'\n]+"><token type="NameAttribute"/></rule>
|
||||
<rule pattern="'"><token type="NameAttribute"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="property.delimiter">
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule pattern="[:=]!?"><token type="Punctuation"/><push state="property.value"/></rule>
|
||||
<rule pattern=","><token type="Punctuation"/></rule>
|
||||
<rule><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="property.value">
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule pattern="#?[a-z_][a-z_\.\-]*\:[a-z0-9_\.\-/]+"><token type="NameTag"/></rule>
|
||||
<rule pattern="#?[a-z_][a-z0-9_\.\-/]+"><token type="NameTag"/></rule>
|
||||
<rule><include state="literals"/></rule>
|
||||
<rule><include state="property"/></rule>
|
||||
<rule><pop depth="1"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
||||
|
@ -106,7 +106,7 @@
|
||||
</bygroups>
|
||||
<push state="interpol"/>
|
||||
</rule>
|
||||
<rule pattern="(&&|>=|<=|\+\+|->|!=|\|\||//|==|@|!|\+|\?|<|\.|>|\*)">
|
||||
<rule pattern="(&&|>=|<=|\+\+|->|!=|=|\|\||//|==|@|!|\+|\?|<|\.|>|\*)">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
<rule pattern="[;:]">
|
||||
|
59
lexers/nsis.xml
Normal file
59
lexers/nsis.xml
Normal file
@ -0,0 +1,59 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>NSIS</name>
|
||||
<alias>nsis</alias>
|
||||
<alias>nsi</alias>
|
||||
<alias>nsh</alias>
|
||||
<filename>*.nsi</filename>
|
||||
<filename>*.nsh</filename>
|
||||
<mime_type>text/x-nsis</mime_type>
|
||||
<case_insensitive>true</case_insensitive>
|
||||
<not_multiline>true</not_multiline>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="([;#].*)(\n)"><bygroups><token type="Comment"/><token type="TextWhitespace"/></bygroups></rule>
|
||||
<rule pattern="'.*?'"><token type="LiteralStringSingle"/></rule>
|
||||
<rule pattern="""><token type="LiteralStringDouble"/><push state="str_double"/></rule>
|
||||
<rule pattern="`"><token type="LiteralStringBacktick"/><push state="str_backtick"/></rule>
|
||||
<rule><include state="macro"/></rule>
|
||||
<rule><include state="interpol"/></rule>
|
||||
<rule><include state="basic"/></rule>
|
||||
<rule pattern="\$\{[a-z_|][\w|]*\}"><token type="KeywordPseudo"/></rule>
|
||||
<rule pattern="/[a-z_]\w*"><token type="NameAttribute"/></rule>
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="[\w.]+"><token type="Text"/></rule>
|
||||
</state>
|
||||
<state name="basic">
|
||||
<rule pattern="(\n)(Function)(\s+)([._a-z][.\w]*)\b"><bygroups><token type="TextWhitespace"/><token type="Keyword"/><token type="TextWhitespace"/><token type="NameFunction"/></bygroups></rule>
|
||||
<rule pattern="\b([_a-z]\w*)(::)([a-z][a-z0-9]*)\b"><bygroups><token type="KeywordNamespace"/><token type="Punctuation"/><token type="NameFunction"/></bygroups></rule>
|
||||
<rule pattern="\b([_a-z]\w*)(:)"><bygroups><token type="NameLabel"/><token type="Punctuation"/></bygroups></rule>
|
||||
<rule pattern="(\b[ULS]|\B)([!<>=]?=|\<\>?|\>)\B"><token type="Operator"/></rule>
|
||||
<rule pattern="[|+-]"><token type="Operator"/></rule>
|
||||
<rule pattern="\\"><token type="Punctuation"/></rule>
|
||||
<rule pattern="\b(Abort|Add(?:BrandingImage|Size)|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient)|BrandingText|BringToFront|Call(?:InstDLL)?|(?:Sub)?Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|CRCCheck|Create(?:Directory|Font|Shortcut)|Delete(?:INI(?:Sec|Str)|Reg(?:Key|Value))?|DetailPrint|DetailsButtonText|Dir(?:Show|Text|Var|Verify)|(?:Disabled|Enabled)Bitmap|EnableWindow|EnumReg(?:Key|Value)|Exch|Exec(?:Shell|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read(?:Byte)?|Seek|Write(?:Byte)?)?|Find(?:Close|First|Next|Window)|FlushINI|Function(?:End)?|Get(?:CurInstType|CurrentAddress|DlgItem|DLLVersion(?:Local)?|ErrorLevel|FileTime(?:Local)?|FullPathName|FunctionAddress|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Inst(?:ProgressFlags|Type(?:[GS]etText)?)|Int(?:CmpU?|Fmt|Op)|IsWindow|LangString(?:UP)?|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|MessageBox|MiscButtonText|Name|Nop|OutFile|(?:Uninst)?Page(?:Ex(?:End)?)?|PluginDir|Pop|Push|Quit|Read(?:(?:Env|INI|Reg)Str|RegDWORD)|Reboot|(?:Un)?RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|RMDir|SearchPath|Section(?:Divider|End|(?:(?:Get|Set)(?:Flags|InstTypes|Size|Text))|Group(?:End)?|In)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress(?:ionLevel|or(?:DictSize)?)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|Error(?:s|Level)|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|ShellVarContext|Silent|StaticBkColor)|Show(?:(?:I|Uni)nstDetails|Window)|Silent(?:Un)?Install|Sleep|SpaceTexts|Str(?:CmpS?|Cpy|Len)|SubSection(?:End)?|Uninstall(?:ButtonText|(?:Sub)?Caption|EXEName|Icon|Text)|UninstPage|Var|VI(?:AddVersionKey|ProductVersion)|WindowIcon|Write(?:INIStr|Reg(:?Bin|DWORD|(?:Expand)?Str)|Uninstaller)|XPStyle)\b"><token type="Keyword"/></rule>
|
||||
<rule pattern="\b(CUR|END|(?:FILE_ATTRIBUTE_)?(?:ARCHIVE|HIDDEN|NORMAL|OFFLINE|READONLY|SYSTEM|TEMPORARY)|HK(CC|CR|CU|DD|LM|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_(?:CONFIG|USER)|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON[1-4]|ICON(?:EXCLAMATION|INFORMATION|QUESTION|STOP)|OK(?:CANCEL)?|RETRYCANCEL|RIGHT|SETFOREGROUND|TOPMOST|USERICON|YESNO(?:CANCEL)?)|SET|SHCTX|SW_(?:HIDE|SHOW(?:MAXIMIZED|MINIMIZED|NORMAL))|admin|all|auto|both|bottom|bzip2|checkbox|colored|current|false|force|hide|highest|if(?:diff|newer)|lastused|leave|left|listonly|lzma|nevershow|none|normal|off|on|pop|push|radiobuttons|right|show|silent|silentlog|smooth|textonly|top|true|try|user|zlib)\b"><token type="NameConstant"/></rule>
|
||||
</state>
|
||||
<state name="macro">
|
||||
<rule pattern="\!(addincludedir(?:dir)?|addplugindir|appendfile|cd|define|delfilefile|echo(?:message)?|else|endif|error|execute|if(?:macro)?n?(?:def)?|include|insertmacro|macro(?:end)?|packhdr|search(?:parse|replace)|system|tempfilesymbol|undef|verbose|warning)\b"><token type="CommentPreproc"/></rule>
|
||||
</state>
|
||||
<state name="interpol">
|
||||
<rule pattern="\$(R?[0-9])"><token type="NameBuiltinPseudo"/></rule>
|
||||
<rule pattern="\$(ADMINTOOLS|APPDATA|CDBURN_AREA|COOKIES|COMMONFILES(?:32|64)|DESKTOP|DOCUMENTS|EXE(?:DIR|FILE|PATH)|FAVORITES|FONTS|HISTORY|HWNDPARENT|INTERNET_CACHE|LOCALAPPDATA|MUSIC|NETHOOD|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES(?:32|64)|QUICKLAUNCH|RECENT|RESOURCES(?:_LOCALIZED)?|SENDTO|SM(?:PROGRAMS|STARTUP)|STARTMENU|SYSDIR|TEMP(?:LATES)?|VIDEOS|WINDIR|\{NSISDIR\})"><token type="NameBuiltin"/></rule>
|
||||
<rule pattern="\$(CMDLINE|INSTDIR|OUTDIR|LANGUAGE)"><token type="NameVariableGlobal"/></rule>
|
||||
<rule pattern="\$[a-z_]\w*"><token type="NameVariable"/></rule>
|
||||
</state>
|
||||
<state name="str_double">
|
||||
<rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule>
|
||||
<rule pattern="\$(\\[nrt"]|\$)"><token type="LiteralStringEscape"/></rule>
|
||||
<rule><include state="interpol"/></rule>
|
||||
<rule pattern="[^"]+"><token type="LiteralStringDouble"/></rule>
|
||||
</state>
|
||||
<state name="str_backtick">
|
||||
<rule pattern="`"><token type="LiteralStringDouble"/><pop depth="1"/></rule>
|
||||
<rule pattern="\$(\\[nrt"]|\$)"><token type="LiteralStringEscape"/></rule>
|
||||
<rule><include state="interpol"/></rule>
|
||||
<rule pattern="[^`]+"><token type="LiteralStringDouble"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
@ -41,6 +41,14 @@
|
||||
<rule pattern="\b(as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|false|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|private|raise|rec|sig|struct|then|to|true|try|type|value|val|virtual|when|while|with)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="({([a-z_]*)\|)([\s\S]+?)(?=\|\2})(\|\2})">
|
||||
<bygroups>
|
||||
<token type="LiteralStringAffix"/>
|
||||
<token type="Ignore"/>
|
||||
<token type="LiteralString"/>
|
||||
<token type="LiteralStringAffix"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(~|\}|\|]|\||\{<|\{|`|_|]|\[\||\[>|\[<|\[|\?\?|\?|>\}|>]|>|=|<-|<|;;|;|:>|:=|::|:|\.\.|\.|->|-\.|-|,|\+|\*|\)|\(|&&|&|#|!=)">
|
||||
<token type="Operator"/>
|
||||
</rule>
|
||||
|
@ -51,6 +51,20 @@
|
||||
<rule pattern = "\#[a-zA-Z_]+\b">
|
||||
<token type = "NameDecorator"/>
|
||||
</rule>
|
||||
<rule pattern = "^\#\+\w+\s*$">
|
||||
<token type = "NameAttribute"/>
|
||||
</rule>
|
||||
<rule pattern = "^(\#\+\w+)(\s+)(\!)?([A-Za-z0-9-_!]+)(?:(,)(\!)?([A-Za-z0-9-_!]+))*\s*$">
|
||||
<bygroups>
|
||||
<token type = "NameAttribute"/>
|
||||
<token type = "TextWhitespace"/>
|
||||
<token type = "Operator"/>
|
||||
<token type = "Name"/>
|
||||
<token type = "Punctuation"/>
|
||||
<token type = "Operator"/>
|
||||
<token type = "Name"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern = "\@(\([a-zA-Z_]+\b\s*.*\)|\(?[a-zA-Z_]+\)?)">
|
||||
<token type = "NameAttribute"/>
|
||||
</rule>
|
||||
|
57
lexers/snbt.xml
Normal file
57
lexers/snbt.xml
Normal file
@ -0,0 +1,57 @@
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>SNBT</name>
|
||||
<alias>snbt</alias>
|
||||
<filename>*.snbt</filename>
|
||||
<mime_type>text/snbt</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule pattern="\{"><token type="Punctuation"/><push state="compound"/></rule>
|
||||
<rule pattern="[^\{]+"><token type="Text"/></rule>
|
||||
</state>
|
||||
<state name="whitespace">
|
||||
<rule pattern="\s+"><token type="TextWhitespace"/></rule>
|
||||
</state>
|
||||
<state name="operators">
|
||||
<rule pattern="[,:;]"><token type="Punctuation"/></rule>
|
||||
</state>
|
||||
<state name="literals">
|
||||
<rule pattern="(true|false)"><token type="KeywordConstant"/></rule>
|
||||
<rule pattern="-?\d+[eE]-?\d+"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="-?\d*\.\d+[fFdD]?"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="-?\d+[bBsSlLfFdD]?"><token type="LiteralNumberInteger"/></rule>
|
||||
<rule pattern="""><token type="LiteralStringDouble"/><push state="literals.string_double"/></rule>
|
||||
<rule pattern="'"><token type="LiteralStringSingle"/><push state="literals.string_single"/></rule>
|
||||
</state>
|
||||
<state name="literals.string_double">
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="[^\\"\n]+"><token type="LiteralStringDouble"/></rule>
|
||||
<rule pattern="""><token type="LiteralStringDouble"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="literals.string_single">
|
||||
<rule pattern="\\."><token type="LiteralStringEscape"/></rule>
|
||||
<rule pattern="[^\\'\n]+"><token type="LiteralStringSingle"/></rule>
|
||||
<rule pattern="'"><token type="LiteralStringSingle"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="compound">
|
||||
<rule pattern="[A-Z_a-z]+"><token type="NameAttribute"/></rule>
|
||||
<rule><include state="operators"/></rule>
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule><include state="literals"/></rule>
|
||||
<rule pattern="\{"><token type="Punctuation"/><push/></rule>
|
||||
<rule pattern="\["><token type="Punctuation"/><push state="list"/></rule>
|
||||
<rule pattern="\}"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
<state name="list">
|
||||
<rule pattern="[A-Z_a-z]+"><token type="NameAttribute"/></rule>
|
||||
<rule><include state="literals"/></rule>
|
||||
<rule><include state="operators"/></rule>
|
||||
<rule><include state="whitespace"/></rule>
|
||||
<rule pattern="\["><token type="Punctuation"/><push/></rule>
|
||||
<rule pattern="\{"><token type="Punctuation"/><push state="compound"/></rule>
|
||||
<rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
@ -157,8 +157,20 @@
|
||||
<rule pattern="(continue|returns|storage|memory|delete|return|throw|break|catch|while|else|from|new|try|for|if|is|as|do|in|_)\b">
|
||||
<token type="Keyword"/>
|
||||
</rule>
|
||||
<rule pattern="assembly\b">
|
||||
<token type="Keyword"/>
|
||||
<rule pattern="(assembly)(\s+\()(.+)(\)\s+{)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
<token type="LiteralString"/>
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
<push state="assembly"/>
|
||||
</rule>
|
||||
<rule pattern="(assembly)(\s+{)">
|
||||
<bygroups>
|
||||
<token type="Keyword"/>
|
||||
<token type="Text"/>
|
||||
</bygroups>
|
||||
<push state="assembly"/>
|
||||
</rule>
|
||||
<rule pattern="(contract|interface|enum|event|struct)(\s+)([a-zA-Z_]\w*)">
|
||||
@ -235,7 +247,7 @@
|
||||
<token type="Punctuation"/>
|
||||
<pop depth="1"/>
|
||||
</rule>
|
||||
<rule pattern="[(),]">
|
||||
<rule pattern="[(),.]">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern=":=|=:">
|
||||
|
@ -51,6 +51,22 @@
|
||||
</rule>
|
||||
</state>
|
||||
<state name="tag">
|
||||
<rule>
|
||||
<include state="jsx"/>
|
||||
</rule>
|
||||
<rule pattern=",">
|
||||
<token type="Punctuation"/>
|
||||
</rule>
|
||||
<rule pattern=""(\\\\|\\"|[^"])*"">
|
||||
<token type="LiteralStringDouble"/>
|
||||
</rule>
|
||||
<rule pattern="'(\\\\|\\'|[^'])*'">
|
||||
<token type="LiteralStringSingle"/>
|
||||
</rule>
|
||||
<rule pattern="`">
|
||||
<token type="LiteralStringBacktick"/>
|
||||
<push state="interp"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="commentsandwhitespace"/>
|
||||
</rule>
|
||||
@ -171,7 +187,7 @@
|
||||
</rule>
|
||||
<rule pattern="(?=/)">
|
||||
<token type="Text"/>
|
||||
<push state="#pop" state="badregex"/>
|
||||
<push state="badregex"/>
|
||||
</rule>
|
||||
<rule>
|
||||
<pop depth="1"/>
|
||||
|
107
lexers/typst.xml
Normal file
107
lexers/typst.xml
Normal file
@ -0,0 +1,107 @@
|
||||
|
||||
<lexer>
|
||||
<config>
|
||||
<name>Typst</name>
|
||||
<alias>typst</alias>
|
||||
<filename>*.typ</filename>
|
||||
<mime_type>text/x-typst</mime_type>
|
||||
</config>
|
||||
<rules>
|
||||
<state name="root">
|
||||
<rule><include state="markup"/></rule>
|
||||
</state>
|
||||
<state name="into_code">
|
||||
<rule pattern="(\#let|\#set|\#show)\b"><token type="KeywordDeclaration"/><push state="inline_code"/></rule>
|
||||
<rule pattern="(\#import|\#include)\b"><token type="KeywordNamespace"/><push state="inline_code"/></rule>
|
||||
<rule pattern="(\#if|\#for|\#while|\#export)\b"><token type="KeywordReserved"/><push state="inline_code"/></rule>
|
||||
<rule pattern="#\{"><token type="Punctuation"/><push state="code"/></rule>
|
||||
<rule pattern="#\("><token type="Punctuation"/><push state="code"/></rule>
|
||||
<rule pattern="(#[a-zA-Z_][a-zA-Z0-9_-]*)(\[)"><bygroups><token type="NameFunction"/><token type="Punctuation"/></bygroups><push state="markup"/></rule>
|
||||
<rule pattern="(#[a-zA-Z_][a-zA-Z0-9_-]*)(\()"><bygroups><token type="NameFunction"/><token type="Punctuation"/></bygroups><push state="code"/></rule>
|
||||
<rule pattern="(\#true|\#false|\#none|\#auto)\b"><token type="KeywordConstant"/></rule>
|
||||
<rule pattern="#[a-zA-Z_][a-zA-Z0-9_]*"><token type="NameVariable"/></rule>
|
||||
<rule pattern="#0x[0-9a-fA-F]+"><token type="LiteralNumberHex"/></rule>
|
||||
<rule pattern="#0b[01]+"><token type="LiteralNumberBin"/></rule>
|
||||
<rule pattern="#0o[0-7]+"><token type="LiteralNumberOct"/></rule>
|
||||
<rule pattern="#[0-9]+[\.e][0-9]+"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="#[0-9]+"><token type="LiteralNumberInteger"/></rule>
|
||||
</state>
|
||||
<state name="markup">
|
||||
<rule><include state="comment"/></rule>
|
||||
<rule pattern="^\s*=+.*$"><token type="GenericHeading"/></rule>
|
||||
<rule pattern="[*][^*]*[*]"><token type="GenericStrong"/></rule>
|
||||
<rule pattern="_[^_]*_"><token type="GenericEmph"/></rule>
|
||||
<rule pattern="\$"><token type="Punctuation"/><push state="math"/></rule>
|
||||
<rule pattern="`[^`]*`"><token type="LiteralStringBacktick"/></rule>
|
||||
<rule pattern="^(\s*)(-)(\s+)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/><token type="TextWhitespace"/></bygroups></rule>
|
||||
<rule pattern="^(\s*)(\+)(\s+)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/><token type="TextWhitespace"/></bygroups></rule>
|
||||
<rule pattern="^(\s*)([0-9]+\.)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/></bygroups></rule>
|
||||
<rule pattern="^(\s*)(/)(\s+)([^:]+)(:)"><bygroups><token type="TextWhitespace"/><token type="Punctuation"/><token type="TextWhitespace"/><token type="NameVariable"/><token type="Punctuation"/></bygroups></rule>
|
||||
<rule pattern="<[a-zA-Z_][a-zA-Z0-9_-]*>"><token type="NameLabel"/></rule>
|
||||
<rule pattern="@[a-zA-Z_][a-zA-Z0-9_-]*"><token type="NameLabel"/></rule>
|
||||
<rule pattern="\\#"><token type="Text"/></rule>
|
||||
<rule><include state="into_code"/></rule>
|
||||
<rule pattern="```(?:.|\n)*?```"><token type="LiteralStringBacktick"/></rule>
|
||||
<rule pattern="https?://[0-9a-zA-Z~/%#&=\',;.+?]*"><token type="GenericEmph"/></rule>
|
||||
<rule pattern="(\-\-\-|\\|\~|\-\-|\.\.\.)\B"><token type="Punctuation"/></rule>
|
||||
<rule pattern="\\\["><token type="Punctuation"/></rule>
|
||||
<rule pattern="\\\]"><token type="Punctuation"/></rule>
|
||||
<rule pattern="\["><token type="Punctuation"/><push/></rule>
|
||||
<rule pattern="\]"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern="[ \t]+\n?|\n"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern="((?![*_$`<@\\#\] ]|https?://).)+"><token type="Text"/></rule>
|
||||
</state>
|
||||
<state name="math">
|
||||
<rule><include state="comment"/></rule>
|
||||
<rule pattern="(\\_|\\\^|\\\&)"><token type="Text"/></rule>
|
||||
<rule pattern="(_|\^|\&|;)"><token type="Punctuation"/></rule>
|
||||
<rule pattern="(\+|/|=|\[\||\|\]|\|\||\*|:=|::=|\.\.\.|'|\-|=:|!=|>>|>=|>>>|<<|<=|<<<|\->|\|\->|=>|\|=>|==>|\-\->|\~\~>|\~>|>\->|\->>|<\-|<==|<\-\-|<\~\~|<\~|<\-<|<<\-|<\->|<=>|<==>|<\-\->|>|<|\~|:|\|)"><token type="Operator"/></rule>
|
||||
<rule pattern="\\"><token type="Punctuation"/></rule>
|
||||
<rule pattern="\\\$"><token type="Punctuation"/></rule>
|
||||
<rule pattern="\$"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule><include state="into_code"/></rule>
|
||||
<rule pattern="([a-zA-Z][a-zA-Z0-9-]*)(\s*)(\()"><bygroups><token type="NameFunction"/><token type="TextWhitespace"/><token type="Punctuation"/></bygroups></rule>
|
||||
<rule pattern="([a-zA-Z][a-zA-Z0-9-]*)(:)"><bygroups><token type="NameVariable"/><token type="Punctuation"/></bygroups></rule>
|
||||
<rule pattern="([a-zA-Z][a-zA-Z0-9-]*)"><token type="NameVariable"/></rule>
|
||||
<rule pattern="[0-9]+(\.[0-9]+)?"><token type="LiteralNumber"/></rule>
|
||||
<rule pattern="\.{1,3}|\(|\)|,|\{|\}"><token type="Punctuation"/></rule>
|
||||
<rule pattern=""[^"]*""><token type="LiteralStringDouble"/></rule>
|
||||
<rule pattern="[ \t\n]+"><token type="TextWhitespace"/></rule>
|
||||
</state>
|
||||
<state name="comment">
|
||||
<rule pattern="//.*$"><token type="CommentSingle"/></rule>
|
||||
<rule pattern="/[*](.|\n)*?[*]/"><token type="CommentMultiline"/></rule>
|
||||
</state>
|
||||
<state name="code">
|
||||
<rule><include state="comment"/></rule>
|
||||
<rule pattern="\["><token type="Punctuation"/><push state="markup"/></rule>
|
||||
<rule pattern="\(|\{"><token type="Punctuation"/><push state="code"/></rule>
|
||||
<rule pattern="\)|\}"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern=""[^"]*""><token type="LiteralStringDouble"/></rule>
|
||||
<rule pattern=",|\.{1,2}"><token type="Punctuation"/></rule>
|
||||
<rule pattern="="><token type="Operator"/></rule>
|
||||
<rule pattern="(and|or|not)\b"><token type="OperatorWord"/></rule>
|
||||
<rule pattern="=>|<=|==|!=|>|<|-=|\+=|\*=|/=|\+|-|\\|\*"><token type="Operator"/></rule>
|
||||
<rule pattern="([a-zA-Z_][a-zA-Z0-9_-]*)(:)"><bygroups><token type="NameVariable"/><token type="Punctuation"/></bygroups></rule>
|
||||
<rule pattern="([a-zA-Z_][a-zA-Z0-9_-]*)(\()"><bygroups><token type="NameFunction"/><token type="Punctuation"/></bygroups><push state="code"/></rule>
|
||||
<rule pattern="(as|break|export|continue|else|for|if|in|return|while)\b"><token type="KeywordReserved"/></rule>
|
||||
<rule pattern="(import|include)\b"><token type="KeywordNamespace"/></rule>
|
||||
<rule pattern="(auto|none|true|false)\b"><token type="KeywordConstant"/></rule>
|
||||
<rule pattern="([0-9.]+)(mm|pt|cm|in|em|fr|%)"><bygroups><token type="LiteralNumber"/><token type="KeywordReserved"/></bygroups></rule>
|
||||
<rule pattern="0x[0-9a-fA-F]+"><token type="LiteralNumberHex"/></rule>
|
||||
<rule pattern="0b[01]+"><token type="LiteralNumberBin"/></rule>
|
||||
<rule pattern="0o[0-7]+"><token type="LiteralNumberOct"/></rule>
|
||||
<rule pattern="[0-9]+[\.e][0-9]+"><token type="LiteralNumberFloat"/></rule>
|
||||
<rule pattern="[0-9]+"><token type="LiteralNumberInteger"/></rule>
|
||||
<rule pattern="(let|set|show)\b"><token type="KeywordDeclaration"/></rule>
|
||||
<rule pattern="([a-zA-Z_][a-zA-Z0-9_-]*)"><token type="NameVariable"/></rule>
|
||||
<rule pattern="[ \t\n]+"><token type="TextWhitespace"/></rule>
|
||||
<rule pattern=":"><token type="Punctuation"/></rule>
|
||||
</state>
|
||||
<state name="inline_code">
|
||||
<rule pattern=";\b"><token type="Punctuation"/><pop depth="1"/></rule>
|
||||
<rule pattern="\n"><token type="TextWhitespace"/><pop depth="1"/></rule>
|
||||
<rule><include state="code"/></rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
283
lexers/webvtt.xml
Normal file
283
lexers/webvtt.xml
Normal file
@ -0,0 +1,283 @@
|
||||
<lexer>
|
||||
<config>
|
||||
<name>WebVTT</name>
|
||||
<alias>vtt</alias>
|
||||
<filename>*.vtt</filename>
|
||||
<mime_type>text/vtt</mime_type>
|
||||
</config>
|
||||
<!--
|
||||
The WebVTT spec refers to a WebVTT line terminator as either CRLF, CR or LF.
|
||||
(https://www.w3.org/TR/webvtt1/#webvtt-line-terminator) However, with this
|
||||
definition it is unclear whether CRLF is one line terminator (CRLF) or two
|
||||
line terminators (CR and LF).
|
||||
|
||||
To work around this ambiguity, only CRLF and LF are considered as line terminators.
|
||||
To my knowledge only classic Mac OS uses CR as line terminators, so the lexer should
|
||||
still work for most files.
|
||||
-->
|
||||
<rules>
|
||||
<!-- https://www.w3.org/TR/webvtt1/#webvtt-file-body -->
|
||||
<state name="root">
|
||||
<rule pattern="(\AWEBVTT)((?:[ \t][^\r\n]*)?(?:\r?\n){2,})">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Text" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(^REGION)([ \t]*$)">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Text" />
|
||||
</bygroups>
|
||||
<push state="region-settings-list" />
|
||||
</rule>
|
||||
<rule
|
||||
pattern="(^STYLE)([ \t]*$)((?:(?!-->)[\s\S])*?)((?:\r?\n){2})">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Text" />
|
||||
<using lexer="CSS" />
|
||||
<token type="Text" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="comment" />
|
||||
</rule>
|
||||
<rule
|
||||
pattern="(?=((?![^\r\n]*-->)[^\r\n]*\r?\n)?(\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3}[ \t]+-->[ \t]+(\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})"
|
||||
>
|
||||
<push state="cues" />
|
||||
</rule>
|
||||
</state>
|
||||
|
||||
<!-- https://www.w3.org/TR/webvtt1/#webvtt-region-settings-list -->
|
||||
<state name="region-settings-list">
|
||||
<rule pattern="(?: |\t|\r?\n(?!\r?\n))+">
|
||||
<token type="Text" />
|
||||
</rule>
|
||||
<rule pattern="(?:\r?\n){2}">
|
||||
<token type="Text" />
|
||||
<pop depth="1" />
|
||||
</rule>
|
||||
<rule pattern="(id)(:)(?!-->)(\S+)">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(width)(:)((?:[1-9]?\d|100)(?:\.\d+)?)(%)">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
<token type="KeywordType" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(lines)(:)(\d+)">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule
|
||||
pattern="(regionanchor|viewportanchor)(:)((?:[1-9]?\d|100)(?:\.\d+)?)(%)(,)((?:[1-9]?\d|100)(?:\.\d+)?)(%)">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
<token type="KeywordType" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
<token type="KeywordType" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(scroll)(:)(up)">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="KeywordConstant" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
</state>
|
||||
|
||||
<!-- https://www.w3.org/TR/webvtt1/#webvtt-comment-block -->
|
||||
<state name="comment">
|
||||
<rule
|
||||
pattern="^NOTE( |\t|\r?\n)((?!-->)[\s\S])*?(?:(\r?\n){2}|\Z)">
|
||||
<token type="Comment" />
|
||||
</rule>
|
||||
</state>
|
||||
|
||||
<!--
|
||||
"Zero or more WebVTT cue blocks and WebVTT comment blocks separated from each other by one or more
|
||||
WebVTT line terminators." (https://www.w3.org/TR/webvtt1/#file-structure)
|
||||
-->
|
||||
<state name="cues">
|
||||
<rule
|
||||
pattern="(?:((?!-->)[^\r\n]+)?(\r?\n))?((?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})([ \t]+)(-->)([ \t]+)((?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})([ \t]*)">
|
||||
<bygroups>
|
||||
<token type="Name" />
|
||||
<token type="Text" />
|
||||
<token type="LiteralDate" />
|
||||
<token type="Text" />
|
||||
<token type="Operator" />
|
||||
<token type="Text" />
|
||||
<token type="LiteralDate" />
|
||||
<token type="Text" />
|
||||
</bygroups>
|
||||
<push state="cue-settings-list" />
|
||||
</rule>
|
||||
<rule>
|
||||
<include state="comment" />
|
||||
</rule>
|
||||
</state>
|
||||
|
||||
<!-- https://www.w3.org/TR/webvtt1/#webvtt-cue-settings-list -->
|
||||
<state name="cue-settings-list">
|
||||
<rule pattern="[ \t]+">
|
||||
<token type="Text" />
|
||||
</rule>
|
||||
<rule pattern="(vertical)(:)?(rl|lr)?">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="KeywordConstant" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule
|
||||
pattern="(line)(:)?(?:(?:((?:[1-9]?\d|100)(?:\.\d+)?)(%)|(-?\d+))(?:(,)(start|center|end))?)?">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
<token type="KeywordType" />
|
||||
<token type="Literal" />
|
||||
<token type="Punctuation" />
|
||||
<token type="KeywordConstant" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule
|
||||
pattern="(position)(:)?(?:(?:((?:[1-9]?\d|100)(?:\.\d+)?)(%)|(-?\d+))(?:(,)(line-left|center|line-right))?)?">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
<token type="KeywordType" />
|
||||
<token type="Literal" />
|
||||
<token type="Punctuation" />
|
||||
<token type="KeywordConstant" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(size)(:)?(?:((?:[1-9]?\d|100)(?:\.\d+)?)(%))?">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
<token type="KeywordType" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(align)(:)?(start|center|end|left|right)?">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="KeywordConstant" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(region)(:)?((?![^\r\n]*-->(?=[ \t]+?))[^ \t\r\n]+)?">
|
||||
<bygroups>
|
||||
<token type="Keyword" />
|
||||
<token type="Punctuation" />
|
||||
<token type="Literal" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule
|
||||
pattern="(?=\r?\n)">
|
||||
<push state="cue-payload" />
|
||||
</rule>
|
||||
</state>
|
||||
|
||||
<!-- https://www.w3.org/TR/webvtt1/#cue-payload -->
|
||||
<state name="cue-payload">
|
||||
<rule pattern="(\r?\n){2,}">
|
||||
<token type="Text" />
|
||||
<pop depth="2" />
|
||||
</rule>
|
||||
<rule pattern="[^<&]+?">
|
||||
<token type="Text" />
|
||||
</rule>
|
||||
<rule pattern="&(#\d+|#x[0-9A-Fa-f]+|[a-zA-Z0-9]+);">
|
||||
<token type="Text" />
|
||||
</rule>
|
||||
<rule pattern="(?=<)">
|
||||
<token type="Text" />
|
||||
<push state="cue-span-tag" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="cue-span-tag">
|
||||
<rule
|
||||
pattern="<(?=c|i|b|u|ruby|rt|v|lang|(?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})">
|
||||
<token type="Punctuation" />
|
||||
<push state="cue-span-start-tag-name" />
|
||||
</rule>
|
||||
<rule pattern="(</)(c|i|b|u|ruby|rt|v|lang)">
|
||||
<bygroups>
|
||||
<token type="Punctuation" />
|
||||
<token type="NameTag" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern=">">
|
||||
<token type="Punctuation" />
|
||||
<pop depth="1" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="cue-span-start-tag-name">
|
||||
<rule pattern="(c|i|b|u|ruby|rt)|((?:\d{2}:)?(?:[0-5][0-9]):(?:[0-5][0-9])\.\d{3})">
|
||||
<bygroups>
|
||||
<token type="NameTag" />
|
||||
<token type="LiteralDate" />
|
||||
</bygroups>
|
||||
<push state="cue-span-classes-without-annotations" />
|
||||
</rule>
|
||||
<rule pattern="v|lang">
|
||||
<token type="NameTag" />
|
||||
<push state="cue-span-classes-with-annotations" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="cue-span-classes-without-annotations">
|
||||
<rule>
|
||||
<include state="cue-span-classes" />
|
||||
</rule>
|
||||
<rule pattern="(?=>)">
|
||||
<pop depth="2" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="cue-span-classes-with-annotations">
|
||||
<rule>
|
||||
<include state="cue-span-classes" />
|
||||
</rule>
|
||||
<rule pattern="(?=[ \t])">
|
||||
<push state="cue-span-start-tag-annotations" />
|
||||
</rule>
|
||||
</state>
|
||||
<state name="cue-span-classes">
|
||||
<rule pattern="(\.)([^ \t\n\r&<>\.]+)">
|
||||
<bygroups>
|
||||
<token type="Punctuation" />
|
||||
<token type="NameTag" />
|
||||
</bygroups>
|
||||
</rule>
|
||||
</state>
|
||||
<state name="cue-span-start-tag-annotations">
|
||||
<rule
|
||||
pattern="[ \t](?:[^\n\r&>]|&(?:#\d+|#x[0-9A-Fa-f]+|[a-zA-Z0-9]+);)+">
|
||||
<token type="Text" />
|
||||
</rule>
|
||||
<rule pattern="(?=>)">
|
||||
<token type="Text" />
|
||||
<pop depth="3" />
|
||||
</rule>
|
||||
</state>
|
||||
</rules>
|
||||
</lexer>
|
@ -53,7 +53,7 @@
|
||||
<bygroups>
|
||||
<token type="Punctuation"/>
|
||||
<token type="LiteralStringDoc"/>
|
||||
<token type="TextWhitespace"/>
|
||||
<token type="Ignore"/>
|
||||
</bygroups>
|
||||
</rule>
|
||||
<rule pattern="(false|False|FALSE|true|True|TRUE|null|Off|off|yes|Yes|YES|OFF|On|ON|no|No|on|NO|n|N|Y|y)\b">
|
||||
|
@ -1,44 +1,39 @@
|
||||
<style name="github">
|
||||
<entry type="Error" style="#a61717 bg:#e3d2d2"/>
|
||||
<entry type="Error" style="#f6f8fa bg:#82071e"/>
|
||||
<entry type="Background" style="bg:#ffffff"/>
|
||||
<entry type="Keyword" style="bold #000000"/>
|
||||
<entry type="KeywordType" style="bold #445588"/>
|
||||
<entry type="NameAttribute" style="#008080"/>
|
||||
<entry type="NameBuiltin" style="#0086b3"/>
|
||||
<entry type="NameBuiltinPseudo" style="#999999"/>
|
||||
<entry type="NameClass" style="bold #445588"/>
|
||||
<entry type="NameConstant" style="#008080"/>
|
||||
<entry type="NameDecorator" style="bold #3c5d5d"/>
|
||||
<entry type="NameEntity" style="#800080"/>
|
||||
<entry type="NameException" style="bold #990000"/>
|
||||
<entry type="NameFunction" style="bold #990000"/>
|
||||
<entry type="Keyword" style="#cf222e"/>
|
||||
<entry type="KeywordType" style="#cf222e"/>
|
||||
<entry type="NameAttribute" style="#1f2328"/>
|
||||
<entry type="NameBuiltin" style="#6639ba"/>
|
||||
<entry type="NameBuiltinPseudo" style="#6a737d"/>
|
||||
<entry type="NameClass" style="#1f2328"/>
|
||||
<entry type="NameConstant" style="#0550ae"/>
|
||||
<entry type="NameDecorator" style="#0550ae"/>
|
||||
<entry type="NameEntity" style="#6639ba"/>
|
||||
<entry type="NameFunction" style="#6639ba"/>
|
||||
<entry type="NameLabel" style="bold #990000"/>
|
||||
<entry type="NameNamespace" style="#555555"/>
|
||||
<entry type="NameTag" style="#000080"/>
|
||||
<entry type="NameVariable" style="#008080"/>
|
||||
<entry type="NameVariableClass" style="#008080"/>
|
||||
<entry type="NameVariableGlobal" style="#008080"/>
|
||||
<entry type="NameVariableInstance" style="#008080"/>
|
||||
<entry type="LiteralString" style="#dd1144"/>
|
||||
<entry type="LiteralStringRegex" style="#009926"/>
|
||||
<entry type="LiteralStringSymbol" style="#990073"/>
|
||||
<entry type="LiteralNumber" style="#009999"/>
|
||||
<entry type="Operator" style="bold #000000"/>
|
||||
<entry type="Comment" style="italic #999988"/>
|
||||
<entry type="CommentMultiline" style="italic #999988"/>
|
||||
<entry type="CommentSingle" style="italic #999988"/>
|
||||
<entry type="CommentSpecial" style="bold italic #999999"/>
|
||||
<entry type="CommentPreproc" style="bold #999999"/>
|
||||
<entry type="GenericDeleted" style="#000000 bg:#ffdddd"/>
|
||||
<entry type="GenericEmph" style="italic #000000"/>
|
||||
<entry type="GenericError" style="#aa0000"/>
|
||||
<entry type="GenericHeading" style="#999999"/>
|
||||
<entry type="GenericInserted" style="#000000 bg:#ddffdd"/>
|
||||
<entry type="GenericOutput" style="#888888"/>
|
||||
<entry type="GenericPrompt" style="#555555"/>
|
||||
<entry type="GenericStrong" style="bold"/>
|
||||
<entry type="GenericSubheading" style="#aaaaaa"/>
|
||||
<entry type="GenericTraceback" style="#aa0000"/>
|
||||
<entry type="NameNamespace" style="#24292e"/>
|
||||
<entry type="NameOther" style="#1f2328"/>
|
||||
<entry type="NameTag" style="#0550ae"/>
|
||||
<entry type="NameVariable" style="#953800"/>
|
||||
<entry type="NameVariableClass" style="#953800"/>
|
||||
<entry type="NameVariableGlobal" style="#953800"/>
|
||||
<entry type="NameVariableInstance" style="#953800"/>
|
||||
<entry type="LiteralString" style="#0a3069"/>
|
||||
<entry type="LiteralStringRegex" style="#0a3069"/>
|
||||
<entry type="LiteralStringSymbol" style="#032f62"/>
|
||||
<entry type="LiteralNumber" style="#0550ae"/>
|
||||
<entry type="Operator" style="#0550ae"/>
|
||||
<entry type="Comment" style="#57606a"/>
|
||||
<entry type="CommentMultiline" style="#57606a"/>
|
||||
<entry type="CommentSingle" style="#57606a"/>
|
||||
<entry type="CommentSpecial" style="#57606a"/>
|
||||
<entry type="CommentPreproc" style="#57606a"/>
|
||||
<entry type="GenericDeleted" style="#82071e bg:#ffebe9"/>
|
||||
<entry type="GenericEmph" style="#1f2328"/>
|
||||
<entry type="GenericInserted" style="#116329 bg:#dafbe1"/>
|
||||
<entry type="GenericOutput" style="#1f2328"/>
|
||||
<entry type="GenericUnderline" style="underline"/>
|
||||
<entry type="TextWhitespace" style="#bbbbbb"/>
|
||||
<entry type="Punctuation" style="#1f2328"/>
|
||||
<entry type="TextWhitespace" style="#ffffff"/>
|
||||
</style>
|
||||
|
10
styles/onesenterprise.xml
Normal file
10
styles/onesenterprise.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<style name="onesenterprise">
|
||||
<entry type="Keyword" style="#ff0000"/>
|
||||
<entry type="Name" style="#0000ff"/>
|
||||
<entry type="LiteralString" style="#000000"/>
|
||||
<entry type="Operator" style="#ff0000"/>
|
||||
<entry type="Punctuation" style="#ff0000"/>
|
||||
<entry type="Comment" style="#008000"/>
|
||||
<entry type="CommentPreproc" style="#963200"/>
|
||||
<entry type="Text" style="#000000"/>
|
||||
</style>
|
42
styles/pygments.xml
Normal file
42
styles/pygments.xml
Normal file
@ -0,0 +1,42 @@
|
||||
<style name="pygments">
|
||||
<entry type="Error" style="border:#ff0000"/>
|
||||
<entry type="Keyword" style="bold #008000"/>
|
||||
<entry type="KeywordPseudo" style="nobold"/>
|
||||
<entry type="KeywordType" style="nobold #b00040"/>
|
||||
<entry type="NameAttribute" style="#7d9029"/>
|
||||
<entry type="NameBuiltin" style="#008000"/>
|
||||
<entry type="NameClass" style="bold #0000ff"/>
|
||||
<entry type="NameConstant" style="#880000"/>
|
||||
<entry type="NameDecorator" style="#aa22ff"/>
|
||||
<entry type="NameEntity" style="bold #999999"/>
|
||||
<entry type="NameException" style="bold #d2413a"/>
|
||||
<entry type="NameFunction" style="#0000ff"/>
|
||||
<entry type="NameLabel" style="#a0a000"/>
|
||||
<entry type="NameNamespace" style="bold #0000ff"/>
|
||||
<entry type="NameTag" style="bold #008000"/>
|
||||
<entry type="NameVariable" style="#19177c"/>
|
||||
<entry type="LiteralString" style="#ba2121"/>
|
||||
<entry type="LiteralStringDoc" style="italic"/>
|
||||
<entry type="LiteralStringEscape" style="bold #bb6622"/>
|
||||
<entry type="LiteralStringInterpol" style="bold #bb6688"/>
|
||||
<entry type="LiteralStringOther" style="#008000"/>
|
||||
<entry type="LiteralStringRegex" style="#bb6688"/>
|
||||
<entry type="LiteralStringSymbol" style="#19177c"/>
|
||||
<entry type="LiteralNumber" style="#666666"/>
|
||||
<entry type="Operator" style="#666666"/>
|
||||
<entry type="OperatorWord" style="bold #aa22ff"/>
|
||||
<entry type="Comment" style="italic #408080"/>
|
||||
<entry type="CommentPreproc" style="noitalic #bc7a00"/>
|
||||
<entry type="GenericDeleted" style="#a00000"/>
|
||||
<entry type="GenericEmph" style="italic"/>
|
||||
<entry type="GenericError" style="#ff0000"/>
|
||||
<entry type="GenericHeading" style="bold #000080"/>
|
||||
<entry type="GenericInserted" style="#00a000"/>
|
||||
<entry type="GenericOutput" style="#888888"/>
|
||||
<entry type="GenericPrompt" style="bold #000080"/>
|
||||
<entry type="GenericStrong" style="bold"/>
|
||||
<entry type="GenericSubheading" style="bold #800080"/>
|
||||
<entry type="GenericTraceback" style="#0044dd"/>
|
||||
<entry type="GenericUnderline" style="underline"/>
|
||||
<entry type="TextWhitespace" style="#bbbbbb"/>
|
||||
</style>
|
Loading…
x
Reference in New Issue
Block a user