online-compiler-widget 0.0.4 → 1.0.2

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 (161) hide show
  1. package/dist/abap-CrvW7_qN.js +1398 -0
  2. package/dist/apex-BAOI8p1v.js +327 -0
  3. package/dist/assets/css.worker-Cb0JI69t.js +93 -0
  4. package/dist/assets/html.worker-BNFZMwEc.js +470 -0
  5. package/dist/assets/json.worker-BCybXpia.js +58 -0
  6. package/dist/assets/ts.worker-DAVh1bw1.js +67731 -0
  7. package/dist/azcli-BlCk_UqW.js +68 -0
  8. package/dist/bat-DPoEelVx.js +100 -0
  9. package/dist/bicep-Cp1F394l.js +102 -0
  10. package/dist/cameligo-CWqtSlQs.js +174 -0
  11. package/dist/clojure-CKBp32Gf.js +761 -0
  12. package/dist/coffee-CDo6vc-J.js +232 -0
  13. package/dist/cpp-DokufPgf.js +389 -0
  14. package/dist/csharp-BQi3szM0.js +326 -0
  15. package/dist/csp-BSGtCCZ-.js +53 -0
  16. package/dist/css-DEPFDJfb.js +187 -0
  17. package/dist/cssMode-nHrB9Mnr.js +141 -0
  18. package/dist/cypher-DAb1vOxS.js +263 -0
  19. package/dist/dart-C8p4jewR.js +281 -0
  20. package/dist/dockerfile-DP0iLFPN.js +130 -0
  21. package/dist/ecl-BDQHA6fi.js +456 -0
  22. package/dist/elixir-D4II6kDM.js +569 -0
  23. package/dist/flow9-StcnL-VB.js +142 -0
  24. package/dist/freemarker2-BoiXdkJM.js +982 -0
  25. package/dist/fsharp-DdUVp3EN.js +217 -0
  26. package/dist/go-D1-I258M.js +218 -0
  27. package/dist/graphql-DWkL3f8U.js +151 -0
  28. package/dist/handlebars-C7PJzkmo.js +412 -0
  29. package/dist/hcl-D_0MNifv.js +183 -0
  30. package/dist/html-D_xe_tUa.js +301 -0
  31. package/dist/htmlMode-Dk_luXu_.js +152 -0
  32. package/dist/index-Ds0EJmOd.js +129200 -0
  33. package/dist/index.js +14 -0
  34. package/dist/ini-C4I2-MT7.js +71 -0
  35. package/dist/java-OBvaP_SS.js +232 -0
  36. package/dist/javascript-CUK67ITD.js +70 -0
  37. package/dist/jsonMode-BIAYTpVF.js +569 -0
  38. package/dist/julia-BmDH8Kkf.js +511 -0
  39. package/dist/kotlin-Dhu5AGOD.js +252 -0
  40. package/dist/less-CzmjXREq.js +162 -0
  41. package/dist/lexon-CV2c4pN9.js +157 -0
  42. package/dist/liquid-Cgsk8EmK.js +233 -0
  43. package/dist/lspLanguageFeatures-HqO1l9Me.js +1458 -0
  44. package/dist/lua-CFY5U8qF.js +162 -0
  45. package/dist/m3-BL_AnZVh.js +210 -0
  46. package/dist/markdown-CWKQPXCv.js +229 -0
  47. package/dist/mdx-QboWmT4M.js +158 -0
  48. package/dist/mips-ButYmJ5E.js +198 -0
  49. package/dist/msdax-C3cnXqDh.js +375 -0
  50. package/dist/mysql-YlSHaf6G.js +878 -0
  51. package/dist/objective-c-Dwnlproe.js +183 -0
  52. package/dist/pascal-UzGbSWEN.js +251 -0
  53. package/dist/pascaligo-CslTgu68.js +164 -0
  54. package/dist/perl-oj6r_mgw.js +626 -0
  55. package/dist/pgsql-DSBO0Mev.js +851 -0
  56. package/dist/php-YzCD--7j.js +500 -0
  57. package/dist/pla-CmylB8vQ.js +137 -0
  58. package/dist/postiats-CLFW5gNY.js +907 -0
  59. package/dist/powerquery-CmOWUvlh.js +890 -0
  60. package/dist/powershell-fHQcmBLK.js +239 -0
  61. package/dist/protobuf-p5BArb-9.js +420 -0
  62. package/dist/pug-gVdUDvqf.js +402 -0
  63. package/dist/python-kIZaMFF7.js +294 -0
  64. package/dist/qsharp-DnrWSUlt.js +301 -0
  65. package/dist/r-Cv309K2z.js +243 -0
  66. package/dist/razor-ms2cCMGp.js +543 -0
  67. package/dist/redis-DTcS4wMj.js +302 -0
  68. package/dist/redshift-hLxZVESM.js +809 -0
  69. package/dist/restructuredtext-C898lK4f.js +174 -0
  70. package/dist/ruby-CgKtnJIQ.js +511 -0
  71. package/dist/rust-bj8oxVnh.js +343 -0
  72. package/dist/sb-DWynz26l.js +115 -0
  73. package/dist/scala-BL5z1UEd.js +370 -0
  74. package/dist/scheme-DUJsH6VU.js +108 -0
  75. package/dist/scss-CxjmhvaL.js +262 -0
  76. package/dist/shell-D14Zs1dF.js +221 -0
  77. package/dist/solidity-WyRm-BGK.js +1367 -0
  78. package/dist/sophia-CKk-_Oa5.js +199 -0
  79. package/dist/sparql-DHtmINMZ.js +201 -0
  80. package/dist/sql-Dqaj5JHC.js +853 -0
  81. package/dist/st-Bj2IIaop.js +416 -0
  82. package/dist/style.css +1 -0
  83. package/dist/swift-DwxP72iM.js +312 -0
  84. package/dist/systemverilog-D7wJfuql.js +576 -0
  85. package/dist/tcl-0ApMt-eC.js +232 -0
  86. package/dist/tsMode-BiXWAJYS.js +946 -0
  87. package/dist/twig-DxwbdmvQ.js +392 -0
  88. package/dist/typescript-ByMmjZ38.js +336 -0
  89. package/dist/typespec-Fd-JwSuS.js +117 -0
  90. package/dist/vb-CxuyYE1I.js +372 -0
  91. package/dist/wgsl-DoEGc31J.js +439 -0
  92. package/dist/xml-iOXTZgNN.js +88 -0
  93. package/dist/yaml-RRlyy-QW.js +199 -0
  94. package/package.json +41 -36
  95. package/FileStorage/obj/FileStorage.csproj.EntityFrameworkCore.targets +0 -28
  96. package/README.md +0 -1
  97. package/eslint.config.js +0 -26
  98. package/index.html +0 -13
  99. package/index.tsx +0 -3
  100. package/openapitools.json +0 -7
  101. package/pnpm-workspace.yaml +0 -2
  102. package/public/vite.svg +0 -1
  103. package/src/App.css +0 -49
  104. package/src/App.tsx +0 -84
  105. package/src/api/.openapi-generator/FILES +0 -25
  106. package/src/api/.openapi-generator/VERSION +0 -1
  107. package/src/api/.openapi-generator-ignore +0 -23
  108. package/src/api/api.ts +0 -1312
  109. package/src/api/base.ts +0 -62
  110. package/src/api/common.ts +0 -113
  111. package/src/api/configuration.ts +0 -121
  112. package/src/api/docs/CompilationError.md +0 -26
  113. package/src/api/docs/CompileRequest.md +0 -22
  114. package/src/api/docs/CompileResult.md +0 -28
  115. package/src/api/docs/CompilerApi.md +0 -263
  116. package/src/api/docs/CreateFileDto.md +0 -22
  117. package/src/api/docs/CreateProjectRequest.md +0 -20
  118. package/src/api/docs/FileApi.md +0 -274
  119. package/src/api/docs/ProcessStatus.md +0 -28
  120. package/src/api/docs/ProjectApi.md +0 -362
  121. package/src/api/docs/ProjectInfo.md +0 -24
  122. package/src/api/docs/ProjectStats.md +0 -28
  123. package/src/api/docs/RenameFileDto.md +0 -20
  124. package/src/api/docs/RenameProjectRequest.md +0 -20
  125. package/src/api/docs/RunRequest.md +0 -24
  126. package/src/api/docs/RunResult.md +0 -30
  127. package/src/api/docs/RunningProjectInfo.md +0 -26
  128. package/src/api/docs/UpdateFileDto.md +0 -20
  129. package/src/api/git_push.sh +0 -57
  130. package/src/api/index.ts +0 -18
  131. package/src/assets/Badge.svg +0 -17
  132. package/src/assets/closeIcon.svg +0 -20
  133. package/src/assets/documentIcon.svg +0 -11
  134. package/src/assets/history.svg +0 -11
  135. package/src/assets/output.svg +0 -12
  136. package/src/assets/plus.svg +0 -20
  137. package/src/assets/react.svg +0 -1
  138. package/src/assets/save-icon.svg +0 -11
  139. package/src/assets/shield.svg +0 -10
  140. package/src/assets/start.svg +0 -11
  141. package/src/assets/stop.svg +0 -11
  142. package/src/components/CompilerWidget.module.scss +0 -169
  143. package/src/components/CompilerWidget.tsx +0 -331
  144. package/src/components/FileExplorer.module.scss +0 -372
  145. package/src/components/FileExplorer.tsx +0 -285
  146. package/src/components/MonacoEditorWrapper.module.scss +0 -29
  147. package/src/components/MonacoEditorWrapper.tsx +0 -74
  148. package/src/components/OutputPanel.module.scss +0 -123
  149. package/src/components/OutputPanel.tsx +0 -53
  150. package/src/components/RunContainer.module.scss +0 -150
  151. package/src/components/RunContainer.tsx +0 -34
  152. package/src/hooks/useCompiler.ts +0 -228
  153. package/src/hooks/useInitialNodes.ts +0 -0
  154. package/src/index.css +0 -78
  155. package/src/main.tsx +0 -8
  156. package/src/types/EditorDocument.ts +0 -8
  157. package/swagger.json +0 -1020
  158. package/tsconfig.app.json +0 -29
  159. package/tsconfig.json +0 -7
  160. package/tsconfig.node.json +0 -26
  161. package/vite.config.ts +0 -8
