summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2024-10-25 00:47:47 +0200
commitc6cc0108ca7738023b45e0eeac0fa2390532dd93 (patch)
tree36890e6cd3091bbab8efbe686cc56f467f645bfd /vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml158
1 files changed, 158 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml
new file mode 100644
index 0000000..903d458
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/lua.xml
@@ -0,0 +1,158 @@
+<lexer>
+ <config>
+ <name>Lua</name>
+ <alias>lua</alias>
+ <filename>*.lua</filename>
+ <filename>*.wlua</filename>
+ <mime_type>text/x-lua</mime_type>
+ <mime_type>application/x-lua</mime_type>
+ </config>
+ <rules>
+ <state name="funcname">
+ <rule>
+ <include state="ws"/>
+ </rule>
+ <rule pattern="[.:]">
+ <token type="Punctuation"/>
+ </rule>
+ <rule pattern="(?:[^\W\d]\w*)(?=(?:(?:--\[(=*)\[[\w\W]*?\](\2)\])|(?:--.*$)|(?:\s+))*[.:])">
+ <token type="NameClass"/>
+ </rule>
+ <rule pattern="(?:[^\W\d]\w*)">
+ <token type="NameFunction"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="\(">
+ <token type="Punctuation"/>
+ <pop depth="1"/>
+ </rule>
+ </state>
+ <state name="label">
+ <rule>
+ <include state="ws"/>
+ </rule>
+ <rule pattern="::">
+ <token type="Punctuation"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="(?:[^\W\d]\w*)">
+ <token type="NameLabel"/>
+ </rule>
+ </state>
+ <state name="dqs">
+ <rule pattern="&#34;">
+ <token type="LiteralStringDouble"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="[^\\&#34;]+">
+ <token type="LiteralStringDouble"/>
+ </rule>
+ </state>
+ <state name="root">
+ <rule pattern="#!.*">
+ <token type="CommentPreproc"/>
+ </rule>
+ <rule>
+ <push state="base"/>
+ </rule>
+ </state>
+ <state name="ws">
+ <rule pattern="(?:--\[(=*)\[[\w\W]*?\](\1)\])">
+ <token type="CommentMultiline"/>
+ </rule>
+ <rule pattern="(?:--.*$)">
+ <token type="CommentSingle"/>
+ </rule>
+ <rule pattern="(?:\s+)">
+ <token type="Text"/>
+ </rule>
+ </state>
+ <state name="goto">
+ <rule>
+ <include state="ws"/>
+ </rule>
+ <rule pattern="(?:[^\W\d]\w*)">
+ <token type="NameLabel"/>
+ <pop depth="1"/>
+ </rule>
+ </state>
+ <state name="sqs">
+ <rule pattern="&#39;">
+ <token type="LiteralStringSingle"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="[^\\&#39;]+">
+ <token type="LiteralStringSingle"/>
+ </rule>
+ </state>
+ <state name="base">
+ <rule>
+ <include state="ws"/>
+ </rule>
+ <rule pattern="(?i)0x[\da-f]*(\.[\da-f]*)?(p[+-]?\d+)?">
+ <token type="LiteralNumberHex"/>
+ </rule>
+ <rule pattern="(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?">
+ <token type="LiteralNumberFloat"/>
+ </rule>
+ <rule pattern="(?i)\d+e[+-]?\d+">
+ <token type="LiteralNumberFloat"/>
+ </rule>
+ <rule pattern="\d+">
+ <token type="LiteralNumberInteger"/>
+ </rule>
+ <rule pattern="(?s)\[(=*)\[.*?\]\1\]">
+ <token type="LiteralString"/>
+ </rule>
+ <rule pattern="::">
+ <token type="Punctuation"/>
+ <push state="label"/>
+ </rule>
+ <rule pattern="\.{3}">
+ <token type="Punctuation"/>
+ </rule>
+ <rule pattern="[=&lt;&gt;|~&amp;+\-*/%#^]+|\.\.">
+ <token type="Operator"/>
+ </rule>
+ <rule pattern="[\[\]{}().,:;]">
+ <token type="Punctuation"/>
+ </rule>
+ <rule pattern="(and|or|not)\b">
+ <token type="OperatorWord"/>
+ </rule>
+ <rule pattern="(break|do|else|elseif|end|for|if|in|repeat|return|then|until|while)\b">
+ <token type="KeywordReserved"/>
+ </rule>
+ <rule pattern="goto\b">
+ <token type="KeywordReserved"/>
+ <push state="goto"/>
+ </rule>
+ <rule pattern="(local)\b">
+ <token type="KeywordDeclaration"/>
+ </rule>
+ <rule pattern="(true|false|nil)\b">
+ <token type="KeywordConstant"/>
+ </rule>
+ <rule pattern="(function)\b">
+ <token type="KeywordReserved"/>
+ <push state="funcname"/>
+ </rule>
+ <rule pattern="[A-Za-z_]\w*(\.[A-Za-z_]\w*)?">
+ <token type="Name"/>
+ </rule>
+ <rule pattern="&#39;">
+ <token type="LiteralStringSingle"/>
+ <combined state="stringescape" state="sqs"/>
+ </rule>
+ <rule pattern="&#34;">
+ <token type="LiteralStringDouble"/>
+ <combined state="stringescape" state="dqs"/>
+ </rule>
+ </state>
+ <state name="stringescape">
+ <rule pattern="\\([abfnrtv\\&#34;\&#39;]|[\r\n]{1,2}|z\s*|x[0-9a-fA-F]{2}|\d{1,3}|u\{[0-9a-fA-F]+\})">
+ <token type="LiteralStringEscape"/>
+ </rule>
+ </state>
+ </rules>
+</lexer> \ No newline at end of file