Mercurial > yakumo_izuru > aya
comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/javascript.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
65:6d985efa0f7a | 66:787b5ee0289d |
---|---|
1 <lexer> | |
2 <config> | |
3 <name>JavaScript</name> | |
4 <alias>js</alias> | |
5 <alias>javascript</alias> | |
6 <filename>*.js</filename> | |
7 <filename>*.jsm</filename> | |
8 <filename>*.mjs</filename> | |
9 <filename>*.cjs</filename> | |
10 <mime_type>application/javascript</mime_type> | |
11 <mime_type>application/x-javascript</mime_type> | |
12 <mime_type>text/x-javascript</mime_type> | |
13 <mime_type>text/javascript</mime_type> | |
14 <dot_all>true</dot_all> | |
15 <ensure_nl>true</ensure_nl> | |
16 </config> | |
17 <rules> | |
18 <state name="interp"> | |
19 <rule pattern="`"> | |
20 <token type="LiteralStringBacktick"/> | |
21 <pop depth="1"/> | |
22 </rule> | |
23 <rule pattern="\\\\"> | |
24 <token type="LiteralStringBacktick"/> | |
25 </rule> | |
26 <rule pattern="\\`"> | |
27 <token type="LiteralStringBacktick"/> | |
28 </rule> | |
29 <rule pattern="\\[^`\\]"> | |
30 <token type="LiteralStringBacktick"/> | |
31 </rule> | |
32 <rule pattern="\$\{"> | |
33 <token type="LiteralStringInterpol"/> | |
34 <push state="interp-inside"/> | |
35 </rule> | |
36 <rule pattern="\$"> | |
37 <token type="LiteralStringBacktick"/> | |
38 </rule> | |
39 <rule pattern="[^`\\$]+"> | |
40 <token type="LiteralStringBacktick"/> | |
41 </rule> | |
42 </state> | |
43 <state name="interp-inside"> | |
44 <rule pattern="\}"> | |
45 <token type="LiteralStringInterpol"/> | |
46 <pop depth="1"/> | |
47 </rule> | |
48 <rule> | |
49 <include state="root"/> | |
50 </rule> | |
51 </state> | |
52 <state name="commentsandwhitespace"> | |
53 <rule pattern="\s+"> | |
54 <token type="Text"/> | |
55 </rule> | |
56 <rule pattern="<!--"> | |
57 <token type="Comment"/> | |
58 </rule> | |
59 <rule pattern="//.*?\n"> | |
60 <token type="CommentSingle"/> | |
61 </rule> | |
62 <rule pattern="/\*.*?\*/"> | |
63 <token type="CommentMultiline"/> | |
64 </rule> | |
65 </state> | |
66 <state name="slashstartsregex"> | |
67 <rule> | |
68 <include state="commentsandwhitespace"/> | |
69 </rule> | |
70 <rule pattern="/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuy]+\b|\B)"> | |
71 <token type="LiteralStringRegex"/> | |
72 <pop depth="1"/> | |
73 </rule> | |
74 <rule pattern="(?=/)"> | |
75 <token type="Text"/> | |
76 <push state="#pop" state="badregex"/> | |
77 </rule> | |
78 <rule> | |
79 <pop depth="1"/> | |
80 </rule> | |
81 </state> | |
82 <state name="badregex"> | |
83 <rule pattern="\n"> | |
84 <token type="Text"/> | |
85 <pop depth="1"/> | |
86 </rule> | |
87 </state> | |
88 <state name="root"> | |
89 <rule pattern="\A#! ?/.*?\n"> | |
90 <token type="CommentHashbang"/> | |
91 </rule> | |
92 <rule pattern="^(?=\s|/|<!--)"> | |
93 <token type="Text"/> | |
94 <push state="slashstartsregex"/> | |
95 </rule> | |
96 <rule> | |
97 <include state="commentsandwhitespace"/> | |
98 </rule> | |
99 <rule pattern="\d+(\.\d*|[eE][+\-]?\d+)"> | |
100 <token type="LiteralNumberFloat"/> | |
101 </rule> | |
102 <rule pattern="0[bB][01]+"> | |
103 <token type="LiteralNumberBin"/> | |
104 </rule> | |
105 <rule pattern="0[oO][0-7]+"> | |
106 <token type="LiteralNumberOct"/> | |
107 </rule> | |
108 <rule pattern="0[xX][0-9a-fA-F]+"> | |
109 <token type="LiteralNumberHex"/> | |
110 </rule> | |
111 <rule pattern="[0-9][0-9_]*"> | |
112 <token type="LiteralNumberInteger"/> | |
113 </rule> | |
114 <rule pattern="\.\.\.|=>"> | |
115 <token type="Punctuation"/> | |
116 </rule> | |
117 <rule pattern="\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?"> | |
118 <token type="Operator"/> | |
119 <push state="slashstartsregex"/> | |
120 </rule> | |
121 <rule pattern="[{(\[;,]"> | |
122 <token type="Punctuation"/> | |
123 <push state="slashstartsregex"/> | |
124 </rule> | |
125 <rule pattern="[})\].]"> | |
126 <token type="Punctuation"/> | |
127 </rule> | |
128 <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"> | |
129 <token type="Keyword"/> | |
130 <push state="slashstartsregex"/> | |
131 </rule> | |
132 <rule pattern="(var|let|with|function)\b"> | |
133 <token type="KeywordDeclaration"/> | |
134 <push state="slashstartsregex"/> | |
135 </rule> | |
136 <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"> | |
137 <token type="KeywordReserved"/> | |
138 </rule> | |
139 <rule pattern="(true|false|null|NaN|Infinity|undefined)\b"> | |
140 <token type="KeywordConstant"/> | |
141 </rule> | |
142 <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"> | |
143 <token type="NameBuiltin"/> | |
144 </rule> | |
145 <rule pattern="(?:[$_\p{L}\p{N}]|\\u[a-fA-F0-9]{4})(?:(?:[$\p{L}\p{N}]|\\u[a-fA-F0-9]{4}))*"> | |
146 <token type="NameOther"/> | |
147 </rule> | |
148 <rule pattern=""(\\\\|\\"|[^"])*""> | |
149 <token type="LiteralStringDouble"/> | |
150 </rule> | |
151 <rule pattern="'(\\\\|\\'|[^'])*'"> | |
152 <token type="LiteralStringSingle"/> | |
153 </rule> | |
154 <rule pattern="`"> | |
155 <token type="LiteralStringBacktick"/> | |
156 <push state="interp"/> | |
157 </rule> | |
158 </state> | |
159 </rules> | |
160 </lexer> |