@finos/legend-lego 0.1.13 → 1.0.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 (76) hide show
  1. package/{src/code-editor/CodeEditorConfig.ts → lib/application/ActivityBar.d.ts} +7 -16
  2. package/lib/application/ActivityBar.d.ts.map +1 -0
  3. package/lib/application/ActivityBar.js +19 -0
  4. package/lib/application/ActivityBar.js.map +1 -0
  5. package/lib/application/index.d.ts +1 -0
  6. package/lib/application/index.d.ts.map +1 -1
  7. package/lib/application/index.js +1 -0
  8. package/lib/application/index.js.map +1 -1
  9. package/lib/code-editor/CodeDiffView.d.ts +1 -1
  10. package/lib/code-editor/CodeDiffView.d.ts.map +1 -1
  11. package/lib/code-editor/CodeDiffView.js +4 -11
  12. package/lib/code-editor/CodeDiffView.js.map +1 -1
  13. package/lib/code-editor/CodeEditor.d.ts +5 -2
  14. package/lib/code-editor/CodeEditor.d.ts.map +1 -1
  15. package/lib/code-editor/CodeEditor.js +15 -17
  16. package/lib/code-editor/CodeEditor.js.map +1 -1
  17. package/lib/code-editor/CodeEditorTheme.d.ts +39 -0
  18. package/lib/code-editor/CodeEditorTheme.d.ts.map +1 -0
  19. package/lib/code-editor/CodeEditorTheme.js +72 -0
  20. package/lib/code-editor/CodeEditorTheme.js.map +1 -0
  21. package/lib/code-editor/CodeEditorUtils.d.ts +11 -0
  22. package/lib/code-editor/CodeEditorUtils.d.ts.map +1 -1
  23. package/lib/code-editor/CodeEditorUtils.js +23 -0
  24. package/lib/code-editor/CodeEditorUtils.js.map +1 -1
  25. package/lib/code-editor/PureLanguage.d.ts +38 -0
  26. package/lib/code-editor/PureLanguage.d.ts.map +1 -0
  27. package/lib/code-editor/PureLanguage.js +39 -0
  28. package/lib/code-editor/PureLanguage.js.map +1 -0
  29. package/lib/code-editor/PureLanguageService.d.ts +0 -22
  30. package/lib/code-editor/PureLanguageService.d.ts.map +1 -1
  31. package/lib/code-editor/PureLanguageService.js +3 -48
  32. package/lib/code-editor/PureLanguageService.js.map +1 -1
  33. package/lib/code-editor/index.d.ts +3 -2
  34. package/lib/code-editor/index.d.ts.map +1 -1
  35. package/lib/code-editor/index.js +3 -2
  36. package/lib/code-editor/index.js.map +1 -1
  37. package/lib/code-editor/themes/Github-Theme-dark-dimmed.json +613 -0
  38. package/lib/code-editor/themes/Github-Theme-dark.json +513 -0
  39. package/lib/code-editor/themes/Material-Theme-Darker.json +816 -0
  40. package/lib/code-editor/themes/Material-Theme-Default.json +816 -0
  41. package/lib/code-editor/themes/MonacoEditorThemeUtils.d.ts +31 -0
  42. package/lib/code-editor/themes/MonacoEditorThemeUtils.d.ts.map +1 -0
  43. package/lib/code-editor/themes/MonacoEditorThemeUtils.js +88 -0
  44. package/lib/code-editor/themes/MonacoEditorThemeUtils.js.map +1 -0
  45. package/lib/code-editor/themes/OneDark-Pro-darker.json +2061 -0
  46. package/lib/code-editor/themes/OneDark-Pro.json +2090 -0
  47. package/lib/code-editor/themes/solarized-dark-color-theme.json +398 -0
  48. package/lib/data-grid/DataGrid.d.ts.map +1 -1
  49. package/lib/data-grid/DataGrid.js +13 -1
  50. package/lib/data-grid/DataGrid.js.map +1 -1
  51. package/lib/index.css +2 -2
  52. package/lib/index.css.map +1 -1
  53. package/package.json +7 -7
  54. package/{lib/code-editor/CodeEditorConfig.d.ts → src/application/ActivityBar.tsx} +16 -15
  55. package/src/application/index.ts +1 -0
  56. package/src/code-editor/CodeDiffView.tsx +4 -12
  57. package/src/code-editor/CodeEditor.tsx +25 -22
  58. package/src/code-editor/CodeEditorTheme.ts +118 -0
  59. package/src/code-editor/CodeEditorUtils.ts +55 -0
  60. package/src/code-editor/PureLanguage.ts +42 -0
  61. package/src/code-editor/PureLanguageService.ts +3 -56
  62. package/src/code-editor/index.ts +3 -5
  63. package/src/code-editor/themes/Github-Theme-dark-dimmed.json +613 -0
  64. package/src/code-editor/themes/Github-Theme-dark.json +513 -0
  65. package/src/code-editor/themes/Material-Theme-Darker.json +816 -0
  66. package/src/code-editor/themes/Material-Theme-Default.json +816 -0
  67. package/src/code-editor/themes/MonacoEditorThemeUtils.ts +128 -0
  68. package/src/code-editor/themes/OneDark-Pro-darker.json +2061 -0
  69. package/src/code-editor/themes/OneDark-Pro.json +2090 -0
  70. package/src/code-editor/themes/README.md +8 -0
  71. package/src/code-editor/themes/solarized-dark-color-theme.json +423 -0
  72. package/src/data-grid/DataGrid.tsx +12 -1
  73. package/tsconfig.json +12 -2
  74. package/lib/code-editor/CodeEditorConfig.d.ts.map +0 -1
  75. package/lib/code-editor/CodeEditorConfig.js +0 -33
  76. package/lib/code-editor/CodeEditorConfig.js.map +0 -1
