monaco-editor11 1.2.1 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/assets/editor.worker-iXcRX1Tq.js +26 -0
  2. package/dist/index.d.ts +2 -3
  3. package/dist/monaco-editor11.es.js +55 -0
  4. package/dist/monaco-editor11.umd.js +1 -0
  5. package/dist/views/Home.vue.d.ts +1 -1
  6. package/dist/worker/json.worker.js +0 -0
  7. package/package.json +9 -13
  8. package/dist/abap-BmV14C8H.js +0 -1
  9. package/dist/abap-CrvW7_qN.mjs +0 -1398
  10. package/dist/apex-BAOI8p1v.mjs +0 -327
  11. package/dist/apex-vQDebnNk.js +0 -1
  12. package/dist/azcli-BlCk_UqW.mjs +0 -68
  13. package/dist/azcli-C4hxwus7.js +0 -1
  14. package/dist/bat-DPoEelVx.mjs +0 -100
  15. package/dist/bat-DYHIOgJW.js +0 -1
  16. package/dist/bicep-BJDZ3U7c.js +0 -2
  17. package/dist/bicep-Cp1F394l.mjs +0 -102
  18. package/dist/cameligo-CWqtSlQs.mjs +0 -174
  19. package/dist/cameligo-l0J6eaPU.js +0 -1
  20. package/dist/clojure-BUv_1vEn.js +0 -1
  21. package/dist/clojure-CKBp32Gf.mjs +0 -761
  22. package/dist/coffee-CDo6vc-J.mjs +0 -232
  23. package/dist/coffee-Cw3141X6.js +0 -1
  24. package/dist/cpp-CHPWmTTa.js +0 -1
  25. package/dist/cpp-DokufPgf.mjs +0 -389
  26. package/dist/csharp-0ISFInBU.js +0 -1
  27. package/dist/csharp-BQi3szM0.mjs +0 -326
  28. package/dist/csp-BSGtCCZ-.mjs +0 -53
  29. package/dist/csp-Dcy9EUAZ.js +0 -1
  30. package/dist/css-DEPFDJfb.mjs +0 -187
  31. package/dist/css-UDjyEDNM.js +0 -3
  32. package/dist/css.worker.js +0 -66
  33. package/dist/cssMode-CZvh5Cxi.js +0 -1
  34. package/dist/cssMode-D5wFpBcJ.mjs +0 -141
  35. package/dist/cypher-BoSKj8sy.js +0 -1
  36. package/dist/cypher-DAb1vOxS.mjs +0 -263
  37. package/dist/dart-75fOVMIC.js +0 -1
  38. package/dist/dart-C8p4jewR.mjs +0 -281
  39. package/dist/dockerfile-CeTDdZJB.js +0 -1
  40. package/dist/dockerfile-DP0iLFPN.mjs +0 -130
  41. package/dist/ecl-BDQHA6fi.mjs +0 -456
  42. package/dist/ecl-BZ8GfbIS.js +0 -1
  43. package/dist/editor.worker.js +0 -1
  44. package/dist/editorWorkerHost-CXSl__Sw.mjs +0 -11917
  45. package/dist/editorWorkerHost-J3OLr02l.js +0 -33
  46. package/dist/elixir-D4II6kDM.mjs +0 -569
  47. package/dist/elixir-HwUoMs-6.js +0 -1
  48. package/dist/flow9-Co-egZvn.js +0 -1
  49. package/dist/flow9-StcnL-VB.mjs +0 -142
  50. package/dist/freemarker2-0KWO0y3D.mjs +0 -982
  51. package/dist/freemarker2-CWgJ4a-p.js +0 -3
  52. package/dist/fsharp-By4FMj_K.js +0 -1
  53. package/dist/fsharp-DdUVp3EN.mjs +0 -217
  54. package/dist/go-D0-3Iavh.js +0 -1
  55. package/dist/go-D1-I258M.mjs +0 -218
  56. package/dist/graphql-DWkL3f8U.mjs +0 -151
  57. package/dist/graphql-arXy5b1U.js +0 -1
  58. package/dist/handlebars-B3DRUYqI.js +0 -1
  59. package/dist/handlebars-CtTh3MzK.mjs +0 -412
  60. package/dist/hcl-DQpT3BXv.js +0 -1
  61. package/dist/hcl-D_0MNifv.mjs +0 -183
  62. package/dist/html-Bfagd5f8.mjs +0 -301
  63. package/dist/html-Cq6ODg2A.js +0 -1
  64. package/dist/htmlMode-BCWHN8H1.js +0 -1
  65. package/dist/htmlMode-Ca4o_48E.mjs +0 -152
  66. package/dist/index-BnVmN2qp.js +0 -875
  67. package/dist/index-CcXLAo11.js +0 -1
  68. package/dist/index-D7fx9aNv.mjs +0 -498
  69. package/dist/index-DnKFAZ-F.mjs +0 -117301
  70. package/dist/index.js +0 -1
  71. package/dist/ini-C4I2-MT7.mjs +0 -71
  72. package/dist/ini-CHrdBSR6.js +0 -1
  73. package/dist/initialize-7Tsg9DJ6.mjs +0 -44
  74. package/dist/initialize-8Cpp42Fp.js +0 -1
  75. package/dist/java-DkNlCtA8.js +0 -1
  76. package/dist/java-OBvaP_SS.mjs +0 -232
  77. package/dist/javascript-C_YSapv9.js +0 -1
  78. package/dist/javascript-D2KmymLa.mjs +0 -70
  79. package/dist/json.worker.js +0 -17
  80. package/dist/jsonMode-DaXUMuRa.js +0 -1
  81. package/dist/jsonMode-Dnqj4FWW.mjs +0 -306
  82. package/dist/julia-BmDH8Kkf.mjs +0 -511
  83. package/dist/julia-D2YHJdZy.js +0 -1
  84. package/dist/kotlin-BSyr2f_w.js +0 -1
  85. package/dist/kotlin-Dhu5AGOD.mjs +0 -252
  86. package/dist/less-C8csD237.js +0 -2
  87. package/dist/less-CzmjXREq.mjs +0 -162
  88. package/dist/lexon-CV2c4pN9.mjs +0 -157
  89. package/dist/lexon-Dg5XMXM-.js +0 -1
  90. package/dist/liquid-CQtA4TA-.mjs +0 -233
  91. package/dist/liquid-Dc6vO2KK.js +0 -1
  92. package/dist/lspLanguageFeatures-CeustN1U.js +0 -2
  93. package/dist/lspLanguageFeatures-DUzyYYsS.mjs +0 -534
  94. package/dist/lua-BOoO7Ej7.js +0 -1
  95. package/dist/lua-CFY5U8qF.mjs +0 -162
  96. package/dist/m3-BL_AnZVh.mjs +0 -210
  97. package/dist/m3-Bny7JARg.js +0 -1
  98. package/dist/main-B2xgQ6G2.mjs +0 -687
  99. package/dist/main-C27EQSK2.mjs +0 -947
  100. package/dist/main-DXJICgQq.js +0 -3
  101. package/dist/main-Dt1Bdcpc.js +0 -15
  102. package/dist/markdown-CWKQPXCv.mjs +0 -229
  103. package/dist/markdown-cseWCS9n.js +0 -1
  104. package/dist/mdx-C2nK3qTe.js +0 -1
  105. package/dist/mdx-cjfOdSKt.mjs +0 -158
  106. package/dist/mips-7JuqcyJ4.js +0 -1
  107. package/dist/mips-ButYmJ5E.mjs +0 -198
  108. package/dist/monaco-editor11.css +0 -1
  109. package/dist/msdax-BmYA5eV5.js +0 -1
  110. package/dist/msdax-C3cnXqDh.mjs +0 -375
  111. package/dist/mysql-CHTrPhJ_.js +0 -1
  112. package/dist/mysql-YlSHaf6G.mjs +0 -878
  113. package/dist/objective-c-CUdbM2R7.js +0 -1
  114. package/dist/objective-c-Dwnlproe.mjs +0 -183
  115. package/dist/pascal-CNC6uGuD.js +0 -1
  116. package/dist/pascal-UzGbSWEN.mjs +0 -251
  117. package/dist/pascaligo-BEZzSZnI.js +0 -1
  118. package/dist/pascaligo-CslTgu68.mjs +0 -164
  119. package/dist/perl-JOl0jAD9.js +0 -1
  120. package/dist/perl-oj6r_mgw.mjs +0 -626
  121. package/dist/pgsql-BlC3cJBr.js +0 -1
  122. package/dist/pgsql-DSBO0Mev.mjs +0 -851
  123. package/dist/php-6ijfJ2jK.js +0 -1
  124. package/dist/php-YzCD--7j.mjs +0 -500
  125. package/dist/pla-CmylB8vQ.mjs +0 -137
  126. package/dist/pla-DB8tU9Tm.js +0 -1
  127. package/dist/postiats-BMJJQsUH.js +0 -1
  128. package/dist/postiats-CLFW5gNY.mjs +0 -907
  129. package/dist/powerquery-CmOWUvlh.mjs +0 -890
  130. package/dist/powerquery-CoLfQ6__.js +0 -1
  131. package/dist/powershell-BA5owzqH.js +0 -1
  132. package/dist/powershell-fHQcmBLK.mjs +0 -239
  133. package/dist/protobuf-DUMRTG9C.js +0 -2
  134. package/dist/protobuf-p5BArb-9.mjs +0 -420
  135. package/dist/pug-D3HDBCR9.js +0 -1
  136. package/dist/pug-gVdUDvqf.mjs +0 -402
  137. package/dist/python-BaSW5leI.js +0 -1
  138. package/dist/python-DA6ByLCZ.mjs +0 -294
  139. package/dist/qsharp-DN7Y6XhL.js +0 -1
  140. package/dist/qsharp-DnrWSUlt.mjs +0 -301
  141. package/dist/r-Bc6rlFXl.js +0 -1
  142. package/dist/r-Cv309K2z.mjs +0 -243
  143. package/dist/razor-3z9XYGZf.mjs +0 -543
  144. package/dist/razor-nQE2Djhf.js +0 -1
  145. package/dist/redis-BVBmvApp.js +0 -1
  146. package/dist/redis-DTcS4wMj.mjs +0 -302
  147. package/dist/redshift-BdEMv0YI.js +0 -1
  148. package/dist/redshift-hLxZVESM.mjs +0 -809
  149. package/dist/restructuredtext-C898lK4f.mjs +0 -174
  150. package/dist/restructuredtext-Cwgkbiv3.js +0 -1
  151. package/dist/ruby-BPqQ0TOE.js +0 -1
  152. package/dist/ruby-CgKtnJIQ.mjs +0 -511
  153. package/dist/rust-DGojqpAN.js +0 -1
  154. package/dist/rust-bj8oxVnh.mjs +0 -343
  155. package/dist/sb-B572kJZe.js +0 -1
  156. package/dist/sb-DWynz26l.mjs +0 -115
  157. package/dist/scala-BL5z1UEd.mjs +0 -370
  158. package/dist/scala-CDQ1h1Nd.js +0 -1
  159. package/dist/scheme-CgaAfqMQ.js +0 -1
  160. package/dist/scheme-DUJsH6VU.mjs +0 -108
  161. package/dist/scss-CxjmhvaL.mjs +0 -262
  162. package/dist/scss-DZHIl239.js +0 -3
  163. package/dist/shell-D14Zs1dF.mjs +0 -221
  164. package/dist/shell-D5kOdfAA.js +0 -1
  165. package/dist/solidity-D6vCwnFo.js +0 -1
  166. package/dist/solidity-WyRm-BGK.mjs +0 -1367
  167. package/dist/sophia-BJdevZpo.js +0 -1
  168. package/dist/sophia-CKk-_Oa5.mjs +0 -199
  169. package/dist/sparql-DHtmINMZ.mjs +0 -201
  170. package/dist/sparql-v4dsLpAQ.js +0 -1
  171. package/dist/sql-Dqaj5JHC.mjs +0 -853
  172. package/dist/sql-RAt0uxGh.js +0 -1
  173. package/dist/st-Bj2IIaop.mjs +0 -416
  174. package/dist/st-CjwpLApO.js +0 -1
  175. package/dist/swift-BcIVfYEa.js +0 -3
  176. package/dist/swift-DwxP72iM.mjs +0 -312
  177. package/dist/systemverilog-CX2A8v2w.js +0 -1
  178. package/dist/systemverilog-D7wJfuql.mjs +0 -576
  179. package/dist/tcl-0ApMt-eC.mjs +0 -232
  180. package/dist/tcl-CCvdS1Ng.js +0 -1
  181. package/dist/ts.worker.js +0 -67706
  182. package/dist/tsMode-CieVaThB.js +0 -11
  183. package/dist/tsMode-pbVGEqHg.mjs +0 -946
  184. package/dist/twig-DxwbdmvQ.mjs +0 -392
  185. package/dist/twig-KWJe-gee.js +0 -1
  186. package/dist/typescript-CL7lZGgL.mjs +0 -336
  187. package/dist/typescript-D-fgoGBJ.js +0 -1
  188. package/dist/typespec-Fd-JwSuS.mjs +0 -117
  189. package/dist/typespec-gb5rMy4D.js +0 -1
  190. package/dist/vb-CxuyYE1I.mjs +0 -372
  191. package/dist/vb-D2rfixXK.js +0 -1
  192. package/dist/wgsl-DoEGc31J.mjs +0 -439
  193. package/dist/wgsl-Dpy8Oyoq.js +0 -298
  194. package/dist/xml-Dm8zU0Zq.mjs +0 -88
  195. package/dist/xml-luJ1w-__.js +0 -1
  196. package/dist/yaml-DDKFPb37.mjs +0 -199
  197. package/dist/yaml-DZkx0RTO.js +0 -1
