@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,39 @@
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 var PURE_GRAMMAR_TOKEN;
17
+ (function (PURE_GRAMMAR_TOKEN) {
18
+ PURE_GRAMMAR_TOKEN["WHITESPACE"] = "";
19
+ PURE_GRAMMAR_TOKEN["KEYWORD"] = "keyword";
20
+ PURE_GRAMMAR_TOKEN["IDENTIFIER"] = "identifier";
21
+ PURE_GRAMMAR_TOKEN["OPERATOR"] = "operator";
22
+ PURE_GRAMMAR_TOKEN["DELIMITER"] = "delimiter";
23
+ PURE_GRAMMAR_TOKEN["PARSER"] = "parser";
24
+ PURE_GRAMMAR_TOKEN["NUMBER"] = "number";
25
+ PURE_GRAMMAR_TOKEN["DATE"] = "date";
26
+ PURE_GRAMMAR_TOKEN["COLOR"] = "color";
27
+ PURE_GRAMMAR_TOKEN["PACKAGE"] = "package";
28
+ PURE_GRAMMAR_TOKEN["STRING"] = "string";
29
+ PURE_GRAMMAR_TOKEN["COMMENT"] = "comment";
30
+ PURE_GRAMMAR_TOKEN["LANGUAGE_STRUCT"] = "language-struct";
31
+ PURE_GRAMMAR_TOKEN["MULTIPLICITY"] = "multiplicity";
32
+ PURE_GRAMMAR_TOKEN["GENERICS"] = "generics";
33
+ PURE_GRAMMAR_TOKEN["PROPERTY"] = "property";
34
+ PURE_GRAMMAR_TOKEN["PARAMETER"] = "parameter";
35
+ PURE_GRAMMAR_TOKEN["VARIABLE"] = "variable";
36
+ PURE_GRAMMAR_TOKEN["TYPE"] = "type";
37
+ PURE_GRAMMAR_TOKEN["INVALID"] = "invalid";
38
+ })(PURE_GRAMMAR_TOKEN || (PURE_GRAMMAR_TOKEN = {}));
39
+ //# sourceMappingURL=PureLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PureLanguage.js","sourceRoot":"","sources":["../src/PureLanguage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,kBAyBX;AAzBD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IAEf,yCAAmB,CAAA;IACnB,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IAEvB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IAEnB,yDAAmC,CAAA;IACnC,mDAA6B,CAAA;IAC7B,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IAEb,yCAAmB,CAAA;AACrB,CAAC,EAzBW,kBAAkB,KAAlB,kBAAkB,QAyB7B"}
@@ -0,0 +1,71 @@
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
+ import { type DocumentationEntry } from '@finos/legend-shared';
17
+ import { type editor as monacoEditorAPI, languages as monacoLanguagesAPI, type IPosition } from 'monaco-editor';
18
+ /**
19
+ * This snippet suggestion is meant for an embedded content of an element
20
+ * In other words, it is used to construct element snippet suggestions
21
+ *
22
+ * Because of that, it is expected that there are text content wrapping around
23
+ * this snippet, so the first suggestion might not start from index 1.
24
+ */
25
+ export interface ElementEmbeddedContentSnippetSuggestion {
26
+ /**
27
+ * Brief description about the suggestion item to enable the users to quickly
28
+ * differentiate between one suggestions from another
29
+ */
30
+ description?: string | undefined;
31
+ /**
32
+ * The snippet text to be embedded in the full snippet suggestion text for the element
33
+ *
34
+ * NOTE: The snippet syntax follows that of `monaco-editor`
35
+ * See https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets
36
+ */
37
+ text: string;
38
+ }
39
+ /**
40
+ * This mirrors `monaco-editor` completion item structure
41
+ * See https://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.CompletionItem.html
42
+ */
43
+ export interface PureGrammarTextSuggestion {
44
+ /**
45
+ * The text label of the suggestion.
46
+ */
47
+ text: string;
48
+ /**
49
+ * Brief description about the suggestion item to enable the users to quickly
50
+ * differentiate between one suggestions from another
51
+ */
52
+ description?: string | undefined;
53
+ /**
54
+ * Detailed documentation that explains/elaborates the suggestion item.
55
+ */
56
+ documentation?: DocumentationEntry | undefined;
57
+ /**
58
+ * A string or snippet that should be inserted when selecting this suggestion.
59
+ *
60
+ * NOTE: The snippet syntax follows that of `monaco-editor`
61
+ * See https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets
62
+ */
63
+ insertText: string;
64
+ }
65
+ export declare const getParserKeywordSuggestions: (position: IPosition, model: monacoEditorAPI.ITextModel, suggestions: PureGrammarTextSuggestion[]) => monacoLanguagesAPI.CompletionItem[];
66
+ export declare const getSectionParserNameFromLineText: (lineText: string) => string | undefined;
67
+ export declare const getParserElementSnippetSuggestions: (position: IPosition, model: monacoEditorAPI.ITextModel, suggestionsGetter: (parserName: string) => PureGrammarTextSuggestion[]) => monacoLanguagesAPI.CompletionItem[];
68
+ export declare const getInlineSnippetSuggestions: (position: IPosition, model: monacoEditorAPI.ITextModel, extraSnippetSuggestions?: PureGrammarTextSuggestion[]) => monacoLanguagesAPI.CompletionItem[];
69
+ export declare const isTokenOneOf: (token: string, baseTokens: string[], exact?: boolean) => boolean;
70
+ export declare const PURE_CODE_EDITOR_WORD_SEPARATORS = "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?";
71
+ //# sourceMappingURL=PureLanguageCodeEditorSupport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PureLanguageCodeEditorSupport.d.ts","sourceRoot":"","sources":["../src/PureLanguageCodeEditorSupport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,MAAM,IAAI,eAAe,EAC9B,SAAS,IAAI,kBAAkB,EAC/B,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,WAAW,uCAAuC;IACtD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,2BAA2B,aAC5B,SAAS,SACZ,eAAe,CAAC,UAAU,eACpB,yBAAyB,EAAE,KACvC,kBAAkB,CAAC,cAAc,EAuCnC,CAAC;AAEF,eAAO,MAAM,gCAAgC,aACjC,MAAM,KACf,MAAM,GAAG,SAMX,CAAC;AAEF,eAAO,MAAM,kCAAkC,aACnC,SAAS,SACZ,eAAe,CAAC,UAAU,qBACd,CAAC,UAAU,EAAE,MAAM,KAAK,yBAAyB,EAAE,KACrE,kBAAkB,CAAC,cAAc,EAiDnC,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAC5B,SAAS,SACZ,eAAe,CAAC,UAAU,4BACR,yBAAyB,EAAE,KACnD,kBAAkB,CAAC,cAAc,EAmInC,CAAC;AAEF,eAAO,MAAM,YAAY,UAChB,MAAM,cACD,MAAM,EAAE,sBAEnB,OAQF,CAAC;AAEF,eAAO,MAAM,gCAAgC,qCACT,CAAC"}
@@ -0,0 +1,238 @@
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
+ import { PARSER_SECTION_MARKER, PURE_PARSER } from '@finos/legend-graph';
17
+ import { getNullableFirstEntry, guaranteeNonNullable, hasWhiteSpace, } from '@finos/legend-shared';
18
+ import { languages as monacoLanguagesAPI, } from 'monaco-editor';
19
+ export const getParserKeywordSuggestions = (position, model, suggestions) => {
20
+ const results = [];
21
+ const currentWord = model.getWordUntilPosition(position);
22
+ // suggestions for parser keyword
23
+ const lineTextIncludingWordRange = {
24
+ startLineNumber: position.lineNumber,
25
+ startColumn: 1,
26
+ endLineNumber: position.lineNumber,
27
+ endColumn: currentWord.endColumn,
28
+ };
29
+ const lineTextIncludingWord = model.getValueInRange(lineTextIncludingWordRange);
30
+ // NOTE: make sure parser keyword suggestions only show up when the current word is the
31
+ // the first word of the line since parser section header must not be preceded by anything
32
+ if (!hasWhiteSpace(lineTextIncludingWord.trim())) {
33
+ suggestions.forEach((suggestion) => {
34
+ results.push({
35
+ label: {
36
+ label: `${PARSER_SECTION_MARKER}${suggestion.text}`,
37
+ description: suggestion.description,
38
+ },
39
+ kind: monacoLanguagesAPI.CompletionItemKind.Keyword,
40
+ insertText: `${PARSER_SECTION_MARKER}${suggestion.insertText}\n`,
41
+ range: lineTextIncludingWordRange,
42
+ documentation: suggestion.documentation
43
+ ? suggestion.documentation.markdownText
44
+ ? {
45
+ value: suggestion.documentation.markdownText.value,
46
+ }
47
+ : suggestion.documentation.text
48
+ : undefined,
49
+ });
50
+ });
51
+ }
52
+ return results;
53
+ };
54
+ export const getSectionParserNameFromLineText = (lineText) => {
55
+ if (lineText.startsWith(PARSER_SECTION_MARKER)) {
56
+ return lineText.substring(PARSER_SECTION_MARKER.length).split(' ')[0];
57
+ }
58
+ // NOTE: since leading whitespace to parser name is considered invalid, we will return `undefined`
59
+ return undefined;
60
+ };
61
+ export const getParserElementSnippetSuggestions = (position, model, suggestionsGetter) => {
62
+ const results = [];
63
+ const currentWord = model.getWordUntilPosition(position);
64
+ // suggestions for parser element snippets
65
+ const textUntilPosition = model.getValueInRange({
66
+ startLineNumber: 1,
67
+ startColumn: 1,
68
+ endLineNumber: position.lineNumber,
69
+ endColumn: position.column,
70
+ });
71
+ const allParserSectionHeaders =
72
+ // NOTE: since `###Pure` is implicitly considered as the first section, we prepend it to the text
73
+ `${PARSER_SECTION_MARKER}${PURE_PARSER.PURE}\n${textUntilPosition}`
74
+ .split('\n')
75
+ .filter((line) => line.startsWith(PARSER_SECTION_MARKER));
76
+ const currentParserName = getSectionParserNameFromLineText(allParserSectionHeaders[allParserSectionHeaders.length - 1] ?? '');
77
+ if (currentParserName) {
78
+ suggestionsGetter(currentParserName).forEach((snippetSuggestion) => {
79
+ results.push({
80
+ label: {
81
+ label: snippetSuggestion.text,
82
+ description: snippetSuggestion.description,
83
+ },
84
+ kind: monacoLanguagesAPI.CompletionItemKind.Snippet,
85
+ insertTextRules: monacoLanguagesAPI.CompletionItemInsertTextRule.InsertAsSnippet,
86
+ insertText: `${snippetSuggestion.insertText}\n`,
87
+ range: {
88
+ startLineNumber: position.lineNumber,
89
+ startColumn: currentWord.startColumn,
90
+ endLineNumber: position.lineNumber,
91
+ endColumn: currentWord.endColumn,
92
+ },
93
+ documentation: snippetSuggestion.documentation
94
+ ? snippetSuggestion.documentation.markdownText
95
+ ? {
96
+ value: snippetSuggestion.documentation.markdownText.value,
97
+ }
98
+ : snippetSuggestion.documentation.text
99
+ : undefined,
100
+ });
101
+ });
102
+ }
103
+ return results;
104
+ };
105
+ export const getInlineSnippetSuggestions = (position, model, extraSnippetSuggestions = []) => {
106
+ const currentWord = model.getWordUntilPosition(position);
107
+ return [
108
+ {
109
+ text: 'let',
110
+ description: 'new variable',
111
+ insertText: `let \${1:} = \${2:};`,
112
+ },
113
+ {
114
+ text: 'let',
115
+ description: 'new collection',
116
+ insertText: `let \${1:} = [\${2:}];`,
117
+ },
118
+ {
119
+ text: 'cast',
120
+ description: 'type casting',
121
+ insertText: `cast(@\${1:model::SomeClass})`,
122
+ },
123
+ // conditionals
124
+ {
125
+ text: 'if',
126
+ description: '(conditional)',
127
+ insertText: `if(\${1:'true'}, | \${2:/* if true do this */}, | \${3:/* if false do this */})`,
128
+ },
129
+ {
130
+ text: 'case',
131
+ description: '(conditional)',
132
+ insertText: `case(\${1:}, \${2:'true'}, \${3:'false'})`,
133
+ },
134
+ {
135
+ text: 'match',
136
+ description: '(conditional)',
137
+ insertText: `match([x:\${1:String[1]}, \${2:''}])`,
138
+ },
139
+ // collection
140
+ {
141
+ text: 'map',
142
+ description: '(collection)',
143
+ insertText: `map(x|\${1:})`,
144
+ },
145
+ {
146
+ text: 'filter',
147
+ description: '(collection)',
148
+ insertText: `filter(x|\${1:})`,
149
+ },
150
+ {
151
+ text: 'fold',
152
+ description: '(collection)',
153
+ insertText: `fold({a, b| \${1:$a + $b}}, \${2:0})`,
154
+ },
155
+ {
156
+ text: 'filter',
157
+ description: '(collection)',
158
+ insertText: `filter(x|\${1:})`,
159
+ },
160
+ {
161
+ text: 'sort',
162
+ description: '(collection)',
163
+ insertText: `sort()`,
164
+ },
165
+ {
166
+ text: 'in',
167
+ description: '(collection)',
168
+ insertText: `in()`,
169
+ },
170
+ {
171
+ text: 'slice',
172
+ description: '(collection)',
173
+ insertText: `slice(\${1:1},$\{2:2})`,
174
+ },
175
+ {
176
+ text: 'removeDuplicates',
177
+ description: '(collection)',
178
+ insertText: `removeDuplicates()`,
179
+ },
180
+ {
181
+ text: 'toOne',
182
+ description: '(collection)',
183
+ insertText: `toOne(\${1:})`,
184
+ },
185
+ {
186
+ text: 'toOneMany',
187
+ description: '(collection)',
188
+ insertText: `toOneMany(\${1:})`,
189
+ },
190
+ {
191
+ text: 'isEmpty',
192
+ description: '(collection)',
193
+ insertText: `isEmpty()`,
194
+ },
195
+ // string
196
+ {
197
+ text: 'endsWith',
198
+ description: '(string)',
199
+ insertText: `endsWith()`,
200
+ },
201
+ {
202
+ text: 'startsWith',
203
+ description: '(string)',
204
+ insertText: `startsWith()`,
205
+ },
206
+ ...extraSnippetSuggestions,
207
+ ].map((snippetSuggestion) => ({
208
+ label: {
209
+ label: snippetSuggestion.text,
210
+ description: snippetSuggestion.description,
211
+ },
212
+ kind: monacoLanguagesAPI.CompletionItemKind.Snippet,
213
+ insertTextRules: monacoLanguagesAPI.CompletionItemInsertTextRule.InsertAsSnippet,
214
+ insertText: snippetSuggestion.insertText,
215
+ range: {
216
+ startLineNumber: position.lineNumber,
217
+ startColumn: currentWord.startColumn,
218
+ endLineNumber: position.lineNumber,
219
+ endColumn: currentWord.endColumn,
220
+ },
221
+ documentation: snippetSuggestion.documentation
222
+ ? snippetSuggestion.documentation.markdownText
223
+ ? {
224
+ value: snippetSuggestion.documentation.markdownText.value,
225
+ }
226
+ : snippetSuggestion.documentation.text
227
+ : undefined,
228
+ }));
229
+ };
230
+ export const isTokenOneOf = (token, baseTokens, exact = false) => {
231
+ if (exact) {
232
+ return baseTokens.map((baseToken) => `${baseToken}.pure`).includes(token);
233
+ }
234
+ const baseToken = guaranteeNonNullable(getNullableFirstEntry(token.split('.')));
235
+ return baseTokens.includes(baseToken);
236
+ };
237
+ export const PURE_CODE_EDITOR_WORD_SEPARATORS = '`~!@#%^&*()-=+[{]}\\|;:\'",.<>/?'; // omit $ from default word separators
238
+ //# sourceMappingURL=PureLanguageCodeEditorSupport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PureLanguageCodeEditorSupport.js","sourceRoot":"","sources":["../src/PureLanguageCodeEditorSupport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
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 declare function setupPureLanguageService(options?: {
17
+ extraKeywords?: string[] | undefined;
18
+ }): void;
19
+ //# sourceMappingURL=PureLanguageService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PureLanguageService.d.ts","sourceRoot":"","sources":["../src/PureLanguageService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqYH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IACjD,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACtC,GAAG,IAAI,CAUP"}