@@ -22,23 +22,23 @@ import {
22
22
  resetLineNumberGutterWidth,
23
23
  getCodeEditorValue,
24
24
  normalizeLineEnding,
25
+ type CODE_EDITOR_LANGUAGE,
25
26
  } from './CodeEditorUtils.js';
26
- import { useResizeDetector } from '@finos/legend-art';
27
27
  import {
28
28
  DEFAULT_TAB_SIZE,
29
29
  useApplicationStore,
30
30
  } from '@finos/legend-application';
31
- import {
32
- CODE_EDITOR_THEME,
33
- type CODE_EDITOR_LANGUAGE,
34
- } from './CodeEditorConfig.js';
31
+ import { CODE_EDITOR_THEME } from './CodeEditorTheme.js';
32
+ import { clsx } from '@finos/legend-art';
35
33
 
36
34
  export const CodeEditor: React.FC<{
37
35
  inputValue: string;
38
36
  isReadOnly?: boolean | undefined;
37
+ lightTheme?: CODE_EDITOR_THEME;
39
38
  language: CODE_EDITOR_LANGUAGE;
40
- showMiniMap?: boolean | undefined;
39
+ hideMinimap?: boolean | undefined;
41
40
  hideGutter?: boolean | undefined;
41
+ hidePadding?: boolean | undefined;
42
42
  extraEditorOptions?:
43
43
  | (monacoEditorAPI.IEditorOptions & monacoEditorAPI.IGlobalEditorOptions)
44
44
  | undefined;
@@ -47,10 +47,12 @@ export const CodeEditor: React.FC<{
47
47
  const {
48
48
  inputValue,
49
49
  updateInput,
50
+ lightTheme,
50
51
  language,
51
52
  isReadOnly,
52
- showMiniMap,
53
+ hideMinimap,
53
54
  hideGutter,
55
+ hidePadding,
54
56
  extraEditorOptions,
55
57
  } = props;
56
58
  const applicationStore = useApplicationStore();
@@ -71,13 +73,6 @@ export const CodeEditor: React.FC<{
71
73
  */
72
74
  const value = normalizeLineEnding(inputValue);
73
75
  const textInputRef = useRef<HTMLDivElement>(null);
74
- const { ref, width, height } = useResizeDetector<HTMLDivElement>();
75
-
76
- useEffect(() => {
77
- if (width !== undefined && height !== undefined) {
78
- editor?.layout({ width, height });
79
- }
80
- }, [editor, width, height]);
81
76
 
82
77
  useEffect(() => {
83
78
  if (!editor && textInputRef.current) {
@@ -86,14 +81,19 @@ export const CodeEditor: React.FC<{
86
81
  ...getBaseCodeEditorOptions(),
87
82
  theme: applicationStore.layoutService
88
83
  .TEMPORARY__isLightColorThemeEnabled
89
- ? CODE_EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
90
- : CODE_EDITOR_THEME.LEGEND,
84
+ ? lightTheme ?? CODE_EDITOR_THEME.BUILT_IN__VSCODE_LIGHT
85
+ : CODE_EDITOR_THEME.DEFAULT_DARK,
86
+
87
+ // layout
88
+ glyphMargin: !hidePadding,
89
+ padding: !hidePadding ? { top: 20, bottom: 20 } : { top: 0, bottom: 0 },
90
+
91
91
  formatOnType: true,
92
92
  formatOnPaste: true,
93
93
  });
94
94
  setEditor(_editor);
95
95
  }
96
- }, [applicationStore, editor]);
96
+ }, [applicationStore, lightTheme, hidePadding, editor]);
97
97
 