@@ -1,569 +0,0 @@
1
- const e = {
2
- comments: {
3
- lineComment: "#"
4
- },
5
- brackets: [
6
- ["{", "}"],
7
- ["[", "]"],
8
- ["(", ")"]
9
- ],
10
- surroundingPairs: [
11
- { open: "{", close: "}" },
12
- { open: "[", close: "]" },
13
- { open: "(", close: ")" },
14
- { open: "'", close: "'" },
15
- { open: '"', close: '"' }
16
- ],
17
- autoClosingPairs: [
18
- { open: "'", close: "'", notIn: ["string", "comment"] },
19
- { open: '"', close: '"', notIn: ["comment"] },
20
- { open: '"""', close: '"""' },
21
- { open: "`", close: "`", notIn: ["string", "comment"] },
22
- { open: "(", close: ")" },
23
- { open: "{", close: "}" },
24
- { open: "[", close: "]" },
25
- { open: "<<", close: ">>" }
26
- ],
27
- indentationRules: {
28
- increaseIndentPattern: /^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,
29
- decreaseIndentPattern: /^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/
30
- }
31
- }, t = {
32
- defaultToken: "source",
33
- tokenPostfix: ".elixir",
34
- brackets: [
35
- { open: "[", close: "]", token: "delimiter.square" },
36
- { open: "(", close: ")", token: "delimiter.parenthesis" },
37
- { open: "{", close: "}", token: "delimiter.curly" },
38
- { open: "<<", close: ">>", token: "delimiter.angle.special" }
39
- ],
40
- // Below are lists/regexps to which we reference later.
41
- declarationKeywords: [
42
- "def",
43
- "defp",
44
- "defn",
45
- "defnp",
46
- "defguard",
47
- "defguardp",
48
- "defmacro",
49
- "defmacrop",
50
- "defdelegate",
51
- "defcallback",
52
- "defmacrocallback",
53
- "defmodule",
54
- "defprotocol",
55
- "defexception",
56
- "defimpl",
57
- "defstruct"
58
- ],
59
- operatorKeywords: ["and", "in", "not", "or", "when"],
60
- namespaceKeywords: ["alias", "import", "require", "use"],
61
- otherKeywords: [
62
- "after",
63
- "case",
64
- "catch",
65
- "cond",
66
- "do",
67
- "else",
68
- "end",
69
- "fn",
70
- "for",
71
- "if",
72
- "quote",
73
- "raise",
74
- "receive",
75
- "rescue",
76
- "super",
77
- "throw",
78
- "try",
79
- "unless",
80
- "unquote_splicing",
81
- "unquote",
82
- "with"
83
- ],
84
- constants: ["true", "false", "nil"],
85
- nameBuiltin: ["__MODULE__", "__DIR__", "__ENV__", "__CALLER__", "__STACKTRACE__"],
86
- // Matches any of the operator names:
87
- // <<< >>> ||| &&& ^^^ ~~~ === !== ~>> <~> |~> <|> == != <= >= && || \\ <> ++ -- |> =~ -> <- ~> <~ :: .. = < > + - * / | . ^ & !
88
- operator: /-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,
89
- // See https://hexdocs.pm/elixir/syntax-reference.html#variables
90
- variableName: /[a-z_][a-zA-Z0-9_]*[?!]?/,
91
- // See https://hexdocs.pm/elixir/syntax-reference.html#atoms
92
- atomName: /[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,
93
- specialAtomName: /\.\.\.|<<>>|%\{\}|%|\{\}/,
94
- aliasPart: /[A-Z][a-zA-Z0-9_]*/,
95
- moduleName: /@aliasPart(?:\.@aliasPart)*/,
96
- // Sigil pairs are: """ """, ''' ''', " ", ' ', / /, | |, < >, { }, [ ], ( )
97
- sigilSymmetricDelimiter: /"""|'''|"|'|\/|\|/,
98
- sigilStartDelimiter: /@sigilSymmetricDelimiter|<|\{|\[|\(/,
99
- sigilEndDelimiter: /@sigilSymmetricDelimiter|>|\}|\]|\)/,
100
- sigilModifiers: /[a-zA-Z0-9]*/,
101
- decimal: /\d(?:_?\d)*/,
102
- hex: /[0-9a-fA-F](_?[0-9a-fA-F])*/,
103
- octal: /[0-7](_?[0-7])*/,
104
- binary: /[01](_?[01])*/,
105
- // See https://hexdocs.pm/elixir/master/String.html#module-escape-characters
106
- escape: /\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,
107
- // The keys below correspond to tokenizer states.
108
- // We start from the root state and match against its rules
109
- // until we explicitly transition into another state.
110
- // The `include` simply brings in all operations from the given state
111
- // and is useful for improving readability.
112
- tokenizer: {
113
- root: [
114
- { include: "@whitespace" },
115
- { include: "@comments" },
116
- // Keywords start as either an identifier or a string,
117
- // but end with a : so it's important to match this first.
118
- { include: "@keywordsShorthand" },
119
- { include: "@numbers" },
120
- { include: "@identifiers" },
121
- { include: "@strings" },
122
- { include: "@atoms" },
123
- { include: "@sigils" },
124
- { include: "@attributes" },
125
- { include: "@symbols" }
126
- ],
127
- // Whitespace
128
- whitespace: [[/\s+/, "white"]],
129
- // Comments
130
- comments: [[/(#)(.*)/, ["comment.punctuation", "comment"]]],
131
- // Keyword list shorthand
132
- keywordsShorthand: [
133
- [/(@atomName)(:)(\s+)/, ["constant", "constant.punctuation", "white"]],
134
- // Use positive look-ahead to ensure the string is followed by :
135
- // and should be considered a keyword.
136
- [
137
- /"(?=([^"]|#\{.*?\}|\\")*":)/,
138
- { token: "constant.delimiter", next: "@doubleQuotedStringKeyword" }
139
- ],
140
- [
141
- /'(?=([^']|#\{.*?\}|\\')*':)/,
142
- { token: "constant.delimiter", next: "@singleQuotedStringKeyword" }
143
- ]
144
- ],
145
- doubleQuotedStringKeyword: [
146
- [/":/, { token: "constant.delimiter", next: "@pop" }],
147
- { include: "@stringConstantContentInterpol" }
148
- ],
149
- singleQuotedStringKeyword: [
150
- [/':/, { token: "constant.delimiter", next: "@pop" }],
151
- { include: "@stringConstantContentInterpol" }
152
- ],
153
- // Numbers
154
- numbers: [
155
- [/0b@binary/, "number.binary"],
156
- [/0o@octal/, "number.octal"],
157
- [/0x@hex/, "number.hex"],
158
- [/@decimal\.@decimal([eE]-?@decimal)?/, "number.float"],
159
- [/@decimal/, "number"]
160
- ],
161
- // Identifiers
162
- identifiers: [
163
- // Tokenize identifier name in function-like definitions.
164
- // Note: given `def a + b, do: nil`, `a` is not a function name,
165
- // so we use negative look-ahead to ensure there's no operator.
166
- [
167
- /\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,
168
- [
169
- "keyword.declaration",
170
- "white",
171
- {
172
- cases: {
173
- unquote: "keyword",
174
- "@default": "function"
175
- }
176
- }
177
- ]
178
- ],
179
- // Tokenize function calls
180
- [
181
- // In-scope call - an identifier followed by ( or .(
182
- /(@variableName)(?=\s*\.?\s*\()/,
183
- {
184
- cases: {
185
- // Tokenize as keyword in cases like `if(..., do: ..., else: ...)`
186
- "@declarationKeywords": "keyword.declaration",
187
- "@namespaceKeywords": "keyword",
188
- "@otherKeywords": "keyword",
189
- "@default": "function.call"
190
- }
191
- }
192
- ],
193
- [
194
- // Referencing function in a module
195
- /(@moduleName)(\s*)(\.)(\s*)(@variableName)/,
196
- ["type.identifier", "white", "operator", "white", "function.call"]
197
- ],
198
- [
199
- // Referencing function in an Erlang module
200
- /(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,
201
- ["constant.punctuation", "constant", "white", "operator", "white", "function.call"]
202
- ],
203
- [
204
- // Piping into a function (tokenized separately as it may not have parentheses)
205
- /(\|>)(\s*)(@variableName)/,
206
- [
207
- "operator",
208
- "white",
209
- {
210
- cases: {
211
- "@otherKeywords": "keyword",
212
- "@default": "function.call"
213
- }
214
- }
215
- ]
216
- ],
217
- [
218
- // Function reference passed to another function
219
- /(&)(\s*)(@variableName)/,
220
- ["operator", "white", "function.call"]
221
- ],
222
- // Language keywords, builtins, constants and variables
223
- [
224
- /@variableName/,
225
- {
226
- cases: {
227
- "@declarationKeywords": "keyword.declaration",
228
- "@operatorKeywords": "keyword.operator",
229
- "@namespaceKeywords": "keyword",
230
- "@otherKeywords": "keyword",
231
- "@constants": "constant.language",
232
- "@nameBuiltin": "variable.language",
233
- "_.*": "comment.unused",
234
- "@default": "identifier"
235
- }
236
- }
237
- ],
238
- // Module names
239
- [/@moduleName/, "type.identifier"]
240
- ],
241
- // Strings
242
- strings: [
243
- [/"""/, { token: "string.delimiter", next: "@doubleQuotedHeredoc" }],
244
- [/'''/, { token: "string.delimiter", next: "@singleQuotedHeredoc" }],
245
- [/"/, { token: "string.delimiter", next: "@doubleQuotedString" }],
246
- [/'/, { token: "string.delimiter", next: "@singleQuotedString" }]
247
- ],
248
- doubleQuotedHeredoc: [
249
- [/"""/, { token: "string.delimiter", next: "@pop" }],
250
- { include: "@stringContentInterpol" }
251
- ],
252
- singleQuotedHeredoc: [
253
- [/'''/, { token: "string.delimiter", next: "@pop" }],
254
- { include: "@stringContentInterpol" }
255
- ],
256
- doubleQuotedString: [
257
- [/"/, { token: "string.delimiter", next: "@pop" }],
258
- { include: "@stringContentInterpol" }
259
- ],
260
- singleQuotedString: [
261
- [/'/, { token: "string.delimiter", next: "@pop" }],
262
- { include: "@stringContentInterpol" }
263
- ],
264
- // Atoms
265
- atoms: [
266
- [/(:)(@atomName)/, ["constant.punctuation", "constant"]],
267
- [/:"/, { token: "constant.delimiter", next: "@doubleQuotedStringAtom" }],
268
- [/:'/, { token: "constant.delimiter", next: "@singleQuotedStringAtom" }]
269
- ],
270
- doubleQuotedStringAtom: [
271
- [/"/, { token: "constant.delimiter", next: "@pop" }],
272
- { include: "@stringConstantContentInterpol" }
273
- ],
274
- singleQuotedStringAtom: [
275
- [/'/, { token: "constant.delimiter", next: "@pop" }],
276
- { include: "@stringConstantContentInterpol" }
277
- ],
278
- // Sigils
279
- // See https://elixir-lang.org/getting-started/sigils.html
280
- // Sigils allow for typing values using their textual representation.
281
- // All sigils start with ~ followed by a letter or
282
- // multi-letter uppercase starting at Elixir v1.15.0, indicating sigil type
283
- // and then a delimiter pair enclosing the textual representation.
284
- // Optional modifiers are allowed after the closing delimiter.
285
- // For instance a regular expressions can be written as:
286
- // ~r/foo|bar/ ~r{foo|bar} ~r/foo|bar/g
287
- //
288
- // In general lowercase sigils allow for interpolation
289
- // and escaped characters, whereas uppercase sigils don't
290
- //
291
- // During tokenization we want to distinguish some
292
- // specific sigil types, namely string and regexp,
293
- // so that they cen be themed separately.
294
- //
295
- // To reasonably handle all those combinations we leverage
296
- // dot-separated states, so if we transition to @sigilStart.interpol.s.{.}
297
- // then "sigilStart.interpol.s" state will match and also all
298
- // the individual dot-separated parameters can be accessed.
299
- sigils: [
300
- [/~[a-z]@sigilStartDelimiter/, { token: "@rematch", next: "@sigil.interpol" }],
301
- [/~([A-Z]+)@sigilStartDelimiter/, { token: "@rematch", next: "@sigil.noInterpol" }]
302
- ],
303
- sigil: [
304
- [/~([a-z]|[A-Z]+)\{/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.{.}" }],
305
- [/~([a-z]|[A-Z]+)\[/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.[.]" }],
306
- [/~([a-z]|[A-Z]+)\(/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.(.)" }],
307
- [/~([a-z]|[A-Z]+)\</, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.<.>" }],
308
- [
309
- /~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,
310
- { token: "@rematch", switchTo: "@sigilStart.$S2.$1.$2.$2" }
311
- ]
312
- ],
313
- // The definitions below expect states to be of the form:
314
- //
315
- // sigilStart.<interpol-or-noInterpol>.<sigil-letter>.<start-delimiter>.<end-delimiter>
316
- // sigilContinue.<interpol-or-noInterpol>.<sigil-letter>.<start-delimiter>.<end-delimiter>
317
- //
318
- // The sigilStart state is used only to properly classify the token (as string/regex/sigil)
319
- // and immediately switches to the sigilContinue sate, which handles the actual content
320
- // and waits for the corresponding end delimiter.
321
- "sigilStart.interpol.s": [
322
- [
323
- /~s@sigilStartDelimiter/,
324
- {
325
- token: "string.delimiter",
326
- switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
327
- }
328
- ]
329
- ],
330
- "sigilContinue.interpol.s": [
331
- [
332
- /(@sigilEndDelimiter)@sigilModifiers/,
333
- {
334
- cases: {
335
- "$1==$S5": { token: "string.delimiter", next: "@pop" },
336
- "@default": "string"
337
- }
338
- }
339
- ],
340
- { include: "@stringContentInterpol" }
341
- ],
342
- "sigilStart.noInterpol.S": [
343
- [
344
- /~S@sigilStartDelimiter/,
345
- {
346
- token: "string.delimiter",
347
- switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
348
- }
349
- ]
350
- ],
351
- "sigilContinue.noInterpol.S": [
352
- // Ignore escaped sigil end
353
- [/(^|[^\\])\\@sigilEndDelimiter/, "string"],
354
- [
355
- /(@sigilEndDelimiter)@sigilModifiers/,
356
- {
357
- cases: {
358
- "$1==$S5": { token: "string.delimiter", next: "@pop" },
359
- "@default": "string"
360
- }
361
- }
362
- ],
363
- { include: "@stringContent" }
364
- ],
365
- "sigilStart.interpol.r": [
366
- [
367
- /~r@sigilStartDelimiter/,
368
- {
369
- token: "regexp.delimiter",
370
- switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
371
- }
372
- ]
373
- ],
374
- "sigilContinue.interpol.r": [
375
- [
376
- /(@sigilEndDelimiter)@sigilModifiers/,
377
- {
378
- cases: {
379
- "$1==$S5": { token: "regexp.delimiter", next: "@pop" },
380
- "@default": "regexp"
381
- }
382
- }
383
- ],
384
- { include: "@regexpContentInterpol" }
385
- ],
386
- "sigilStart.noInterpol.R": [
387
- [
388
- /~R@sigilStartDelimiter/,
389
- {
390
- token: "regexp.delimiter",
391
- switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
392
- }
393
- ]
394
- ],
395
- "sigilContinue.noInterpol.R": [
396
- // Ignore escaped sigil end
397
- [/(^|[^\\])\\@sigilEndDelimiter/, "regexp"],
398
- [
399
- /(@sigilEndDelimiter)@sigilModifiers/,
400
- {
401
- cases: {
402
- "$1==$S5": { token: "regexp.delimiter", next: "@pop" },
403
- "@default": "regexp"
404
- }
405
- }
406
- ],
407
- { include: "@regexpContent" }
408
- ],
409
- // Fallback to the generic sigil by default
410
- "sigilStart.interpol": [
411
- [
412
- /~([a-z]|[A-Z]+)@sigilStartDelimiter/,
413
- {
414
- token: "sigil.delimiter",
415
- switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
416
- }
417
- ]
418
- ],
419
- "sigilContinue.interpol": [
420
- [
421
- /(@sigilEndDelimiter)@sigilModifiers/,
422
- {
423
- cases: {
424
- "$1==$S5": { token: "sigil.delimiter", next: "@pop" },
425
- "@default": "sigil"
426
- }
427
- }
428
- ],
429
- { include: "@sigilContentInterpol" }
430
- ],
431
- "sigilStart.noInterpol": [
432
- [
433
- /~([a-z]|[A-Z]+)@sigilStartDelimiter/,
434
- {
435
- token: "sigil.delimiter",
436
- switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
437
- }
438
- ]
439
- ],
440
- "sigilContinue.noInterpol": [
441
- // Ignore escaped sigil end
442
- [/(^|[^\\])\\@sigilEndDelimiter/, "sigil"],
443
- [
444
- /(@sigilEndDelimiter)@sigilModifiers/,
445
- {
446
- cases: {
447
- "$1==$S5": { token: "sigil.delimiter", next: "@pop" },
448
- "@default": "sigil"
449
- }
450
- }
451
- ],
452
- { include: "@sigilContent" }
453
- ],
454
- // Attributes
455
- attributes: [
456
- // Module @doc* attributes - tokenized as comments
457
- [
458
- /\@(module|type)?doc (~[sS])?"""/,
459
- {
460
- token: "comment.block.documentation",
461
- next: "@doubleQuotedHeredocDocstring"
462
- }
463
- ],
464
- [
465
- /\@(module|type)?doc (~[sS])?'''/,
466
- {
467
- token: "comment.block.documentation",
468
- next: "@singleQuotedHeredocDocstring"
469
- }
470
- ],
471
- [
472
- /\@(module|type)?doc (~[sS])?"/,
473
- {
474
- token: "comment.block.documentation",
475
- next: "@doubleQuotedStringDocstring"
476
- }
477
- ],
478
- [
479
- /\@(module|type)?doc (~[sS])?'/,
480
- {
481
- token: "comment.block.documentation",
482
- next: "@singleQuotedStringDocstring"
483
- }
484
- ],
485
- [/\@(module|type)?doc false/, "comment.block.documentation"],
486
- // Module attributes
487
- [/\@(@variableName)/, "variable"]
488
- ],
489
- doubleQuotedHeredocDocstring: [
490
- [/"""/, { token: "comment.block.documentation", next: "@pop" }],
491
- { include: "@docstringContent" }
492
- ],
493
- singleQuotedHeredocDocstring: [
494
- [/'''/, { token: "comment.block.documentation", next: "@pop" }],
495
- { include: "@docstringContent" }
496
- ],
497
- doubleQuotedStringDocstring: [
498
- [/"/, { token: "comment.block.documentation", next: "@pop" }],
499
- { include: "@docstringContent" }
500
- ],
501
- singleQuotedStringDocstring: [
502
- [/'/, { token: "comment.block.documentation", next: "@pop" }],
503
- { include: "@docstringContent" }
504
- ],
505
- // Operators, punctuation, brackets
506
- symbols: [
507
- // Code point operator (either with regular character ?a or an escaped one ?\n)
508
- [/\?(\\.|[^\\\s])/, "number.constant"],
509
- // Anonymous function arguments
510
- [/&\d+/, "operator"],
511
- // Bitshift operators (must go before delimiters, so that << >> don't match first)
512
- [/<<<|>>>/, "operator"],
513
- // Delimiter pairs
514
- [/[()\[\]\{\}]|<<|>>/, "@brackets"],
515
- // Triple dot is a valid name (must go before operators, so that .. doesn't match instead)
516
- [/\.\.\./, "identifier"],
517
- // Punctuation => (must go before operators, so it's not tokenized as = then >)
518
- [/=>/, "punctuation"],
519
- // Operators
520
- [/@operator/, "operator"],
521
- // Punctuation
522
- [/[:;,.%]/, "punctuation"]
523
- ],
524
- // Generic helpers
525
- stringContentInterpol: [
526
- { include: "@interpolation" },
527
- { include: "@escapeChar" },
528
- { include: "@stringContent" }
529
- ],
530
- stringContent: [[/./, "string"]],
531
- stringConstantContentInterpol: [
532
- { include: "@interpolation" },
533
- { include: "@escapeChar" },
534
- { include: "@stringConstantContent" }
535
- ],
536
- stringConstantContent: [[/./, "constant"]],
537
- regexpContentInterpol: [
538
- { include: "@interpolation" },
539
- { include: "@escapeChar" },
540
- { include: "@regexpContent" }
541
- ],
542
- regexpContent: [
543
- // # may be a regular regexp char, so we use a heuristic
544
- // assuming a # surrounded by whitespace is actually a comment.
545
- [/(\s)(#)(\s.*)$/, ["white", "comment.punctuation", "comment"]],
546
- [/./, "regexp"]
547
- ],
548
- sigilContentInterpol: [
549
- { include: "@interpolation" },
550
- { include: "@escapeChar" },
551
- { include: "@sigilContent" }
552
- ],
553
- sigilContent: [[/./, "sigil"]],
554
- docstringContent: [[/./, "comment.block.documentation"]],
555
- escapeChar: [[/@escape/, "constant.character.escape"]],
556
- interpolation: [[/#{/, { token: "delimiter.bracket.embed", next: "@interpolationContinue" }]],
557
- interpolationContinue: [
558
- [/}/, { token: "delimiter.bracket.embed", next: "@pop" }],
559
- // Interpolation brackets may contain arbitrary code,
560
- // so we simply match against all the root rules,
561
- // until we reach interpolation end (the above matches).
562
- { include: "@root" }
563
- ]
564
- }
565
- };
566
- export {
567
- e as conf,
568
- t as language
569
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}],autoClosingPairs:[{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["comment"]},{open:'"""',close:'"""'},{open:"`",close:"`",notIn:["string","comment"]},{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"<<",close:">>"}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},t={defaultToken:"source",tokenPostfix:".elixir",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"<<",close:">>",token:"delimiter.angle.special"}],declarationKeywords:["def","defp","defn","defnp","defguard","defguardp","defmacro","defmacrop","defdelegate","defcallback","defmacrocallback","defmodule","defprotocol","defexception","defimpl","defstruct"],operatorKeywords:["and","in","not","or","when"],namespaceKeywords:["alias","import","require","use"],otherKeywords:["after","case","catch","cond","do","else","end","fn","for","if","quote","raise","receive","rescue","super","throw","try","unless","unquote_splicing","unquote","with"],constants:["true","false","nil"],nameBuiltin:["__MODULE__","__DIR__","__ENV__","__CALLER__","__STACKTRACE__"],operator:/-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@keywordsShorthand"},{include:"@numbers"},{include:"@identifiers"},{include:"@strings"},{include:"@atoms"},{include:"@sigils"},{include:"@attributes"},{include:"@symbols"}],whitespace:[[/\s+/,"white"]],comments:[[/(#)(.*)/,["comment.punctuation","comment"]]],keywordsShorthand:[[/(@atomName)(:)(\s+)/,["constant","constant.punctuation","white"]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:"constant.delimiter",next:"@doubleQuotedStringKeyword"}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:"constant.delimiter",next:"@singleQuotedStringKeyword"}]],doubleQuotedStringKeyword:[[/":/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringKeyword:[[/':/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],numbers:[[/0b@binary/,"number.binary"],[/0o@octal/,"number.octal"],[/0x@hex/,"number.hex"],[/@decimal\.@decimal([eE]-?@decimal)?/,"number.float"],[/@decimal/,"number"]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,["keyword.declaration","white",{cases:{unquote:"keyword","@default":"function"}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":"keyword.declaration","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@default":"function.call"}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,["type.identifier","white","operator","white","function.call"]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,["constant.punctuation","constant","white","operator","white","function.call"]],[/(\|>)(\s*)(@variableName)/,["operator","white",{cases:{"@otherKeywords":"keyword","@default":"function.call"}}]],[/(&)(\s*)(@variableName)/,["operator","white","function.call"]],[/@variableName/,{cases:{"@declarationKeywords":"keyword.declaration","@operatorKeywords":"keyword.operator","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@constants":"constant.language","@nameBuiltin":"variable.language","_.*":"comment.unused","@default":"identifier"}}],[/@moduleName/,"type.identifier"]],strings:[[/"""/,{token:"string.delimiter",next:"@doubleQuotedHeredoc"}],[/'''/,{token:"string.delimiter",next:"@singleQuotedHeredoc"}],[/"/,{token:"string.delimiter",next:"@doubleQuotedString"}],[/'/,{token:"string.delimiter",next:"@singleQuotedString"}]],doubleQuotedHeredoc:[[/"""/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedHeredoc:[[/'''/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],doubleQuotedString:[[/"/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedString:[[/'/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],atoms:[[/(:)(@atomName)/,["constant.punctuation","constant"]],[/:"/,{token:"constant.delimiter",next:"@doubleQuotedStringAtom"}],[/:'/,{token:"constant.delimiter",next:"@singleQuotedStringAtom"}]],doubleQuotedStringAtom:[[/"/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringAtom:[[/'/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],sigils:[[/~[a-z]@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.interpol"}],[/~([A-Z]+)@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.noInterpol"}]],sigil:[[/~([a-z]|[A-Z]+)\{/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.{.}"}],[/~([a-z]|[A-Z]+)\[/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.[.]"}],[/~([a-z]|[A-Z]+)\(/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.(.)"}],[/~([a-z]|[A-Z]+)\</,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.<.>"}],[/~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.$2.$2"}]],"sigilStart.interpol.s":[[/~s@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.s":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContentInterpol"}],"sigilStart.noInterpol.S":[[/~S@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.S":[[/(^|[^\\])\\@sigilEndDelimiter/,"string"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContent"}],"sigilStart.interpol.r":[[/~r@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.r":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContentInterpol"}],"sigilStart.noInterpol.R":[[/~R@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.R":[[/(^|[^\\])\\@sigilEndDelimiter/,"regexp"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContent"}],"sigilStart.interpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContentInterpol"}],"sigilStart.noInterpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol":[[/(^|[^\\])\\@sigilEndDelimiter/,"sigil"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContent"}],attributes:[[/\@(module|type)?doc (~[sS])?"""/,{token:"comment.block.documentation",next:"@doubleQuotedHeredocDocstring"}],[/\@(module|type)?doc (~[sS])?'''/,{token:"comment.block.documentation",next:"@singleQuotedHeredocDocstring"}],[/\@(module|type)?doc (~[sS])?"/,{token:"comment.block.documentation",next:"@doubleQuotedStringDocstring"}],[/\@(module|type)?doc (~[sS])?'/,{token:"comment.block.documentation",next:"@singleQuotedStringDocstring"}],[/\@(module|type)?doc false/,"comment.block.documentation"],[/\@(@variableName)/,"variable"]],doubleQuotedHeredocDocstring:[[/"""/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],singleQuotedHeredocDocstring:[[/'''/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],doubleQuotedStringDocstring:[[/"/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],singleQuotedStringDocstring:[[/'/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],symbols:[[/\?(\\.|[^\\\s])/,"number.constant"],[/&\d+/,"operator"],[/<<<|>>>/,"operator"],[/[()\[\]\{\}]|<<|>>/,"@brackets"],[/\.\.\./,"identifier"],[/=>/,"punctuation"],[/@operator/,"operator"],[/[:;,.%]/,"punctuation"]],stringContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringContent"}],stringContent:[[/./,"string"]],stringConstantContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringConstantContent"}],stringConstantContent:[[/./,"constant"]],regexpContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@regexpContent"}],regexpContent:[[/(\s)(#)(\s.*)$/,["white","comment.punctuation","comment"]],[/./,"regexp"]],sigilContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@sigilContent"}],sigilContent:[[/./,"sigil"]],docstringContent:[[/./,"comment.block.documentation"]],escapeChar:[[/@escape/,"constant.character.escape"]],interpolation:[[/#{/,{token:"delimiter.bracket.embed",next:"@interpolationContinue"}]],interpolationContinue:[[/}/,{token:"delimiter.bracket.embed",next:"@pop"}],{include:"@root"}]}};exports.conf=e;exports.language=t;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},o={defaultToken:"",tokenPostfix:".flow",keywords:["import","require","export","forbid","native","if","else","cast","unsafe","switch","default"],types:["io","mutable","bool","int","double","string","flow","void","ref","true","false","with"],operators:["=",">","<","<=",">=","==","!","!=",":=","::=","&&","||","+","-","*","/","@","&","%",":","->","\\","$","??","^"],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@types":"type","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"delimiter"],[/[<>](?!@symbols)/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}};exports.conf=e;exports.language=o;