@sqlrooms/sql-editor 0.8.0 → 0.9.0

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 (34) hide show
  1. package/README.md +219 -191
  2. package/dist/CreateTableModal.d.ts +1 -1
  3. package/dist/CreateTableModal.d.ts.map +1 -1
  4. package/dist/CreateTableModal.js +1 -5
  5. package/dist/CreateTableModal.js.map +1 -1
  6. package/dist/SqlEditor.js +5 -5
  7. package/dist/SqlEditor.js.map +1 -1
  8. package/dist/SqlEditorModal.js +1 -1
  9. package/dist/SqlEditorModal.js.map +1 -1
  10. package/dist/SqlEditorSlice.d.ts +4 -4
  11. package/dist/SqlEditorSlice.d.ts.map +1 -1
  12. package/dist/SqlEditorSlice.js +8 -11
  13. package/dist/SqlEditorSlice.js.map +1 -1
  14. package/dist/SqlQueryDataSourcesPanel.d.ts +2 -1
  15. package/dist/SqlQueryDataSourcesPanel.d.ts.map +1 -1
  16. package/dist/SqlQueryDataSourcesPanel.js +8 -10
  17. package/dist/SqlQueryDataSourcesPanel.js.map +1 -1
  18. package/dist/TablesList.js +2 -2
  19. package/dist/TablesList.js.map +1 -1
  20. package/dist/hooks/useTableManagement.js +2 -2
  21. package/dist/hooks/useTableManagement.js.map +1 -1
  22. package/package.json +10 -10
  23. package/dist/SqlEditorSliceConfig.d.ts +0 -53
  24. package/dist/SqlEditorSliceConfig.d.ts.map +0 -1
  25. package/dist/SqlEditorSliceConfig.js +0 -15
  26. package/dist/SqlEditorSliceConfig.js.map +0 -1
  27. package/dist/components/internal/SqlMonacoEditor.d.ts +0 -36
  28. package/dist/components/internal/SqlMonacoEditor.d.ts.map +0 -1
  29. package/dist/components/internal/SqlMonacoEditor.js +0 -219
  30. package/dist/components/internal/SqlMonacoEditor.js.map +0 -1
  31. package/dist/constants/duckdb.d.ts +0 -73
  32. package/dist/constants/duckdb.d.ts.map +0 -1
  33. package/dist/constants/duckdb.js +0 -392
  34. package/dist/constants/duckdb.js.map +0 -1
