summaryrefslogtreecommitdiff
path: root/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.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/javascript.xml
parent0130404a1dc663d4aa68d780c9bcb23a4243e68d (diff)
downloadjbmafp-c6cc0108ca7738023b45e0eeac0fa2390532dd93.tar.gz
Added vendor lock on depsHEADmaster
Diffstat (limited to 'vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml')
-rw-r--r--vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml159
1 files changed, 159 insertions, 0 deletions
diff --git a/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml
new file mode 100644
index 0000000..f8e7b1b
--- /dev/null
+++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml
@@ -0,0 +1,159 @@
+<lexer>
+ <config>
+ <name>JavaScript</name>
+ <alias>js</alias>
+ <alias>javascript</alias>
+ <filename>*.js</filename>
+ <filename>*.jsm</filename>
+ <filename>*.mjs</filename>
+ <mime_type>application/javascript</mime_type>
+ <mime_type>application/x-javascript</mime_type>
+ <mime_type>text/x-javascript</mime_type>
+ <mime_type>text/javascript</mime_type>
+ <dot_all>true</dot_all>
+ <ensure_nl>true</ensure_nl>
+ </config>
+ <rules>
+ <state name="interp">
+ <rule pattern="`">
+ <token type="LiteralStringBacktick"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="\\\\">
+ <token type="LiteralStringBacktick"/>
+ </rule>
+ <rule pattern="\\`">
+ <token type="LiteralStringBacktick"/>
+ </rule>
+ <rule pattern="\\[^`\\]">
+ <token type="LiteralStringBacktick"/>
+ </rule>
+ <rule pattern="\$\{">
+ <token type="LiteralStringInterpol"/>
+ <push state="interp-inside"/>
+ </rule>
+ <rule pattern="\$">
+ <token type="LiteralStringBacktick"/>
+ </rule>
+ <rule pattern="[^`\\$]+">
+ <token type="LiteralStringBacktick"/>
+ </rule>
+ </state>
+ <state name="interp-inside">
+ <rule pattern="\}">
+ <token type="LiteralStringInterpol"/>
+ <pop depth="1"/>
+ </rule>
+ <rule>
+ <include state="root"/>
+ </rule>
+ </state>
+ <state name="commentsandwhitespace">
+ <rule pattern="\s+">
+ <token type="Text"/>
+ </rule>
+ <rule pattern="&lt;!--">
+ <token type="Comment"/>
+ </rule>
+ <rule pattern="//.*?\n">
+ <token type="CommentSingle"/>
+ </rule>
+ <rule pattern="/\*.*?\*/">
+ <token type="CommentMultiline"/>
+ </rule>
+ </state>
+ <state name="slashstartsregex">
+ <rule>
+ <include state="commentsandwhitespace"/>
+ </rule>
+ <rule pattern="/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuy]+\b|\B)">
+ <token type="LiteralStringRegex"/>
+ <pop depth="1"/>
+ </rule>
+ <rule pattern="(?=/)">
+ <token type="Text"/>
+ <push state="#pop" state="badregex"/>
+ </rule>
+ <rule>
+ <pop depth="1"/>
+ </rule>
+ </state>
+ <state name="badregex">
+ <rule pattern="\n">
+ <token type="Text"/>
+ <pop depth="1"/>
+ </rule>
+ </state>
+ <state name="root">
+ <rule pattern="\A#! ?/.*?\n">
+ <token type="CommentHashbang"/>
+ </rule>
+ <rule pattern="^(?=\s|/|&lt;!--)">
+ <token type="Text"/>
+ <push state="slashstartsregex"/>
+ </rule>
+ <rule>
+ <include state="commentsandwhitespace"/>
+ </rule>
+ <rule pattern="\d+(\.\d*|[eE][+\-]?\d+)">
+ <token type="LiteralNumberFloat"/>
+ </rule>
+ <rule pattern="0[bB][01]+">
+ <token type="LiteralNumberBin"/>
+ </rule>
+ <rule pattern="0[oO][0-7]+">
+ <token type="LiteralNumberOct"/>
+ </rule>
+ <rule pattern="0[xX][0-9a-fA-F]+">
+ <token type="LiteralNumberHex"/>
+ </rule>
+ <rule pattern="[0-9][0-9_]*">
+ <token type="LiteralNumberInteger"/>
+ </rule>
+ <rule pattern="\.\.\.|=&gt;">
+ <token type="Punctuation"/>
+ </rule>
+ <rule pattern="\+\+|--|~|&amp;&amp;|\?|:|\|\||\\(?=\n)|(&lt;&lt;|&gt;&gt;&gt;?|==?|!=?|[-&lt;&gt;+*%&amp;|^/])=?">
+ <token type="Operator"/>
+ <push state="slashstartsregex"/>
+ </rule>
+ <rule pattern="[{(\[;,]">
+ <token type="Punctuation"/>
+ <push state="slashstartsregex"/>
+ </rule>
+ <rule pattern="[})\].]">
+ <token type="Punctuation"/>
+ </rule>
+ <rule pattern="(for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|this|of)\b">
+ <token type="Keyword"/>
+ <push state="slashstartsregex"/>
+ </rule>
+ <rule pattern="(var|let|with|function)\b">
+ <token type="KeywordDeclaration"/>
+ <push state="slashstartsregex"/>
+ </rule>
+ <rule pattern="(abstract|async|await|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|volatile)\b">
+ <token type="KeywordReserved"/>
+ </rule>
+ <rule pattern="(true|false|null|NaN|Infinity|undefined)\b">
+ <token type="KeywordConstant"/>
+ </rule>
+ <rule pattern="(Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|Promise|Proxy|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|document|this|window)\b">
+ <token type="NameBuiltin"/>
+ </rule>
+ <rule pattern="(?:[$_\p{L}\p{N}]|\\u[a-fA-F0-9]{4})(?:(?:[$\p{L}\p{N}]|\\u[a-fA-F0-9]{4}))*">
+ <token type="NameOther"/>
+ </rule>
+ <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
+ <token type="LiteralStringDouble"/>
+ </rule>
+ <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
+ <token type="LiteralStringSingle"/>
+ </rule>
+ <rule pattern="`">
+ <token type="LiteralStringBacktick"/>
+ <push state="interp"/>
+ </rule>
+ </state>
+ </rules>
+</lexer> \ No newline at end of file