@sqlrooms/monaco-editor 0.7.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.
@@ -0,0 +1,73 @@
1
+ /**
2
+ * DuckDB SQL language constants for Monaco Editor
3
+ */
4
+ export declare const DUCKDB_KEYWORDS: string[];
5
+ export declare const DUCKDB_FUNCTIONS: string[];
6
+ export declare const SQL_OPERATORS: string[];
7
+ export declare const SQL_VARIABLES: string[];
8
+ export declare const SQL_PSEUDO_COLUMNS: string[];
9
+ export declare const SQL_LANGUAGE_CONFIGURATION: {
10
+ defaultToken: string;
11
+ tokenPostfix: string;
12
+ ignoreCase: boolean;
13
+ brackets: {
14
+ open: string;
15
+ close: string;
16
+ token: string;
17
+ }[];
18
+ keywords: string[];
19
+ operators: string[];
20
+ builtinFunctions: string[];
21
+ builtinVariables: string[];
22
+ pseudoColumns: string[];
23
+ tokenizer: {
24
+ root: ((string | RegExp)[] | {
25
+ include: string;
26
+ } | (RegExp | {
27
+ cases: {
28
+ '@keywords': string;
29
+ '@operators': string;
30
+ '@builtinFunctions': string;
31
+ '@builtinVariables': string;
32
+ '@pseudoColumns': string;
33
+ '@default': string;
34
+ };
35
+ })[])[];
36
+ whitespace: (string | RegExp)[][];
37
+ comments: ((string | RegExp)[] | (RegExp | {
38
+ token: string;
39
+ next: string;
40
+ })[])[];
41
+ comment: ((string | RegExp)[] | (RegExp | {
42
+ token: string;
43
+ next: string;
44
+ })[])[];
45
+ numbers: (string | RegExp)[][];
46
+ strings: (RegExp | {
47
+ token: string;
48
+ next: string;
49
+ })[][];
50
+ string: ((string | RegExp)[] | (RegExp | {
51
+ token: string;
52
+ next: string;
53
+ })[])[];
54
+ stringDouble: ((string | RegExp)[] | (RegExp | {
55
+ token: string;
56
+ next: string;
57
+ })[])[];
58
+ complexIdentifiers: (RegExp | {
59
+ token: string;
60
+ next: string;
61
+ })[][];
62
+ bracketedIdentifier: ((string | RegExp)[] | (RegExp | {
63
+ token: string;
64
+ next: string;
65
+ })[])[];
66
+ quotedIdentifier: ((string | RegExp)[] | (RegExp | {
67
+ token: string;
68
+ next: string;
69
+ })[])[];
70
+ scopes: never[];
71
+ };
72
+ };
73
+ //# sourceMappingURL=duckdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duckdb.d.ts","sourceRoot":"","sources":["../../src/constants/duckdb.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,eAAe,UA6H3B,CAAC;AAGF,eAAO,MAAM,gBAAgB,UAgI5B,CAAC;AAGF,eAAO,MAAM,aAAa,UAyBzB,CAAC;AAGF,eAAO,MAAM,aAAa,UAUzB,CAAC;AAGF,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAGF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFtC,CAAC"}
@@ -0,0 +1,392 @@
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
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * {@include ../README.md}
3
+ * @packageDocumentation
4
+ */
5
+ export { MonacoEditor } from './components/MonacoEditor';
6
+ export type { MonacoEditorProps } from './components/MonacoEditor';
7
+ export { JsonMonacoEditor } from './components/JsonMonacoEditor';
8
+ export type { JsonMonacoEditorProps } from './components/JsonMonacoEditor';
9
+ export { getCssColor, hslToHex, getMonospaceFont } from './utils/color-utils';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,YAAY,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * {@include ../README.md}
3
+ * @packageDocumentation
4
+ */
5
+ export { MonacoEditor } from './components/MonacoEditor';
6
+ export { JsonMonacoEditor } from './components/JsonMonacoEditor';
7
+ // Export utility functions
8
+ export { getCssColor, hslToHex, getMonospaceFont } from './utils/color-utils';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAG/D,2BAA2B;AAC3B,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,qBAAqB,CAAC","sourcesContent":["/**\n * {@include ../README.md}\n * @packageDocumentation\n */\n\nexport {MonacoEditor} from './components/MonacoEditor';\nexport type {MonacoEditorProps} from './components/MonacoEditor';\n\nexport {JsonMonacoEditor} from './components/JsonMonacoEditor';\nexport type {JsonMonacoEditorProps} from './components/JsonMonacoEditor';\n\n// Export utility functions\nexport {getCssColor, hslToHex, getMonospaceFont} from './utils/color-utils';\n"]}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Converts HSL color values to Hex color string
3
+ * @param h Hue (0-360)
4
+ * @param s Saturation (0-100)
5
+ * @param l Lightness (0-100)
6
+ * @returns Hex color string (#RRGGBB)
7
+ */
8
+ export declare function hslToHex(h: number, s: number, l: number): string;
9
+ /**
10
+ * Safely gets a CSS variable and ensures it's in a format Monaco can use
11
+ * @param variableName CSS variable name (e.g. '--background')
12
+ * @param fallbackColor Fallback color if the variable isn't found
13
+ * @returns A color string in a format Monaco can use (typically hex)
14
+ */
15
+ export declare function getCssColor(variableName: string, fallbackColor: string): string;
16
+ /**
17
+ * Gets a monospace font family from CSS variables or falls back to a system monospace font stack
18
+ * @returns Monospace font family string suitable for code editors
19
+ */
20
+ export declare function getMonospaceFont(): string;
21
+ /**
22
+ * Gets Monaco editor menu theme colors based on Tailwind CSS variables
23
+ * @param isDarkTheme Whether the current theme is dark or light
24
+ * @returns Object with menu-related color settings for Monaco editor
25
+ */
26
+ export declare function getMenuColors(isDarkTheme: boolean): Record<string, string>;
27
+ /**
28
+ * Generates a Monaco editor theme specifically for JSON editing with Tailwind colors
29
+ * @param isDarkTheme Whether the current theme is dark or light
30
+ * @returns A complete Monaco editor theme data object for JSON editing
31
+ */
32
+ export declare function getJsonEditorTheme(isDarkTheme: boolean): any;
33
+ //# sourceMappingURL=color-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../src/utils/color-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA8ChE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAQzC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA+J1E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,GAAG,CAqH5D"}