@finos/legend-code-editor 1.2.73

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 (56) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/lib/CodeEditorTheme.d.ts +41 -0
  4. package/lib/CodeEditorTheme.d.ts.map +1 -0
  5. package/lib/CodeEditorTheme.js +99 -0
  6. package/lib/CodeEditorTheme.js.map +1 -0
  7. package/lib/CodeEditorUtils.d.ts +66 -0
  8. package/lib/CodeEditorUtils.d.ts.map +1 -0
  9. package/lib/CodeEditorUtils.js +139 -0
  10. package/lib/CodeEditorUtils.js.map +1 -0
  11. package/lib/PureLanguage.d.ts +38 -0
  12. package/lib/PureLanguage.d.ts.map +1 -0
  13. package/lib/PureLanguage.js +39 -0
  14. package/lib/PureLanguage.js.map +1 -0
  15. package/lib/PureLanguageCodeEditorSupport.d.ts +71 -0
  16. package/lib/PureLanguageCodeEditorSupport.d.ts.map +1 -0
  17. package/lib/PureLanguageCodeEditorSupport.js +238 -0
  18. package/lib/PureLanguageCodeEditorSupport.js.map +1 -0
  19. package/lib/PureLanguageService.d.ts +19 -0
  20. package/lib/PureLanguageService.d.ts.map +1 -0
  21. package/lib/PureLanguageService.js +373 -0
  22. package/lib/PureLanguageService.js.map +1 -0
  23. package/lib/index.d.ts +21 -0
  24. package/lib/index.d.ts.map +1 -0
  25. package/lib/index.js +21 -0
  26. package/lib/index.js.map +1 -0
  27. package/lib/themes/Github-Theme-dark-dimmed.json +613 -0
  28. package/lib/themes/Github-Theme-dark.json +513 -0
  29. package/lib/themes/Github-Theme-light.json +598 -0
  30. package/lib/themes/Material-Theme-Darker.json +816 -0
  31. package/lib/themes/Material-Theme-Default.json +816 -0
  32. package/lib/themes/MonacoEditorThemeUtils.d.ts +31 -0
  33. package/lib/themes/MonacoEditorThemeUtils.d.ts.map +1 -0
  34. package/lib/themes/MonacoEditorThemeUtils.js +88 -0
  35. package/lib/themes/MonacoEditorThemeUtils.js.map +1 -0
  36. package/lib/themes/OneDark-Pro-darker.json +2061 -0
  37. package/lib/themes/OneDark-Pro.json +2090 -0
  38. package/lib/themes/solarized-dark-color-theme.json +398 -0
  39. package/package.json +66 -0
  40. package/src/CodeEditorTheme.ts +151 -0
  41. package/src/CodeEditorUtils.ts +241 -0
  42. package/src/PureLanguage.ts +42 -0
  43. package/src/PureLanguageCodeEditorSupport.ts +341 -0
  44. package/src/PureLanguageService.ts +416 -0
  45. package/src/index.ts +22 -0
  46. package/src/themes/Github-Theme-dark-dimmed.json +613 -0
  47. package/src/themes/Github-Theme-dark.json +513 -0
  48. package/src/themes/Github-Theme-light.json +598 -0
  49. package/src/themes/Material-Theme-Darker.json +816 -0
  50. package/src/themes/Material-Theme-Default.json +816 -0
  51. package/src/themes/MonacoEditorThemeUtils.ts +128 -0
  52. package/src/themes/OneDark-Pro-darker.json +2061 -0
  53. package/src/themes/OneDark-Pro.json +2090 -0
  54. package/src/themes/README.md +8 -0
  55. package/src/themes/solarized-dark-color-theme.json +423 -0
  56. package/tsconfig.json +72 -0