@@ -1,392 +0,0 @@
1
- /**
2
- * DuckDB SQL language constants for Monaco Editor
3
- */
4
- // DuckDB specific keywords
5
- export const DUCKDB_KEYWORDS = [
6
- 'PRAGMA',
7
- 'RETURNING',
8
- 'QUALIFY',
9
- 'PIVOT',
10
- 'UNPIVOT',
11
- 'EXCLUDE',
12
- 'INCLUDE',
13
- 'WINDOW',
14
- 'FILTER',
15
- 'WITHIN',
16
- 'OVER',
17
- 'PARTITION',
18
- 'RANGE',
19
- 'ROWS',
20
- 'GROUPS',
21
- 'PRECEDING',
22
- 'FOLLOWING',
23
- 'CURRENT',
24
- 'ROW',
25
- 'TIES',
26
- 'OTHERS',
27
- 'EXCLUDE',
28
- 'RESPECT',
29
- 'NULLS',
30
- 'FIRST',
31
- 'LAST',
32
- 'MATERIALIZED',
33
- 'RECURSIVE',
34
- 'TEMPORARY',
35
- 'TEMP',
36
- 'UNLOGGED',
37
- 'GLOBAL',
38
- 'LOCAL',
39
- 'STORED',
40
- 'VIRTUAL',
41
- 'DELIMITED',
42
- 'CSV',
43
- 'JSON',
44
- 'COPY',
45
- 'DESCRIBE',
46
- 'EXPLAIN',
47
- 'SUMMARIZE',
48
- 'PROFILE',
49
- 'LOAD',
50
- 'INSTALL',
51
- 'FORCE',
52
- 'PARALLEL',
53
- 'SEQUENTIAL',
54
- 'PRAGMA',
55
- // Standard SQL keywords
56
- 'SELECT',
57
- 'FROM',
58
- 'WHERE',
59
- 'GROUP',
60
- 'BY',
61
- 'HAVING',
62
- 'ORDER',
63
- 'LIMIT',
64
- 'OFFSET',
65
- 'INSERT',
66
- 'INTO',
67
- 'VALUES',
68
- 'UPDATE',
69
- 'SET',
70
- 'DELETE',
71
- 'CREATE',
72
- 'ALTER',
73
- 'DROP',
74
- 'TABLE',
75
- 'VIEW',
76
- 'INDEX',
77
- 'TRIGGER',
78
- 'PROCEDURE',
79
- 'FUNCTION',
80
- 'DATABASE',
81
- 'SCHEMA',
82
- 'JOIN',
83
- 'INNER',
84
- 'LEFT',
85
- 'RIGHT',
86
- 'FULL',
87
- 'OUTER',
88
- 'CROSS',
89
- 'NATURAL',
90
- 'ON',
91
- 'USING',
92
- 'AND',
93
- 'OR',
94
- 'NOT',
95
- 'NULL',
96
- 'IS',
97
- 'IN',
98
- 'BETWEEN',
99
- 'LIKE',
100
- 'AS',
101
- 'CASE',
102
- 'WHEN',
103
- 'THEN',
104
- 'ELSE',
105
- 'END',
106
- 'DISTINCT',
107
- 'ALL',
108
- 'UNION',
109
- 'INTERSECT',
110
- 'EXCEPT',
111
- 'WITH',
112
- 'CAST',
113
- 'PRIMARY',
114
- 'KEY',
115
- 'FOREIGN',
116
- 'REFERENCES',
117
- 'CONSTRAINT',
118
- 'DEFAULT',
119
- 'CHECK',
120
- 'UNIQUE',
121
- 'INDEX',
122
- 'CASCADE',
123
- 'RESTRICT',
124
- 'ASC',
125
- 'DESC',
126
- 'IF',
127
- 'EXISTS',
128
- 'TRUE',
129
- 'FALSE',
130
- ];
131
- // DuckDB functions
132
- export const DUCKDB_FUNCTIONS = [
133
- // Aggregate functions
134
- 'ARRAY_AGG',
135
- 'AVG',
136
- 'BIT_AND',
137
- 'BIT_OR',
138
- 'BIT_XOR',
139
- 'COUNT',
140
- 'FIRST',
141
- 'LAST',
142
- 'LIST',
143
- 'MAX',
144
- 'MIN',
145
- 'STRING_AGG',
146
- 'SUM',
147
- 'MEDIAN',
148
- 'QUANTILE',
149
- 'APPROX_COUNT_DISTINCT',
150
- 'APPROX_QUANTILE',
151
- // Window functions
152
- 'ROW_NUMBER',
153
- 'RANK',
154
- 'DENSE_RANK',
155
- 'PERCENT_RANK',
156
- 'CUME_DIST',
157
- 'NTILE',
158
- 'LAG',
159
- 'LEAD',
160
- 'FIRST_VALUE',
161
- 'LAST_VALUE',
162
- 'NTH_VALUE',
163
- // Date functions
164
- 'AGE',
165
- 'DATE_PART',
166
- 'DATE_TRUNC',
167
- 'EXTRACT',
168
- 'GREATEST',
169
- 'LEAST',
170
- 'NOW',
171
- 'CURRENT_DATE',
172
- 'CURRENT_TIME',
173
- 'CURRENT_TIMESTAMP',
174
- 'EPOCH',
175
- 'STRFTIME',
176
- 'STRPTIME',
177
- 'TO_TIMESTAMP',
178
- // String functions
179
- 'CONCAT',
180
- 'LENGTH',
181
- 'LOWER',
182
- 'LPAD',
183
- 'LTRIM',
184
- 'REGEXP_MATCHES',
185
- 'REGEXP_REPLACE',
186
- 'REPEAT',
187
- 'REPLACE',
188
- 'REVERSE',
189
- 'RIGHT',
190
- 'RPAD',
191
- 'RTRIM',
192
- 'SPLIT',
193
- 'SUBSTRING',
194
- 'TRIM',
195
- 'UPPER',
196
- // Nested functions
197
- 'LIST_EXTRACT',
198
- 'LIST_ELEMENT',
199
- 'LIST_VALUE',
200
- 'STRUCT_EXTRACT',
201
- 'STRUCT_PACK',
202
- 'MAP',
203
- 'MAP_EXTRACT',
204
- // Math functions
205
- 'ABS',
206
- 'CEIL',
207
- 'CEILING',
208
- 'FLOOR',
209
- 'ROUND',
210
- 'SIGN',
211
- 'SQRT',
212
- 'CBRT',
213
- 'EXP',
214
- 'LN',
215
- 'LOG',
216
- 'POWER',
217
- 'MOD',
218
- 'RANDOM',
219
- 'SETSEED',
220
- 'ACOS',
221
- 'ASIN',
222
- 'ATAN',
223
- 'ATAN2',
224
- 'COS',
225
- 'COT',
226
- 'SIN',
227
- 'TAN',
228
- 'RADIANS',
229
- 'DEGREES',
230
- 'PI',
231
- // Other functions
232
- 'COALESCE',
233
- 'NULLIF',
234
- 'TYPEOF',
235
- 'CURRENT_SCHEMA',
236
- 'CURRENT_USER',
237
- 'HASH',
238
- 'UUID',
239
- 'CHAR_LENGTH',
240
- 'CHARACTER_LENGTH',
241
- 'POSITION',
242
- 'OVERLAY',
243
- 'CONCAT_WS',
244
- 'FORMAT',
245
- 'TO_CHAR',
246
- 'TO_DATE',
247
- 'TO_NUMBER',
248
- 'LOCALTIME',
249
- 'LOCALTIMESTAMP',
250
- 'JUSTIFY_DAYS',
251
- 'JUSTIFY_HOURS',
252
- 'JUSTIFY_INTERVAL',
253
- 'MAKE_DATE',
254
- 'MAKE_INTERVAL',
255
- 'MAKE_TIME',
256
- 'MAKE_TIMESTAMP',
257
- 'CLOCK_TIMESTAMP',
258
- 'STATEMENT_TIMESTAMP',
259
- 'TRANSACTION_TIMESTAMP',
260
- ];
261
- // SQL operators
262
- export const SQL_OPERATORS = [
263
- '+',
264
- '-',
265
- '*',
266
- '/',
267
- '%',
268
- '&',
269
- '|',
270
- '^',
271
- '=',
272
- '<>',
273
- '!=',
274
- '>',
275
- '>=',
276
- '<',
277
- '<=',
278
- '<<',
279
- '>>',
280
- '||',
281
- '::',
282
- '->>',
283
- '->',
284
- '~',
285
- '!',
286
- '@',
287
- ];
288
- // SQL variables
289
- export const SQL_VARIABLES = [
290
- '$1',
291
- '$2',
292
- '$3',
293
- '$4',
294
- '$5',
295
- '$6',
296
- '$7',
297
- '$8',
298
- '$9',
299
- ];
300
- // SQL pseudo columns
301
- export const SQL_PSEUDO_COLUMNS = [
302
- '$ACTION',
303
- '$IDENTITY',
304
- '$ROWGUID',
305
- '$PARTITION',
306
- ];
307
- // SQL language configuration for Monaco Editor
308
- export const SQL_LANGUAGE_CONFIGURATION = {
309
- defaultToken: '',
310
- tokenPostfix: '.sql',
311
- ignoreCase: true,
312
- brackets: [
313
- { open: '[', close: ']', token: 'delimiter.square' },
314
- { open: '(', close: ')', token: 'delimiter.parenthesis' },
315
- ],
316
- keywords: DUCKDB_KEYWORDS,
317
- operators: SQL_OPERATORS,
318
- builtinFunctions: DUCKDB_FUNCTIONS,
319
- builtinVariables: SQL_VARIABLES,
320
- pseudoColumns: SQL_PSEUDO_COLUMNS,
321
- tokenizer: {
322
- root: [
323
- { include: '@comments' },
324
- { include: '@whitespace' },
325
- { include: '@numbers' },
326
- { include: '@strings' },
327
- { include: '@complexIdentifiers' },
328
- { include: '@scopes' },
329
- [/[;,.]/, 'delimiter'],
330
- [/[()]/, '@brackets'],
331
- [
332
- /[\w@#$]+/,
333
- {
334
- cases: {
335
- '@keywords': 'keyword',
336
- '@operators': 'operator',
337
- '@builtinFunctions': 'predefined',
338
- '@builtinVariables': 'predefined',
339
- '@pseudoColumns': 'predefined',
340
- '@default': 'identifier',
341
- },
342
- },
343
- ],
344
- [/[<>=!%&+\-*/|~^]/, 'operator'],
345
- ],
346
- whitespace: [[/\s+/, 'white']],
347
- comments: [
348
- [/--+.*/, 'comment'],
349
- [/\/\*/, { token: 'comment.quote', next: '@comment' }],
350
- ],
351
- comment: [
352
- [/[^*/]+/, 'comment'],
353
- [/\*\//, { token: 'comment.quote', next: '@pop' }],
354
- [/./, 'comment'],
355
- ],
356
- numbers: [
357
- [/0[xX][0-9a-fA-F]*/, 'number'],
358
- [/[$][+-]*\d*(\.\d*)?/, 'number'],
359
- [/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, 'number'],
360
- ],
361
- strings: [
362
- [/'/, { token: 'string', next: '@string' }],
363
- [/"/, { token: 'string.double', next: '@stringDouble' }],
364
- ],
365
- string: [
366
- [/[^']+/, 'string'],
367
- [/''/, 'string'],
368
- [/'/, { token: 'string', next: '@pop' }],
369
- ],
370
- stringDouble: [
371
- [/[^"]+/, 'string.double'],
372
- [/""/, 'string.double'],
373
- [/"/, { token: 'string.double', next: '@pop' }],
374
- ],
375
- complexIdentifiers: [
376
- [/\[/, { token: 'identifier.quote', next: '@bracketedIdentifier' }],
377
- [/"/, { token: 'identifier.quote', next: '@quotedIdentifier' }],
378
- ],
379
- bracketedIdentifier: [
380
- [/[^\]]+/, 'identifier'],
381
- [/]]/, 'identifier'],
382
- [/]/, { token: 'identifier.quote', next: '@pop' }],
383
- ],
384
- quotedIdentifier: [
385
- [/[^"]+/, 'identifier'],
386
- [/""/, 'identifier'],
387
- [/"/, { token: 'identifier.quote', next: '@pop' }],
388
- ],
389
- scopes: [],
390
- },
391
- };
392
- //# sourceMappingURL=duckdb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"duckdb.js","sourceRoot":"","sources":["../../src/constants/duckdb.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * DuckDB SQL language constants for Monaco Editor\n */\n\n// DuckDB specific keywords\nexport const DUCKDB_KEYWORDS = [\n 'PRAGMA',\n 'RETURNING',\n 'QUALIFY',\n 'PIVOT',\n 'UNPIVOT',\n 'EXCLUDE',\n 'INCLUDE',\n 'WINDOW',\n 'FILTER',\n 'WITHIN',\n 'OVER',\n 'PARTITION',\n 'RANGE',\n 'ROWS',\n 'GROUPS',\n 'PRECEDING',\n 'FOLLOWING',\n 'CURRENT',\n 'ROW',\n 'TIES',\n 'OTHERS',\n 'EXCLUDE',\n 'RESPECT',\n 'NULLS',\n 'FIRST',\n 'LAST',\n 'MATERIALIZED',\n 'RECURSIVE',\n 'TEMPORARY',\n 'TEMP',\n 'UNLOGGED',\n 'GLOBAL',\n 'LOCAL',\n 'STORED',\n 'VIRTUAL',\n 'DELIMITED',\n 'CSV',\n 'JSON',\n 'COPY',\n 'DESCRIBE',\n 'EXPLAIN',\n 'SUMMARIZE',\n 'PROFILE',\n 'LOAD',\n 'INSTALL',\n 'FORCE',\n 'PARALLEL',\n 'SEQUENTIAL',\n 'PRAGMA',\n // Standard SQL keywords\n 'SELECT',\n 'FROM',\n 'WHERE',\n 'GROUP',\n 'BY',\n 'HAVING',\n 'ORDER',\n 'LIMIT',\n 'OFFSET',\n 'INSERT',\n 'INTO',\n 'VALUES',\n 'UPDATE',\n 'SET',\n 'DELETE',\n 'CREATE',\n 'ALTER',\n 'DROP',\n 'TABLE',\n 'VIEW',\n 'INDEX',\n 'TRIGGER',\n 'PROCEDURE',\n 'FUNCTION',\n 'DATABASE',\n 'SCHEMA',\n 'JOIN',\n 'INNER',\n 'LEFT',\n 'RIGHT',\n 'FULL',\n 'OUTER',\n 'CROSS',\n 'NATURAL',\n 'ON',\n 'USING',\n 'AND',\n 'OR',\n 'NOT',\n 'NULL',\n 'IS',\n 'IN',\n 'BETWEEN',\n 'LIKE',\n 'AS',\n 'CASE',\n 'WHEN',\n 'THEN',\n 'ELSE',\n 'END',\n 'DISTINCT',\n 'ALL',\n 'UNION',\n 'INTERSECT',\n 'EXCEPT',\n 'WITH',\n 'CAST',\n 'PRIMARY',\n 'KEY',\n 'FOREIGN',\n 'REFERENCES',\n 'CONSTRAINT',\n 'DEFAULT',\n 'CHECK',\n 'UNIQUE',\n 'INDEX',\n 'CASCADE',\n 'RESTRICT',\n 'ASC',\n 'DESC',\n 'IF',\n 'EXISTS',\n 'TRUE',\n 'FALSE',\n];\n\n// DuckDB functions\nexport const DUCKDB_FUNCTIONS = [\n // Aggregate functions\n 'ARRAY_AGG',\n 'AVG',\n 'BIT_AND',\n 'BIT_OR',\n 'BIT_XOR',\n 'COUNT',\n 'FIRST',\n 'LAST',\n 'LIST',\n 'MAX',\n 'MIN',\n 'STRING_AGG',\n 'SUM',\n 'MEDIAN',\n 'QUANTILE',\n 'APPROX_COUNT_DISTINCT',\n 'APPROX_QUANTILE',\n // Window functions\n 'ROW_NUMBER',\n 'RANK',\n 'DENSE_RANK',\n 'PERCENT_RANK',\n 'CUME_DIST',\n 'NTILE',\n 'LAG',\n 'LEAD',\n 'FIRST_VALUE',\n 'LAST_VALUE',\n 'NTH_VALUE',\n // Date functions\n 'AGE',\n 'DATE_PART',\n 'DATE_TRUNC',\n 'EXTRACT',\n 'GREATEST',\n 'LEAST',\n 'NOW',\n 'CURRENT_DATE',\n 'CURRENT_TIME',\n 'CURRENT_TIMESTAMP',\n 'EPOCH',\n 'STRFTIME',\n 'STRPTIME',\n 'TO_TIMESTAMP',\n // String functions\n 'CONCAT',\n 'LENGTH',\n 'LOWER',\n 'LPAD',\n 'LTRIM',\n 'REGEXP_MATCHES',\n 'REGEXP_REPLACE',\n 'REPEAT',\n 'REPLACE',\n 'REVERSE',\n 'RIGHT',\n 'RPAD',\n 'RTRIM',\n 'SPLIT',\n 'SUBSTRING',\n 'TRIM',\n 'UPPER',\n // Nested functions\n 'LIST_EXTRACT',\n 'LIST_ELEMENT',\n 'LIST_VALUE',\n 'STRUCT_EXTRACT',\n 'STRUCT_PACK',\n 'MAP',\n 'MAP_EXTRACT',\n // Math functions\n 'ABS',\n 'CEIL',\n 'CEILING',\n 'FLOOR',\n 'ROUND',\n 'SIGN',\n 'SQRT',\n 'CBRT',\n 'EXP',\n 'LN',\n 'LOG',\n 'POWER',\n 'MOD',\n 'RANDOM',\n 'SETSEED',\n 'ACOS',\n 'ASIN',\n 'ATAN',\n 'ATAN2',\n 'COS',\n 'COT',\n 'SIN',\n 'TAN',\n 'RADIANS',\n 'DEGREES',\n 'PI',\n // Other functions\n 'COALESCE',\n 'NULLIF',\n 'TYPEOF',\n 'CURRENT_SCHEMA',\n 'CURRENT_USER',\n 'HASH',\n 'UUID',\n 'CHAR_LENGTH',\n 'CHARACTER_LENGTH',\n 'POSITION',\n 'OVERLAY',\n 'CONCAT_WS',\n 'FORMAT',\n 'TO_CHAR',\n 'TO_DATE',\n 'TO_NUMBER',\n 'LOCALTIME',\n 'LOCALTIMESTAMP',\n 'JUSTIFY_DAYS',\n 'JUSTIFY_HOURS',\n 'JUSTIFY_INTERVAL',\n 'MAKE_DATE',\n 'MAKE_INTERVAL',\n 'MAKE_TIME',\n 'MAKE_TIMESTAMP',\n 'CLOCK_TIMESTAMP',\n 'STATEMENT_TIMESTAMP',\n 'TRANSACTION_TIMESTAMP',\n];\n\n// SQL operators\nexport const SQL_OPERATORS = [\n '+',\n '-',\n '*',\n '/',\n '%',\n '&',\n '|',\n '^',\n '=',\n '<>',\n '!=',\n '>',\n '>=',\n '<',\n '<=',\n '<<',\n '>>',\n '||',\n '::',\n '->>',\n '->',\n '~',\n '!',\n '@',\n];\n\n// SQL variables\nexport const SQL_VARIABLES = [\n '$1',\n '$2',\n '$3',\n '$4',\n '$5',\n '$6',\n '$7',\n '$8',\n '$9',\n];\n\n// SQL pseudo columns\nexport const SQL_PSEUDO_COLUMNS = [\n '$ACTION',\n '$IDENTITY',\n '$ROWGUID',\n '$PARTITION',\n];\n\n// SQL language configuration for Monaco Editor\nexport const SQL_LANGUAGE_CONFIGURATION = {\n defaultToken: '',\n tokenPostfix: '.sql',\n ignoreCase: true,\n\n brackets: [\n {open: '[', close: ']', token: 'delimiter.square'},\n {open: '(', close: ')', token: 'delimiter.parenthesis'},\n ],\n\n keywords: DUCKDB_KEYWORDS,\n operators: SQL_OPERATORS,\n builtinFunctions: DUCKDB_FUNCTIONS,\n builtinVariables: SQL_VARIABLES,\n pseudoColumns: SQL_PSEUDO_COLUMNS,\n\n tokenizer: {\n root: [\n {include: '@comments'},\n {include: '@whitespace'},\n {include: '@numbers'},\n {include: '@strings'},\n {include: '@complexIdentifiers'},\n {include: '@scopes'},\n [/[;,.]/, 'delimiter'],\n [/[()]/, '@brackets'],\n [\n /[\\w@#$]+/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@builtinFunctions': 'predefined',\n '@builtinVariables': 'predefined',\n '@pseudoColumns': 'predefined',\n '@default': 'identifier',\n },\n },\n ],\n [/[<>=!%&+\\-*/|~^]/, 'operator'],\n ],\n whitespace: [[/\\s+/, 'white']],\n comments: [\n [/--+.*/, 'comment'],\n [/\\/\\*/, {token: 'comment.quote', next: '@comment'}],\n ],\n comment: [\n [/[^*/]+/, 'comment'],\n [/\\*\\//, {token: 'comment.quote', next: '@pop'}],\n [/./, 'comment'],\n ],\n numbers: [\n [/0[xX][0-9a-fA-F]*/, 'number'],\n [/[$][+-]*\\d*(\\.\\d*)?/, 'number'],\n [/((\\d+(\\.\\d*)?)|(\\.\\d+))([eE][\\-+]?\\d+)?/, 'number'],\n ],\n strings: [\n [/'/, {token: 'string', next: '@string'}],\n [/\"/, {token: 'string.double', next: '@stringDouble'}],\n ],\n string: [\n [/[^']+/, 'string'],\n [/''/, 'string'],\n [/'/, {token: 'string', next: '@pop'}],\n ],\n stringDouble: [\n [/[^\"]+/, 'string.double'],\n [/\"\"/, 'string.double'],\n [/\"/, {token: 'string.double', next: '@pop'}],\n ],\n complexIdentifiers: [\n [/\\[/, {token: 'identifier.quote', next: '@bracketedIdentifier'}],\n [/\"/, {token: 'identifier.quote', next: '@quotedIdentifier'}],\n ],\n bracketedIdentifier: [\n [/[^\\]]+/, 'identifier'],\n [/]]/, 'identifier'],\n [/]/, {token: 'identifier.quote', next: '@pop'}],\n ],\n quotedIdentifier: [\n [/[^\"]+/, 'identifier'],\n [/\"\"/, 'identifier'],\n [/\"/, {token: 'identifier.quote', next: '@pop'}],\n ],\n scopes: [],\n },\n};\n"]}