98
98
  useEffect(() => {
99
99
  if (editor) {
@@ -124,16 +124,15 @@ export const CodeEditor: React.FC<{
124
124
  }
125
125
  editor.updateOptions({
126
126
  readOnly: Boolean(isReadOnly),
127
- minimap: { enabled: Boolean(showMiniMap) },
127
+ minimap: { enabled: !hideMinimap },
128
128
  // Hide the line number gutter
129
129
  // See https://github.com/microsoft/vscode/issues/30795
130
130
  ...(hideGutter
131
131
  ? {
132
- glyphMargin: false,
132
+ glyphMargin: !hidePadding,
133
133
  folding: false,
134
134
  lineNumbers: 'off',
135
- lineDecorationsWidth: 10,
136
- lineNumbersMinChars: 0,
135
+ lineDecorationsWidth: 0,
137
136
  }
138
137
  : {}),
139
138
  ...(extraEditorOptions ?? {}),
@@ -153,7 +152,11 @@ export const CodeEditor: React.FC<{
153
152
  );
154
153
 
155
154
  return (
156
- <div ref={ref} className="code-editor__container">
155
+ <div
156
+ className={clsx('code-editor__container', {
157
+ 'code-editor__container--padding': !hidePadding,
158
+ })}
159
+ >
157
160
  <div className="code-editor__body" ref={textInputRef} />
158
161
  </div>
159
162
  );
@@ -0,0 +1,118 @@
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
+
17
+ import { PURE_GRAMMAR_TOKEN } from './PureLanguage.js';
18
+ import type { editor as monacoEditorAPI } from 'monaco-editor';
19
+ import { buildCodeEditorTheme } from './themes/MonacoEditorThemeUtils.js';
20
+ import SOLARIZED_DARK_THEME_DATA from './themes/solarized-dark-color-theme.json';
21
+ import GITHUB_DARK_THEME_DATA from './themes/Github-Theme-dark.json';
22
+ import GITHUB_DARK_DIMMED_THEME_DATA from './themes/Github-Theme-dark-dimmed.json';
23
+ import MATERIAL_DEFAULT_THEME_DATA from './themes/Material-Theme-Default.json';
24
+ import MATERIAL_DARKER_THEME_DATA from './themes/Material-Theme-Darker.json';
25
+ import ONE_DARK_PRO_THEME_DATA from './themes/OneDark-Pro.json';
26
+ import ONE_DARK_PRO_DARKER_THEME_DATA from './themes/OneDark-Pro-darker.json';
27
+
28
+ const BASE_PURE_LANGUAGE_COLOR_TOKENS: monacoEditorAPI.ITokenThemeRule[] = [
29
+ // NOTE: `monaco-editor` only accepts HEX values, not CSS variables
30
+ { token: PURE_GRAMMAR_TOKEN.IDENTIFIER, foreground: 'dcdcaa' },
31
+ { token: PURE_GRAMMAR_TOKEN.NUMBER, foreground: 'b5cea8' },
32
+ { token: PURE_GRAMMAR_TOKEN.DATE, foreground: 'b5cea8' },
33
+ { token: PURE_GRAMMAR_TOKEN.COLOR, foreground: 'b5cea8' },
34
+ { token: PURE_GRAMMAR_TOKEN.PACKAGE, foreground: '808080' },
35
+ { token: PURE_GRAMMAR_TOKEN.PARSER, foreground: 'c586c0' },
36
+ { token: PURE_GRAMMAR_TOKEN.LANGUAGE_STRUCT, foreground: 'c586c0' },
37
+ { token: PURE_GRAMMAR_TOKEN.MULTIPLICITY, foreground: '2d796b' },
38
+ { token: PURE_GRAMMAR_TOKEN.GENERICS, foreground: '2d796b' },
39
+ { token: PURE_GRAMMAR_TOKEN.PROPERTY, foreground: '9cdcfe' },
40
+ { token: PURE_GRAMMAR_TOKEN.PARAMETER, foreground: '9cdcfe' },
41
+ { token: PURE_GRAMMAR_TOKEN.VARIABLE, foreground: '4fc1ff' },
42
+ { token: PURE_GRAMMAR_TOKEN.TYPE, foreground: '3dc9b0' },
43
+ { token: `${PURE_GRAMMAR_TOKEN.STRING}.escape`, foreground: 'd7ba7d' },
44
+ ];
45
+
46
+ export enum CODE_EDITOR_THEME {
47
+ DEFAULT_DARK = 'default-dark',
48
+ GITHUB_DARK = 'github-dark',
49
+ GITHUB_DARK_DIMMED = 'github-dark-dimmed',
50
+ SOLARIZED_DARK = 'solarized-dark',
51
+ ONE_DARK_PRO = 'one-dark-pro',
52
+ ONE_DARK_PRO_DARKER = 'one-dark-pro-darker',
53
+ MATERIAL_DEFAULT = 'material-default',
54
+ MATERIAL_DARKER = 'material-darker',
55
+
56
+ // default themes in Monaco editor
57
+ // See https://github.com/microsoft/vscode/blob/main/src/vs/editor/standalone/common/themes.ts
58
+ BUILT_IN__VSCODE_LIGHT = 'vs',
59
+ BUILT_IN__VSCODE_DARK = 'vs-dark',
60
+ BUILT_IN__VSCODE_HC_BLACK = 'hc-black',
61
+ BUILT_IN__VSCODE_HC_LIGHT = 'hc-light',
62
+ }
63
+
64
+ export const DEFAULT_DARK_THEME: monacoEditorAPI.IStandaloneThemeData = {
65
+ base: 'vs-dark',
66
+ inherit: true,
67
+ colors: {},
68
+ rules: BASE_PURE_LANGUAGE_COLOR_TOKENS,
69
+ };
70
+
71
+ export const SOLARIZED_DARK_THEME = buildCodeEditorTheme(
72
+ SOLARIZED_DARK_THEME_DATA,
73
+ CODE_EDITOR_THEME.BUILT_IN__VSCODE_DARK,
74
+ {},
75
+ [],
76
+ );
77
+
78
+ export const GITHUB_DARK_THEME = buildCodeEditorTheme(
79
+ GITHUB_DARK_THEME_DATA,
80
+ CODE_EDITOR_THEME.BUILT_IN__VSCODE_DARK,
81
+ {},
82
+ [],
83
+ );
84
+
85
+ export const GITHUB_DARK_DIMMED_THEME = buildCodeEditorTheme(
86
+ GITHUB_DARK_DIMMED_THEME_DATA,
87
+ CODE_EDITOR_THEME.BUILT_IN__VSCODE_DARK,
88
+ {},
89
+ [],
90
+ );
91
+
92
+ export const MATERIAL_DEFAULT_THEME = buildCodeEditorTheme(
93
+ MATERIAL_DEFAULT_THEME_DATA,
94
+ CODE_EDITOR_THEME.BUILT_IN__VSCODE_DARK,
95
+ {},
96
+ [],
97
+ );
98
+
99
+ export const MATERIAL_DARKER_THEME = buildCodeEditorTheme(
100
+ MATERIAL_DARKER_THEME_DATA,
101
+ CODE_EDITOR_THEME.BUILT_IN__VSCODE_DARK,
102
+ {},
103
+ [],
104
+ );
105
+
106
+ export const ONE_DARK_PRO_THEME = buildCodeEditorTheme(
107
+ ONE_DARK_PRO_THEME_DATA,
108
+ CODE_EDITOR_THEME.BUILT_IN__VSCODE_DARK,
109
+ {},
110
+ [],
111
+ );
112
+
113
+ export const ONE_DARK_PRO_DARKER_THEME = buildCodeEditorTheme(
114
+ ONE_DARK_PRO_DARKER_THEME_DATA,
115
+ CODE_EDITOR_THEME.BUILT_IN__VSCODE_DARK,
116
+ {},
117
+ [],
118
+ );
@@ -26,6 +26,17 @@ import {
26
26
  KeyMod,
27
27
  MarkerSeverity,
28
28
  } from 'monaco-editor';
29
+ import {
30
+ CODE_EDITOR_THEME,
31
+ DEFAULT_DARK_THEME,
32
+ GITHUB_DARK_DIMMED_THEME,
33
+ GITHUB_DARK_THEME,
34
+ MATERIAL_DARKER_THEME,
35
+ MATERIAL_DEFAULT_THEME,
36
+ ONE_DARK_PRO_DARKER_THEME,
37
+ ONE_DARK_PRO_THEME,
38
+ SOLARIZED_DARK_THEME,
39
+ } from './CodeEditorTheme.js';
29
40
 
30
41
  export type CodeEditorPosition = {
31
42
  lineNumber: number;
@@ -93,6 +104,7 @@ export const getBaseCodeEditorOptions =
93
104
  // The typing is currently not correct for `bracketPairColorization`, until this is fixed, we will remove the cast
94
105
  // See https://github.com/microsoft/monaco-editor/issues/3013
95
106
  'bracketPairColorization.enabled': false,
107
+ automaticLayout: true,
96
108
  } as monacoEditorAPI.IStandaloneEditorConstructionOptions);
97
109
 
98
110
  export const getBaseConsoleOptions =
@@ -273,4 +285,47 @@ export const configureCodeEditorComponent = async (
273
285
  commandArgs: keyCombination,
274
286
  })),
275
287
  );
288
+
289
+ // themes
290
+ monacoEditorAPI.defineTheme(
291
+ CODE_EDITOR_THEME.DEFAULT_DARK,
292
+ DEFAULT_DARK_THEME,
293
+ );
294
+ monacoEditorAPI.defineTheme(
295
+ CODE_EDITOR_THEME.SOLARIZED_DARK,
296
+ SOLARIZED_DARK_THEME,
297
+ );
298
+ monacoEditorAPI.defineTheme(CODE_EDITOR_THEME.GITHUB_DARK, GITHUB_DARK_THEME);
299
+ monacoEditorAPI.defineTheme(
300
+ CODE_EDITOR_THEME.GITHUB_DARK_DIMMED,
301
+ GITHUB_DARK_DIMMED_THEME,
302
+ );
303
+ monacoEditorAPI.defineTheme(
304
+ CODE_EDITOR_THEME.MATERIAL_DEFAULT,
305
+ MATERIAL_DEFAULT_THEME,
306
+ );
307
+ monacoEditorAPI.defineTheme(
308
+ CODE_EDITOR_THEME.MATERIAL_DARKER,
309
+ MATERIAL_DARKER_THEME,
310
+ );
311
+ monacoEditorAPI.defineTheme(
312
+ CODE_EDITOR_THEME.ONE_DARK_PRO,
313
+ ONE_DARK_PRO_THEME,
314
+ );
315
+ monacoEditorAPI.defineTheme(
316
+ CODE_EDITOR_THEME.ONE_DARK_PRO_DARKER,
317
+ ONE_DARK_PRO_DARKER_THEME,
318
+ );
276
319
  };