@@ -0,0 +1,373 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /* eslint-disable prefer-named-capture-group */
17
+ import { PURE_ELEMENT_NAME, PURE_CONNECTION_NAME } from '@finos/legend-graph';
18
+ import { languages as monacoLanguagesAPI } from 'monaco-editor';
19
+ import { PURE_GRAMMAR_TOKEN } from './PureLanguage.js';
20
+ import { CODE_EDITOR_LANGUAGE } from './CodeEditorUtils.js';
21
+ /**
22
+ * The postfix to be added to all token types, i.e. identifier.pure, number.pure, etc.
23
+ */
24
+ const PURE_GRAMMAR_TOKEN_POSTFIX = '.pure';
25
+ // Taken from `monaco-languages` configuration for Java in order to do propert brace matching
26
+ // See https://github.com/microsoft/monaco-languages/blob/master/src/java/java.ts
27
+ const configuration = {
28
+ // NOTE: Pure identifier includes $ but not in the first position (as that is parsed as a variable)
29
+ wordPattern: /(-?\d*\.\d\w*)|([^`~!@#%^$&*()\-=+[{\]}\\|;:'",.<>/?\s][^`~!@#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]*)/,
30
+ comments: {
31
+ lineComment: '//',
32
+ blockComment: ['/*', '*/'],
33
+ },
34
+ brackets: [
35
+ ['{', '}'],
36
+ ['[', ']'],
37
+ ['(', ')'],
38
+ ],
39
+ autoClosingPairs: [
40
+ { open: '{', close: '}' },
41
+ { open: '[', close: ']' },
42
+ { open: '(', close: ')' },
43
+ { open: '"', close: '"' },
44
+ { open: "'", close: "'" },
45
+ ],
46
+ surroundingPairs: [
47
+ { open: '{', close: '}' },
48
+ { open: '[', close: ']' },
49
+ { open: '(', close: ')' },
50
+ { open: '"', close: '"' },
51
+ { open: "'", close: "'" },
52
+ { open: '<', close: '>' },
53
+ { open: '<<', close: '>>' },
54
+ ],
55
+ folding: {
56
+ markers: {
57
+ start: new RegExp('^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))'),
58
+ end: new RegExp('^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))'),
59
+ },
60
+ },
61
+ };
62
+ /**
63
+ * Create new monarch definition to support syntax-highlighting
64
+ * See https://microsoft.github.io/monaco-editor/monarch.html
65
+ *
66
+ * The way SQL monarch definition is organized is good and worth learning from
67
+ * See https://github.com/microsoft/monaco-languages/blob/master/src/sql/sql.ts
68
+ *
69
+ * NOTE: using `monarch` only allows fairly very basic syntax-highlighting
70
+ * to actually do full AST analysis, we might need something more serious like
71
+ * using TextMate grammar which is used by VSCode itself
72
+ * See https://github.com/microsoft/monaco-editor#faq
73
+ * See https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide
74
+ */
75
+ const generateLanguageMonarch = (extraKeywords) =>
76
+ // TODO: complete syntax-highlighter for core features like constraint, derived properties, etc.
77
+ // TODO: add syntax highlighting for modules/plugins (come up with a plugin mechanism to do this).
78
+ ({
79
+ defaultToken: 'invalid',
80
+ tokenPostfix: PURE_GRAMMAR_TOKEN_POSTFIX,
81
+ keywords: [
82
+ ...extraKeywords,
83
+ // relational
84
+ 'Schema',
85
+ 'Table',
86
+ 'Join',
87
+ 'View',
88
+ 'primaryKey',
89
+ 'groupBy',
90
+ 'mainTable',
91
+ // native
92
+ 'let',
93
+ 'extends',
94
+ 'true',
95
+ 'false',
96
+ 'projects',
97
+ // elements
98
+ PURE_ELEMENT_NAME.CLASS,
99
+ PURE_ELEMENT_NAME.ASSOCIATION,
100
+ PURE_ELEMENT_NAME.ENUMERATION,
101
+ PURE_ELEMENT_NAME.MEASURE,
102
+ PURE_ELEMENT_NAME.PROFILE,
103
+ PURE_ELEMENT_NAME.FUNCTION,
104
+ PURE_ELEMENT_NAME.MAPPING,
105
+ PURE_ELEMENT_NAME.RUNTIME,
106
+ PURE_ELEMENT_NAME.CONNECTION,
107
+ PURE_ELEMENT_NAME.FILE_GENERATION,
108
+ PURE_ELEMENT_NAME.GENERATION_SPECIFICATION,
109
+ PURE_ELEMENT_NAME.DATA_ELEMENT,
110
+ // connections
111
+ PURE_CONNECTION_NAME.JSON_MODEL_CONNECTION,
112
+ PURE_CONNECTION_NAME.MODEL_CHAIN_CONNECTION,
113
+ PURE_CONNECTION_NAME.XML_MODEL_CONNECTION,
114
+ // mapping
115
+ 'include',
116
+ 'EnumerationMapping',
117
+ 'Pure',
118
+ 'AssociationMapping',
119
+ 'XStore',
120
+ 'AggregationAware',
121
+ /**
122
+ * @modularize
123
+ * See https://github.com/finos/legend-studio/issues/65
124
+ */
125
+ PURE_ELEMENT_NAME.SERVICE,
126
+ PURE_ELEMENT_NAME.FLAT_DATA,
127
+ PURE_ELEMENT_NAME.DATABASE,
128
+ PURE_CONNECTION_NAME.FLAT_DATA_CONNECTION,
129
+ PURE_CONNECTION_NAME.RELATIONAL_DATABASE_CONNECTION,
130
+ 'Relational',
131
+ ],
132
+ operators: [
133
+ '=',
134
+ '>',
135
+ '<',
136
+ '!',
137
+ '~',
138
+ '?',
139
+ ':',
140
+ '==',
141
+ '<=',
142
+ '>=',
143
+ '&&',
144
+ '||',
145
+ '++',
146
+ '--',
147
+ '+',
148
+ '-',
149
+ '*',
150
+ '/',
151
+ '&',
152
+ '|',
153
+ '^',
154
+ '%',
155
+ '->',
156
+ '#{',
157
+ '}#',
158
+ '@',
159
+ '<<',
160
+ '>>',
161
+ ],
162
+ languageStructs: ['import', 'native'],
163
+ // common regular expressions to be used in tokenizer
164
+ identifier: /[a-zA-Z_$][\w$]*/,
165
+ symbols: /[=><!~?:&|+\-*/^%#@]+/,
166
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
167
+ digits: /\d+(_+\d+)*/,
168
+ octaldigits: /[0-7]+(_+[0-7]+)*/,
169
+ binarydigits: /[0-1]+(_+[0-1]+)*/,
170
+ hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
171
+ multiplicity: /\[(?:[a-zA-Z0-9]+(?:\.\.(?:[a-zA-Z0-9]+|\*|))?|\*)\]/,
172
+ package: /(?:[\w_]+::)+/,
173
+ // NOTE: generics is a little tricky because in order to do it right, we have to
174
+ // do some sort of bracket matching, but we just can use a simple tokenizer here
175
+ // so to account for cases like `<Nil,Any|*>)->` `Function<{T[1]->Boolean[1]}>[1]`
176
+ // we have to make sure the content does not contain any `:` or `.` characters
177
+ // in order to avoid the accidental greedy match with inputs like
178
+ // `function doSomething<T>(a: Function<T[1]->Boolean[1]>)`
179
+ // nor we want to make sure the last character of the content is not `-` to avoid
180
+ // accidentally matching `->` as the end of the generics
181
+ generics: /(?:(?:<\w+>)|(?:<[^:.@^()]+[^-]>))/,
182
+ date: /%-?\d+(?:-\d+(?:-\d+(?:T(?:\d+(?::\d+(?::\d+(?:.\d+)?)?)?)(?:[+-][0-9]{4})?)))/,
183
+ time: /%\d+(?::\d+(?::\d+(?:.\d+)?)?)?/,
184
+ tokenizer: {
185
+ root: [
186
+ // NOTE: since `monaco-editor` Monarch is only meant for tokenizing
187
+ // and the need to highlight Pure syntax is more than just token-based,
188
+ // but semantic/syntax-based we have to create these complex rules.
189
+ // the things to note here is these are not meant to match multilines
190
+ // and they must be placed before identifier rules since token matching
191
+ // is run in order
192
+ // See https://github.com/microsoft/monaco-editor/issues/316#issuecomment-273555698
193
+ // See https://github.com/microsoft/monaco-editor/issues/571#issuecomment-342555050
194
+ // See https://microsoft.github.io/monaco-editor/monarch.html
195
+ { include: '@pure' },
196
+ { include: '@date' },
197
+ { include: '@color' },
198
+ // parser markers
199
+ [
200
+ // NOTE: any leading whitespace to the section header is considered invalid syntax
201
+ /^\s*###[\w]+/,
202
+ PURE_GRAMMAR_TOKEN.PARSER,
203
+ ],
204
+ // identifiers and keywords
205
+ [
206
+ /(@identifier)/,
207
+ {
208
+ cases: {
209
+ '@languageStructs': PURE_GRAMMAR_TOKEN.LANGUAGE_STRUCT,
210
+ '@keywords': `${PURE_GRAMMAR_TOKEN.KEYWORD}.$0`,
211
+ // function descriptor
212
+ '([a-zA-Z_$][\\w$]*)_((\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))__)*(\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))_': PURE_GRAMMAR_TOKEN.TYPE,
213
+ '@default': PURE_GRAMMAR_TOKEN.IDENTIFIER,
214
+ },
215
+ },
216
+ ],
217
+ // whitespace
218
+ { include: '@whitespace' },
219
+ // delimiters and operators
220
+ [/[{}()[\]]/, '@brackets'],
221
+ [/[<>](?!@symbols)/, '@brackets'],
222
+ [
223
+ /@symbols/,
224
+ {
225
+ cases: {
226
+ '@operators': PURE_GRAMMAR_TOKEN.OPERATOR,
227
+ '@default': PURE_GRAMMAR_TOKEN.IDENTIFIER,
228
+ },
229
+ },
230
+ ],
231
+ { include: '@number' },
232
+ // delimiter: after number because of .\d floats
233
+ [/[;,.]/, PURE_GRAMMAR_TOKEN.DELIMITER],
234
+ // strings
235
+ // NOTE: including non-teminated string so as people type ', we can start showing them that they're working on a string
236
+ [/'([^'\\]|\\.)*$/, `${PURE_GRAMMAR_TOKEN.STRING}.invalid`],
237
+ [/'/, PURE_GRAMMAR_TOKEN.STRING, '@string'],
238
+ { include: '@characters' },
239
+ ],
240
+ pure: [
241
+ // type
242
+ [/(@package\*)/, [PURE_GRAMMAR_TOKEN.PACKAGE]], // import path
243
+ [
244
+ /(@package?)(@identifier)(@generics?)(\s*)(@multiplicity)/,
245
+ [
246
+ PURE_GRAMMAR_TOKEN.PACKAGE,
247
+ PURE_GRAMMAR_TOKEN.TYPE,
248
+ PURE_GRAMMAR_TOKEN.GENERICS,
249
+ PURE_GRAMMAR_TOKEN.WHITESPACE,
250
+ PURE_GRAMMAR_TOKEN.MULTIPLICITY,
251
+ ],
252
+ ],
253
+ [
254
+ /(@package)(@identifier)(@generics?)/,
255
+ [
256
+ PURE_GRAMMAR_TOKEN.PACKAGE,
257
+ PURE_GRAMMAR_TOKEN.TYPE,
258
+ PURE_GRAMMAR_TOKEN.GENERICS,
259
+ ],
260
+ ],
261
+ // special operators that uses type (e.g. constructor, cast)
262
+ [
263
+ /([@^])(\s*)(@package?)(@identifier)(@generics?)(@multiplicity?)/,
264
+ [
265
+ `${PURE_GRAMMAR_TOKEN.TYPE}.operator`,
266
+ PURE_GRAMMAR_TOKEN.WHITESPACE,
267
+ PURE_GRAMMAR_TOKEN.PACKAGE,
268
+ PURE_GRAMMAR_TOKEN.TYPE,
269
+ PURE_GRAMMAR_TOKEN.GENERICS,
270
+ PURE_GRAMMAR_TOKEN.MULTIPLICITY,
271
+ ],
272
+ ],
273
+ // property / parameter
274
+ [
275
+ /(\.\s*)(@identifier)/,
276
+ [PURE_GRAMMAR_TOKEN.DELIMITER, PURE_GRAMMAR_TOKEN.PROPERTY],
277
+ ],
278
+ [
279
+ /(@identifier)(\s*=)/,
280
+ [PURE_GRAMMAR_TOKEN.PROPERTY, PURE_GRAMMAR_TOKEN.OPERATOR],
281
+ ],
282
+ [
283
+ /(@identifier)(\.)(@identifier)/,
284
+ [
285
+ PURE_GRAMMAR_TOKEN.TYPE,
286
+ PURE_GRAMMAR_TOKEN.OPERATOR,
287
+ PURE_GRAMMAR_TOKEN.PROPERTY,
288
+ ],
289
+ ], // could be: property chain, profile tag, and stereotype
290
+ [
291
+ /(@identifier)(\s*:)/,
292
+ [PURE_GRAMMAR_TOKEN.PARAMETER, PURE_GRAMMAR_TOKEN.OPERATOR],
293
+ ],
294
+ // variables
295
+ [
296
+ /(let)(\s+)(@identifier)(\s*=)/,
297
+ [
298
+ PURE_GRAMMAR_TOKEN.KEYWORD,
299
+ PURE_GRAMMAR_TOKEN.WHITESPACE,
300
+ PURE_GRAMMAR_TOKEN.VARIABLE,
301
+ PURE_GRAMMAR_TOKEN.OPERATOR,
302
+ ],
303
+ ],
304
+ [/(\$@identifier)/, [`${PURE_GRAMMAR_TOKEN.VARIABLE}.reference`]],
305
+ ],
306
+ date: [
307
+ [/(%latest)/, [`${PURE_GRAMMAR_TOKEN.DATE}.latest`]],
308
+ [/(@date)/, [PURE_GRAMMAR_TOKEN.DATE]],
309
+ [/(@time)/, [`${PURE_GRAMMAR_TOKEN.DATE}.time`]],
310
+ ],
311
+ color: [[/(#[0-9a-fA-F]{6})/, [PURE_GRAMMAR_TOKEN.COLOR]]],
312
+ number: [
313
+ [
314
+ /(@digits)[eE]([-+]?(@digits))?[fFdD]?/,
315
+ `${PURE_GRAMMAR_TOKEN.NUMBER}.float`,
316
+ ],
317
+ [
318
+ /(@digits)\.(@digits)([eE][-+]?(@digits))?[fFdD]?/,
319
+ `${PURE_GRAMMAR_TOKEN.NUMBER}.float`,
320
+ ],
321
+ [/0[xX](@hexdigits)[Ll]?/, `${PURE_GRAMMAR_TOKEN.NUMBER}.hex`],
322
+ [/0(@octaldigits)[Ll]?/, `${PURE_GRAMMAR_TOKEN.NUMBER}.octal`],
323
+ [/0[bB](@binarydigits)[Ll]?/, `${PURE_GRAMMAR_TOKEN.NUMBER}.binary`],
324
+ [/(@digits)[fFdD]/, `${PURE_GRAMMAR_TOKEN.NUMBER}.float`],
325
+ [/(@digits)[lL]?/, PURE_GRAMMAR_TOKEN.NUMBER],
326
+ ],
327
+ whitespace: [
328
+ [/[ \t\r\n]+/, PURE_GRAMMAR_TOKEN.WHITESPACE],
329
+ [/\/\*\*(?!\/)/, `${PURE_GRAMMAR_TOKEN.COMMENT}.doc`, '@doc'],
330
+ [/\/\*/, PURE_GRAMMAR_TOKEN.COMMENT, '@comment'],
331
+ [/\/\/.*$/, PURE_GRAMMAR_TOKEN.COMMENT],
332
+ ],
333
+ comment: [
334
+ [/[^/*]+/, PURE_GRAMMAR_TOKEN.COMMENT],
335
+ // [/\/\*/, PURE_GRAMMAR_TOKEN.COMMENT, '@push' ], // nested comment not allowed :-(
336
+ // [/\/\*/, ${PURE_GRAMMAR_TOKEN.COMMENT}.invalid` ], // this breaks block comments in the shape of /* //*/
337
+ [/\*\//, PURE_GRAMMAR_TOKEN.COMMENT, '@pop'],
338
+ [/[/*]/, PURE_GRAMMAR_TOKEN.COMMENT],
339
+ ],
340
+ // Identical copy of comment above, except for the addition of .doc
341
+ doc: [
342
+ [/[^/*]+/, `${PURE_GRAMMAR_TOKEN.COMMENT}.doc`],
343
+ // [/\/\*/, `${PURE_GRAMMAR_TOKEN.COMMENT}.doc`, '@push' ], // nested comment not allowed :-(
344
+ [/\/\*/, `${PURE_GRAMMAR_TOKEN.COMMENT}.doc.invalid`],
345
+ [/\*\//, `${PURE_GRAMMAR_TOKEN.COMMENT}.doc`, '@pop'],
346
+ [/[/*]/, `${PURE_GRAMMAR_TOKEN.COMMENT}.doc`],
347
+ ],
348
+ string: [
349
+ [/[^\\']+/, PURE_GRAMMAR_TOKEN.STRING],
350
+ [/@escapes/, `${PURE_GRAMMAR_TOKEN.STRING}.escape`],
351
+ [/\\./, `${PURE_GRAMMAR_TOKEN.STRING}.escape.invalid`],
352
+ [/'/, PURE_GRAMMAR_TOKEN.STRING, '@pop'],
353
+ ],
354
+ characters: [
355
+ [/'[^\\']'/, PURE_GRAMMAR_TOKEN.STRING],
356
+ [
357
+ /(')(@escapes)(')/,
358
+ [
359
+ PURE_GRAMMAR_TOKEN.STRING,
360
+ `${PURE_GRAMMAR_TOKEN.STRING}.escape`,
361
+ PURE_GRAMMAR_TOKEN.STRING,
362
+ ],
363
+ ],
364
+ [/'/, `${PURE_GRAMMAR_TOKEN.STRING}.invalid`],
365
+ ],
366
+ },
367
+ });
368
+ export function setupPureLanguageService(options) {
369
+ monacoLanguagesAPI.register({ id: CODE_EDITOR_LANGUAGE.PURE });
370
+ monacoLanguagesAPI.setLanguageConfiguration(CODE_EDITOR_LANGUAGE.PURE, configuration);
371
+ monacoLanguagesAPI.setMonarchTokensProvider(CODE_EDITOR_LANGUAGE.PURE, generateLanguageMonarch(options?.extraKeywords ?? []));
372
+ }
373
+ //# sourceMappingURL=PureLanguageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PureLanguageService.js","sourceRoot":"","sources":["../src/PureLanguageService.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export { setupPureLanguageService } from './PureLanguageService.js';
17
+ export { PURE_GRAMMAR_TOKEN } from './PureLanguage.js';
18
+ export * from './PureLanguageCodeEditorSupport.js';
19
+ export * from './CodeEditorUtils.js';
20
+ export * from './CodeEditorTheme.js';
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export { setupPureLanguageService } from './PureLanguageService.js';
17
+ export { PURE_GRAMMAR_TOKEN } from './PureLanguage.js';
18
+ export * from './PureLanguageCodeEditorSupport.js';
19
+ export * from './CodeEditorUtils.js';
20
+ export * from './CodeEditorTheme.js';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}