@@ -0,0 +1,263 @@
1
+ const e = {
2
+ comments: {
3
+ lineComment: "//",
4
+ blockComment: ["/*", "*/"]
5
+ },
6
+ brackets: [
7
+ ["{", "}"],
8
+ ["[", "]"],
9
+ ["(", ")"]
10
+ ],
11
+ autoClosingPairs: [
12
+ { open: "{", close: "}" },
13
+ { open: "[", close: "]" },
14
+ { open: "(", close: ")" },
15
+ { open: '"', close: '"' },
16
+ { open: "'", close: "'" },
17
+ { open: "`", close: "`" }
18
+ ],
19
+ surroundingPairs: [
20
+ { open: "{", close: "}" },
21
+ { open: "[", close: "]" },
22
+ { open: "(", close: ")" },
23
+ { open: '"', close: '"' },
24
+ { open: "'", close: "'" },
25
+ { open: "`", close: "`" }
26
+ ]
27
+ }, i = {
28
+ defaultToken: "",
29
+ tokenPostfix: ".cypher",
30
+ ignoreCase: !0,
31
+ brackets: [
32
+ { open: "{", close: "}", token: "delimiter.curly" },
33
+ { open: "[", close: "]", token: "delimiter.bracket" },
34
+ { open: "(", close: ")", token: "delimiter.parenthesis" }
35
+ ],
36
+ keywords: [
37
+ "ALL",
38
+ "AND",
39
+ "AS",
40
+ "ASC",
41
+ "ASCENDING",
42
+ "BY",
43
+ "CALL",
44
+ "CASE",
45
+ "CONTAINS",
46
+ "CREATE",
47
+ "DELETE",
48
+ "DESC",
49
+ "DESCENDING",
50
+ "DETACH",
51
+ "DISTINCT",
52
+ "ELSE",
53
+ "END",
54
+ "ENDS",
55
+ "EXISTS",
56
+ "IN",
57
+ "IS",
58
+ "LIMIT",
59
+ "MANDATORY",
60
+ "MATCH",
61
+ "MERGE",
62
+ "NOT",
63
+ "ON",
64
+ "ON",
65
+ "OPTIONAL",
66
+ "OR",
67
+ "ORDER",
68
+ "REMOVE",
69
+ "RETURN",
70
+ "SET",
71
+ "SKIP",
72
+ "STARTS",
73
+ "THEN",
74
+ "UNION",
75
+ "UNWIND",
76
+ "WHEN",
77
+ "WHERE",
78
+ "WITH",
79
+ "XOR",
80
+ "YIELD"
81
+ ],
82
+ builtinLiterals: ["true", "TRUE", "false", "FALSE", "null", "NULL"],
83
+ builtinFunctions: [
84
+ "abs",
85
+ "acos",
86
+ "asin",
87
+ "atan",
88
+ "atan2",
89
+ "avg",
90
+ "ceil",
91
+ "coalesce",
92
+ "collect",
93
+ "cos",
94
+ "cot",
95
+ "count",
96
+ "degrees",
97
+ "e",
98
+ "endNode",
99
+ "exists",
100
+ "exp",
101
+ "floor",
102
+ "head",
103
+ "id",
104
+ "keys",
105
+ "labels",
106
+ "last",
107
+ "left",
108
+ "length",
109
+ "log",
110
+ "log10",
111
+ "lTrim",
112
+ "max",
113
+ "min",
114
+ "nodes",
115
+ "percentileCont",
116
+ "percentileDisc",
117
+ "pi",
118
+ "properties",
119
+ "radians",
120
+ "rand",
121
+ "range",
122
+ "relationships",
123
+ "replace",
124
+ "reverse",
125
+ "right",
126
+ "round",
127
+ "rTrim",
128
+ "sign",
129
+ "sin",
130
+ "size",
131
+ "split",
132
+ "sqrt",
133
+ "startNode",
134
+ "stDev",
135
+ "stDevP",
136
+ "substring",
137
+ "sum",
138
+ "tail",
139
+ "tan",
140
+ "timestamp",
141
+ "toBoolean",
142
+ "toFloat",
143
+ "toInteger",
144
+ "toLower",
145
+ "toString",
146
+ "toUpper",
147
+ "trim",
148
+ "type"
149
+ ],
150
+ operators: [
151
+ // Math operators
152
+ "+",
153
+ "-",
154
+ "*",
155
+ "/",
156
+ "%",
157
+ "^",
158
+ // Comparison operators
159
+ "=",
160
+ "<>",
161
+ "<",
162
+ ">",
163
+ "<=",
164
+ ">=",
165
+ // Pattern operators
166
+ "->",
167
+ "<-",
168
+ "-->",
169
+ "<--"
170
+ ],
171
+ escapes: /\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
172
+ digits: /\d+/,
173
+ octaldigits: /[0-7]+/,
174
+ hexdigits: /[0-9a-fA-F]+/,
175
+ tokenizer: {
176
+ root: [[/[{}[\]()]/, "@brackets"], { include: "common" }],
177
+ common: [
178
+ { include: "@whitespace" },
179
+ { include: "@numbers" },
180
+ { include: "@strings" },
181
+ // Cypher labels on nodes/relationships, e.g. (n:NodeLabel)-[e:RelationshipLabel]
182
+ [/:[a-zA-Z_][\w]*/, "type.identifier"],
183
+ [
184
+ /[a-zA-Z_][\w]*(?=\()/,
185
+ {
186
+ cases: {
187
+ "@builtinFunctions": "predefined.function"
188
+ }
189
+ }
190
+ ],
191
+ [
192
+ /[a-zA-Z_$][\w$]*/,
193
+ {
194
+ cases: {
195
+ "@keywords": "keyword",
196
+ "@builtinLiterals": "predefined.literal",
197
+ "@default": "identifier"
198
+ }
199
+ }
200
+ ],
201
+ [/`/, "identifier.escape", "@identifierBacktick"],
202
+ // delimiter and operator after number because of `.\d` floats and `:` in labels
203
+ [/[;,.:|]/, "delimiter"],
204
+ [
205
+ /[<>=%+\-*/^]+/,
206
+ {
207
+ cases: {
208
+ "@operators": "delimiter",
209
+ "@default": ""
210
+ }
211
+ }
212
+ ]
213
+ ],
214
+ numbers: [
215
+ [/-?(@digits)[eE](-?(@digits))?/, "number.float"],
216
+ [/-?(@digits)?\.(@digits)([eE]-?(@digits))?/, "number.float"],
217
+ [/-?0x(@hexdigits)/, "number.hex"],
218
+ [/-?0(@octaldigits)/, "number.octal"],
219
+ [/-?(@digits)/, "number"]
220
+ ],
221
+ strings: [
222
+ [/"([^"\\]|\\.)*$/, "string.invalid"],
223
+ // non-teminated string
224
+ [/'([^'\\]|\\.)*$/, "string.invalid"],
225
+ // non-teminated string
226
+ [/"/, "string", "@stringDouble"],
227
+ [/'/, "string", "@stringSingle"]
228
+ ],
229
+ whitespace: [
230
+ [/[ \t\r\n]+/, "white"],
231
+ [/\/\*/, "comment", "@comment"],
232
+ [/\/\/.*$/, "comment"]
233
+ ],
234
+ comment: [
235
+ [/\/\/.*/, "comment"],
236
+ [/[^/*]+/, "comment"],
237
+ [/\*\//, "comment", "@pop"],
238
+ [/[/*]/, "comment"]
239
+ ],
240
+ stringDouble: [
241
+ [/[^\\"]+/, "string"],
242
+ [/@escapes/, "string"],
243
+ [/\\./, "string.invalid"],
244
+ [/"/, "string", "@pop"]
245
+ ],
246
+ stringSingle: [
247
+ [/[^\\']+/, "string"],
248
+ [/@escapes/, "string"],
249
+ [/\\./, "string.invalid"],
250
+ [/'/, "string", "@pop"]
251
+ ],
252
+ identifierBacktick: [
253
+ [/[^\\`]+/, "identifier.escape"],
254
+ [/@escapes/, "identifier.escape"],
255
+ [/\\./, "identifier.escape.invalid"],
256
+ [/`/, "identifier.escape", "@pop"]
257
+ ]
258
+ }
259
+ };
260
+ export {
261
+ e as conf,
262
+ i as language
263
+ };
@@ -0,0 +1,281 @@
1
+ const e = {
2
+ comments: {
3
+ lineComment: "//",
4
+ blockComment: ["/*", "*/"]
5
+ },
6
+ brackets: [
7
+ ["{", "}"],
8
+ ["[", "]"],
9
+ ["(", ")"]
10
+ ],
11
+ autoClosingPairs: [
12
+ { open: "{", close: "}" },
13
+ { open: "[", close: "]" },
14
+ { open: "(", close: ")" },
15
+ { open: "'", close: "'", notIn: ["string", "comment"] },
16
+ { open: '"', close: '"', notIn: ["string"] },
17
+ { open: "`", close: "`", notIn: ["string", "comment"] },
18
+ { open: "/**", close: " */", notIn: ["string"] }
19
+ ],
20
+ surroundingPairs: [
21
+ { open: "{", close: "}" },
22
+ { open: "[", close: "]" },
23
+ { open: "(", close: ")" },
24
+ { open: "<", close: ">" },
25
+ { open: "'", close: "'" },
26
+ { open: "(", close: ")" },
27
+ { open: '"', close: '"' },
28
+ { open: "`", close: "`" }
29
+ ],
30
+ folding: {
31
+ markers: {
32
+ start: /^\s*\s*#?region\b/,
33
+ end: /^\s*\s*#?endregion\b/
34
+ }
35
+ }
36
+ }, n = {
37
+ defaultToken: "invalid",
38
+ tokenPostfix: ".dart",
39
+ keywords: [
40
+ "abstract",
41
+ "dynamic",
42
+ "implements",
43
+ "show",
44
+ "as",
45
+ "else",
46
+ "import",
47
+ "static",
48
+ "assert",
49
+ "enum",
50
+ "in",
51
+ "super",
52
+ "async",
53
+ "export",
54
+ "interface",
55
+ "switch",
56
+ "await",
57
+ "extends",
58
+ "is",
59
+ "sync",
60
+ "break",
61
+ "external",
62
+ "library",
63
+ "this",
64
+ "case",
65
+ "factory",
66
+ "mixin",
67
+ "throw",
68
+ "catch",
69
+ "false",
70
+ "new",
71
+ "true",
72
+ "class",
73
+ "final",
74
+ "null",
75
+ "try",
76
+ "const",
77
+ "finally",
78
+ "on",
79
+ "typedef",
80
+ "continue",
81
+ "for",
82
+ "operator",
83
+ "var",
84
+ "covariant",
85
+ "Function",
86
+ "part",
87
+ "void",
88
+ "default",
89
+ "get",
90
+ "rethrow",
91
+ "while",
92
+ "deferred",
93
+ "hide",
94
+ "return",
95
+ "with",
96
+ "do",
97
+ "if",
98
+ "set",
99
+ "yield"
100
+ ],
101
+ typeKeywords: ["int", "double", "String", "bool"],
102
+ operators: [
103
+ "+",
104
+ "-",
105
+ "*",
106
+ "/",
107
+ "~/",
108
+ "%",
109
+ "++",
110
+ "--",
111
+ "==",
112
+ "!=",
113
+ ">",
114
+ "<",
115
+ ">=",
116
+ "<=",
117
+ "=",
118
+ "-=",
119
+ "/=",
120
+ "%=",
121
+ ">>=",
122
+ "^=",
123
+ "+=",
124
+ "*=",
125
+ "~/=",
126
+ "<<=",
127
+ "&=",
128
+ "!=",
129
+ "||",
130
+ "&&",
131
+ "&",
132
+ "|",
133
+ "^",
134
+ "~",
135
+ "<<",
136
+ ">>",
137
+ "!",
138
+ ">>>",
139
+ "??",
140
+ "?",
141
+ ":",
142
+ "|="
143
+ ],
144
+ // we include these common regular expressions
145
+ symbols: /[=><!~?:&|+\-*\/\^%]+/,
146
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
147
+ digits: /\d+(_+\d+)*/,
148
+ octaldigits: /[0-7]+(_+[0-7]+)*/,
149
+ binarydigits: /[0-1]+(_+[0-1]+)*/,
150
+ hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
151
+ regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
152
+ regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,
153
+ // The main tokenizer for our languages
154
+ tokenizer: {
155
+ root: [[/[{}]/, "delimiter.bracket"], { include: "common" }],
156
+ common: [
157
+ // identifiers and keywords
158
+ [
159
+ /[a-z_$][\w$]*/,
160
+ {
161
+ cases: {
162
+ "@typeKeywords": "type.identifier",
163
+ "@keywords": "keyword",
164
+ "@default": "identifier"
165
+ }
166
+ }
167
+ ],
168
+ [/[A-Z_$][\w\$]*/, "type.identifier"],
169
+ // show class names
170
+ // [/[A-Z][\w\$]*/, 'identifier'],
171
+ // whitespace
172
+ { include: "@whitespace" },
173
+ // regular expression: ensure it is terminated before beginning (otherwise it is an opeator)
174
+ [
175
+ /\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,
176
+ { token: "regexp", bracket: "@open", next: "@regexp" }
177
+ ],
178
+ // @ annotations.
179
+ [/@[a-zA-Z]+/, "annotation"],
180
+ // variable
181
+ // delimiters and operators
182
+ [/[()\[\]]/, "@brackets"],
183
+ [/[<>](?!@symbols)/, "@brackets"],
184
+ [/!(?=([^=]|$))/, "delimiter"],
185
+ [
186
+ /@symbols/,
187
+ {
188
+ cases: {
189
+ "@operators": "delimiter",
190
+ "@default": ""
191
+ }
192
+ }
193
+ ],
194
+ // numbers
195
+ [/(@digits)[eE]([\-+]?(@digits))?/, "number.float"],
196
+ [/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, "number.float"],
197
+ [/0[xX](@hexdigits)n?/, "number.hex"],
198
+ [/0[oO]?(@octaldigits)n?/, "number.octal"],
199
+ [/0[bB](@binarydigits)n?/, "number.binary"],
200
+ [/(@digits)n?/, "number"],
201
+ // delimiter: after number because of .\d floats
202
+ [/[;,.]/, "delimiter"],
203
+ // strings
204
+ [/"([^"\\]|\\.)*$/, "string.invalid"],
205
+ // non-teminated string
206
+ [/'([^'\\]|\\.)*$/, "string.invalid"],
207
+ // non-teminated string
208
+ [/"/, "string", "@string_double"],
209
+ [/'/, "string", "@string_single"]
210
+ // [/[a-zA-Z]+/, "variable"]
211
+ ],
212
+ whitespace: [
213
+ [/[ \t\r\n]+/, ""],
214
+ [/\/\*\*(?!\/)/, "comment.doc", "@jsdoc"],
215
+ [/\/\*/, "comment", "@comment"],
216
+ [/\/\/\/.*$/, "comment.doc"],
217
+ [/\/\/.*$/, "comment"]
218
+ ],
219
+ comment: [
220
+ [/[^\/*]+/, "comment"],
221
+ [/\*\//, "comment", "@pop"],
222
+ [/[\/*]/, "comment"]
223
+ ],
224
+ jsdoc: [
225
+ [/[^\/*]+/, "comment.doc"],
226
+ [/\*\//, "comment.doc", "@pop"],
227
+ [/[\/*]/, "comment.doc"]
228
+ ],
229
+ // We match regular expression quite precisely
230
+ regexp: [
231
+ [
232
+ /(\{)(\d+(?:,\d*)?)(\})/,
233
+ ["regexp.escape.control", "regexp.escape.control", "regexp.escape.control"]
234
+ ],
235
+ [
236
+ /(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,
237
+ ["regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }]
238
+ ],
239
+ [/(\()(\?:|\?=|\?!)/, ["regexp.escape.control", "regexp.escape.control"]],
240
+ [/[()]/, "regexp.escape.control"],
241
+ [/@regexpctl/, "regexp.escape.control"],
242
+ [/[^\\\/]/, "regexp"],
243
+ [/@regexpesc/, "regexp.escape"],
244
+ [/\\\./, "regexp.invalid"],
245
+ [/(\/)([gimsuy]*)/, [{ token: "regexp", bracket: "@close", next: "@pop" }, "keyword.other"]]
246
+ ],
247
+ regexrange: [
248
+ [/-/, "regexp.escape.control"],
249
+ [/\^/, "regexp.invalid"],
250
+ [/@regexpesc/, "regexp.escape"],
251
+ [/[^\]]/, "regexp"],
252
+ [
253
+ /\]/,
254
+ {
255
+ token: "regexp.escape.control",
256
+ next: "@pop",
257
+ bracket: "@close"
258
+ }
259
+ ]
260
+ ],
261
+ string_double: [
262
+ [/[^\\"\$]+/, "string"],
263
+ [/[^\\"]+/, "string"],
264
+ [/@escapes/, "string.escape"],
265
+ [/\\./, "string.escape.invalid"],
266
+ [/"/, "string", "@pop"],
267
+ [/\$\w+/, "identifier"]
268
+ ],
269
+ string_single: [
270
+ [/[^\\'\$]+/, "string"],
271
+ [/@escapes/, "string.escape"],
272
+ [/\\./, "string.escape.invalid"],
273
+ [/'/, "string", "@pop"],
274
+ [/\$\w+/, "identifier"]
275
+ ]
276
+ }
277
+ };
278
+ export {
279
+ e as conf,
280
+ n as language
281
+ };
@@ -0,0 +1,130 @@
1
+ const e = {
2
+ brackets: [
3
+ ["{", "}"],
4
+ ["[", "]"],
5
+ ["(", ")"]
6
+ ],
7
+ autoClosingPairs: [
8
+ { open: "{", close: "}" },
9
+ { open: "[", close: "]" },
10
+ { open: "(", close: ")" },
11
+ { open: '"', close: '"' },
12
+ { open: "'", close: "'" }
13
+ ],
14
+ surroundingPairs: [
15
+ { open: "{", close: "}" },
16
+ { open: "[", close: "]" },
17
+ { open: "(", close: ")" },
18
+ { open: '"', close: '"' },
19
+ { open: "'", close: "'" }
20
+ ]
21
+ }, o = {
22
+ defaultToken: "",
23
+ tokenPostfix: ".dockerfile",
24
+ variable: /\${?[\w]+}?/,
25
+ tokenizer: {
26
+ root: [
27
+ { include: "@whitespace" },
28
+ { include: "@comment" },
29
+ [/(ONBUILD)(\s+)/, ["keyword", ""]],
30
+ [/(ENV)(\s+)([\w]+)/, ["keyword", "", { token: "variable", next: "@arguments" }]],
31
+ [
32
+ /(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,
33
+ { token: "keyword", next: "@arguments" }
34
+ ]
35
+ ],
36
+ arguments: [
37
+ { include: "@whitespace" },
38
+ { include: "@strings" },
39
+ [
40
+ /(@variable)/,
41
+ {
42
+ cases: {
43
+ "@eos": { token: "variable", next: "@popall" },
44
+ "@default": "variable"
45
+ }
46
+ }
47
+ ],
48
+ [
49
+ /\\/,
50
+ {
51
+ cases: {
52
+ "@eos": "",
53
+ "@default": ""
54
+ }
55
+ }
56
+ ],
57
+ [
58
+ /./,
59
+ {
60
+ cases: {
61
+ "@eos": { token: "", next: "@popall" },
62
+ "@default": ""
63
+ }
64
+ }
65
+ ]
66
+ ],
67
+ // Deal with white space, including comments
68
+ whitespace: [
69
+ [
70
+ /\s+/,
71
+ {
72
+ cases: {
73
+ "@eos": { token: "", next: "@popall" },
74
+ "@default": ""
75
+ }
76
+ }
77
+ ]
78
+ ],
79
+ comment: [[/(^#.*$)/, "comment", "@popall"]],
80
+ // Recognize strings, including those broken across lines with \ (but not without)
81
+ strings: [
82
+ [/\\'$/, "", "@popall"],
83
+ // \' leaves @arguments at eol
84
+ [/\\'/, ""],
85
+ // \' is not a string
86
+ [/'$/, "string", "@popall"],
87
+ [/'/, "string", "@stringBody"],
88
+ [/"$/, "string", "@popall"],
89
+ [/"/, "string", "@dblStringBody"]
90
+ ],
91
+ stringBody: [
92
+ [
93
+ /[^\\\$']/,
94
+ {
95
+ cases: {
96
+ "@eos": { token: "string", next: "@popall" },
97
+ "@default": "string"
98
+ }
99
+ }
100
+ ],
101
+ [/\\./, "string.escape"],
102
+ [/'$/, "string", "@popall"],
103
+ [/'/, "string", "@pop"],
104
+ [/(@variable)/, "variable"],
105
+ [/\\$/, "string"],
106
+ [/$/, "string", "@popall"]
107
+ ],
108
+ dblStringBody: [
109
+ [
110
+ /[^\\\$"]/,
111
+ {
112
+ cases: {
113
+ "@eos": { token: "string", next: "@popall" },
114
+ "@default": "string"
115
+ }
116
+ }
117
+ ],
118
+ [/\\./, "string.escape"],
119
+ [/"$/, "string", "@popall"],
120
+ [/"/, "string", "@pop"],
121
+ [/(@variable)/, "variable"],
122
+ [/\\$/, "string"],
123
+ [/$/, "string", "@popall"]
124
+ ]
125
+ }
126
+ };
127
+ export {
128
+ e as conf,
129
+ o as language
130
+ };