320
+
321
+ export enum CODE_EDITOR_LANGUAGE {
322
+ TEXT = 'plaintext',
323
+ PURE = 'pure',
324
+ JSON = 'json',
325
+ JAVA = 'java',
326
+ MARKDOWN = 'markdown',
327
+ SQL = 'sql',
328
+ XML = 'xml',
329
+ YAML = 'yaml',
330
+ GRAPHQL = 'graphql',
331
+ }
@@ -0,0 +1,42 @@
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
+
17
+ export enum PURE_GRAMMAR_TOKEN {
18
+ WHITESPACE = '',
19
+
20
+ KEYWORD = 'keyword',
21
+ IDENTIFIER = 'identifier',
22
+ OPERATOR = 'operator',
23
+ DELIMITER = 'delimiter',
24
+
25
+ PARSER = 'parser',
26
+ NUMBER = 'number',
27
+ DATE = 'date',
28
+ COLOR = 'color',
29
+ PACKAGE = 'package',
30
+ STRING = 'string',
31
+ COMMENT = 'comment',
32
+
33
+ LANGUAGE_STRUCT = 'language-struct',
34
+ MULTIPLICITY = 'multiplicity',
35
+ GENERICS = 'generics',
36
+ PROPERTY = 'property',
37
+ PARAMETER = 'property',
38
+ VARIABLE = 'variable',
39
+ TYPE = 'type',
40
+
41
+ INVALID = 'invalid',
42
+ }
@@ -21,67 +21,15 @@ import {
21
21
  PURE_CONNECTION_NAME,
22
22
  PURE_PARSER,
23
23
  } from '@finos/legend-graph';
24
- import {
25
- editor as monacoEditorAPI,
26
- languages as monacoLanguagesAPI,
27
- } from 'monaco-editor';
28
- import { CODE_EDITOR_LANGUAGE, CODE_EDITOR_THEME } from './CodeEditorConfig.js';
24
+ import { languages as monacoLanguagesAPI } from 'monaco-editor';
25
+ import { PURE_GRAMMAR_TOKEN } from './PureLanguage.js';
26
+ import { CODE_EDITOR_LANGUAGE } from './CodeEditorUtils.js';
29
27
 
30
28
  /**
31
29
  * The postfix to be added to all token types, i.e. identifier.pure, number.pure, etc.
32
30
  */
33
31
  const PURE_GRAMMAR_TOKEN_POSTFIX = '.pure';
34
32
 
35
- export enum PURE_GRAMMAR_TOKEN {
36
- WHITESPACE = '',
37
-
38
- KEYWORD = 'keyword',
39
- IDENTIFIER = 'identifier',
40
- OPERATOR = 'operator',
41
- DELIMITER = 'delimiter',
42
-
43
- PARSER = 'parser',
44
- NUMBER = 'number',
45
- DATE = 'date',
46
- COLOR = 'color',
47
- PACKAGE = 'package',
48
- STRING = 'string',
49
- COMMENT = 'comment',
50
-
51
- LANGUAGE_STRUCT = 'language-struct',
52
- MULTIPLICITY = 'multiplicity',
53
- GENERICS = 'generics',
54
- PROPERTY = 'property',
55
- PARAMETER = 'property',
56
- VARIABLE = 'variable',
57
- TYPE = 'type',
58
-
59
- INVALID = 'invalid',
60
- }
61
-
62
- const theme: monacoEditorAPI.IStandaloneThemeData = {
63
- base: 'vs-dark', // can also be vs-dark or hc-black
64
- inherit: true, // can also be false to completely replace the builtin rules
65
- colors: {},
66
- rules: [
67
- // NOTE: unfortunately, `monaco-editor` only accepts HEX values, not CSS variables
68
- { token: PURE_GRAMMAR_TOKEN.IDENTIFIER, foreground: 'dcdcaa' },
69
- { token: PURE_GRAMMAR_TOKEN.NUMBER, foreground: 'b5cea8' },
70
- { token: PURE_GRAMMAR_TOKEN.DATE, foreground: 'b5cea8' },
71
- { token: PURE_GRAMMAR_TOKEN.COLOR, foreground: 'b5cea8' },
72
- { token: PURE_GRAMMAR_TOKEN.PACKAGE, foreground: '808080' },
73
- { token: PURE_GRAMMAR_TOKEN.PARSER, foreground: 'c586c0' },
74
- { token: PURE_GRAMMAR_TOKEN.LANGUAGE_STRUCT, foreground: 'c586c0' },
75
- { token: PURE_GRAMMAR_TOKEN.MULTIPLICITY, foreground: '2d796b' },
76
- { token: PURE_GRAMMAR_TOKEN.GENERICS, foreground: '2d796b' },
77
- { token: PURE_GRAMMAR_TOKEN.PROPERTY, foreground: '9cdcfe' },
78
- { token: PURE_GRAMMAR_TOKEN.PARAMETER, foreground: '9cdcfe' },
79
- { token: PURE_GRAMMAR_TOKEN.VARIABLE, foreground: '4fc1ff' },
80
- { token: PURE_GRAMMAR_TOKEN.TYPE, foreground: '3dc9b0' },
81
- { token: `${PURE_GRAMMAR_TOKEN.STRING}.escape`, foreground: 'd7ba7d' },
82
- ],
83
- };
84
-
85
33
  // Taken from `monaco-languages` configuration for Java in order to do propert brace matching
86
34
  // See https://github.com/microsoft/monaco-languages/blob/master/src/java/java.ts
87
35
  const configuration: monacoLanguagesAPI.LanguageConfiguration = {
@@ -485,7 +433,6 @@ export function setupPureLanguageService(options?: {
485
433
  extraKeywords?: string[] | undefined;
486
434
  extraParserKeywords?: string[] | undefined;
487
435
  }): void {
488
- monacoEditorAPI.defineTheme(CODE_EDITOR_THEME.LEGEND, theme);
489
436
  monacoLanguagesAPI.register({ id: CODE_EDITOR_LANGUAGE.PURE });
490
437
  monacoLanguagesAPI.setLanguageConfiguration(
491
438
  CODE_EDITOR_LANGUAGE.PURE,
@@ -14,13 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export {
18
- PURE_GRAMMAR_TOKEN,
19
- setupPureLanguageService,
20
- } from './PureLanguageService.js';
17
+ export { setupPureLanguageService } from './PureLanguageService.js';
18
+ export { PURE_GRAMMAR_TOKEN } from './PureLanguage.js';
21
19
  export * from './PureLanguageCodeEditorSupport.js';
22
20
 
23
- export * from './CodeEditorConfig.js';
24
21
  export * from './CodeEditor.js';
25
22
  export * from './CodeEditorUtils.js';
23
+ export * from './CodeEditorTheme.js';
26
24
  export * from './CodeDiffView.js';