@finos/legend-application 10.2.11 → 10.2.13
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.
- package/lib/application/LegendApplication.d.ts.map +1 -1
- package/lib/application/LegendApplication.js +1 -2
- package/lib/application/LegendApplication.js.map +1 -1
- package/lib/components/ActionAlert.d.ts +1 -0
- package/lib/components/ActionAlert.d.ts.map +1 -1
- package/lib/components/BlockingAlert.d.ts +1 -0
- package/lib/components/BlockingAlert.d.ts.map +1 -1
- package/lib/components/LegendApplicationComponentFrameworkProvider.d.ts +6 -0
- package/lib/components/LegendApplicationComponentFrameworkProvider.d.ts.map +1 -1
- package/lib/components/LegendApplicationComponentFrameworkProvider.js +21 -13
- package/lib/components/LegendApplicationComponentFrameworkProvider.js.map +1 -1
- package/lib/components/NotificationManager.d.ts +1 -0
- package/lib/components/NotificationManager.d.ts.map +1 -1
- package/lib/components/VirtualAssistant.d.ts +1 -0
- package/lib/components/VirtualAssistant.d.ts.map +1 -1
- package/lib/components/shared/TabManager.d.ts +1 -0
- package/lib/components/shared/TabManager.d.ts.map +1 -1
- package/lib/components/shared/TextSearchAdvancedConfigMenu.d.ts +1 -0
- package/lib/components/shared/TextSearchAdvancedConfigMenu.d.ts.map +1 -1
- package/lib/const.d.ts +1 -1
- package/lib/const.d.ts.map +1 -1
- package/lib/const.js +1 -1
- package/lib/const.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/stores/ApplicationEvent.d.ts +1 -0
- package/lib/stores/ApplicationEvent.d.ts.map +1 -1
- package/lib/stores/ApplicationEvent.js +1 -0
- package/lib/stores/ApplicationEvent.js.map +1 -1
- package/lib/stores/ApplicationStore.d.ts +2 -0
- package/lib/stores/ApplicationStore.d.ts.map +1 -1
- package/lib/stores/ApplicationStore.js +3 -0
- package/lib/stores/ApplicationStore.js.map +1 -1
- package/lib/stores/CommandCenter.d.ts +1 -0
- package/lib/stores/CommandCenter.d.ts.map +1 -1
- package/lib/stores/CommandCenter.js.map +1 -1
- package/lib/stores/KeyboardShortcutsService.d.ts +4 -10
- package/lib/stores/KeyboardShortcutsService.d.ts.map +1 -1
- package/lib/stores/KeyboardShortcutsService.js +36 -33
- package/lib/stores/KeyboardShortcutsService.js.map +1 -1
- package/lib/stores/LegendApplicationDocumentation.d.ts +1 -0
- package/lib/stores/LegendApplicationDocumentation.d.ts.map +1 -1
- package/lib/stores/LegendApplicationDocumentation.js +1 -0
- package/lib/stores/LegendApplicationDocumentation.js.map +1 -1
- package/lib/stores/PureLanguageSupport.d.ts.map +1 -1
- package/lib/stores/PureLanguageSupport.js +14 -1
- package/lib/stores/PureLanguageSupport.js.map +1 -1
- package/lib/stores/TerminalService.d.ts +23 -0
- package/lib/stores/TerminalService.d.ts.map +1 -0
- package/lib/stores/TerminalService.js +25 -0
- package/lib/stores/TerminalService.js.map +1 -0
- package/lib/stores/terminal/Terminal.d.ts +155 -0
- package/lib/stores/terminal/Terminal.d.ts.map +1 -0
- package/lib/stores/terminal/Terminal.js +171 -0
- package/lib/stores/terminal/Terminal.js.map +1 -0
- package/lib/stores/terminal/XTerm.d.ts +91 -0
- package/lib/stores/terminal/XTerm.d.ts.map +1 -0
- package/lib/stores/terminal/XTerm.js +693 -0
- package/lib/stores/terminal/XTerm.js.map +1 -0
- package/package.json +19 -13
- package/src/application/LegendApplication.tsx +5 -2
- package/src/components/LegendApplicationComponentFrameworkProvider.tsx +24 -18
- package/src/const.ts +1 -1
- package/src/index.ts +1 -0
- package/src/stores/ApplicationEvent.ts +1 -0
- package/src/stores/ApplicationStore.ts +4 -1
- package/src/stores/CommandCenter.ts +1 -0
- package/src/stores/KeyboardShortcutsService.ts +43 -48
- package/src/stores/LegendApplicationDocumentation.ts +1 -0
- package/src/stores/PureLanguageSupport.ts +15 -1
- package/src/stores/TerminalService.ts +30 -0
- package/src/stores/terminal/Terminal.ts +259 -0
- package/src/stores/terminal/XTerm.ts +880 -0
- package/tsconfig.json +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XTerm.js","sourceRoot":"","sources":["../../../src/stores/terminal/XTerm.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application",
|
|
3
|
-
"version": "10.2.
|
|
3
|
+
"version": "10.2.13",
|
|
4
4
|
"description": "Legend application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"test:watch": "jest --watch"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@finos/legend-art": "5.0.
|
|
47
|
-
"@finos/legend-graph": "22.2.
|
|
48
|
-
"@finos/legend-shared": "6.2.
|
|
46
|
+
"@finos/legend-art": "5.0.23",
|
|
47
|
+
"@finos/legend-graph": "22.2.5",
|
|
48
|
+
"@finos/legend-shared": "6.2.17",
|
|
49
49
|
"@types/css-font-loading-module": "0.0.8",
|
|
50
50
|
"@types/react": "18.0.27",
|
|
51
51
|
"@types/react-dom": "18.0.10",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"history": "5.3.0",
|
|
54
54
|
"mobx": "6.7.0",
|
|
55
55
|
"mobx-react-lite": "3.4.0",
|
|
56
|
-
"monaco-editor": "0.
|
|
56
|
+
"monaco-editor": "0.35.0",
|
|
57
57
|
"react": "18.2.0",
|
|
58
58
|
"react-dnd": "16.0.1",
|
|
59
59
|
"react-dnd-html5-backend": "16.0.1",
|
|
@@ -62,18 +62,24 @@
|
|
|
62
62
|
"react-router": "5.3.4",
|
|
63
63
|
"react-router-dom": "5.3.4",
|
|
64
64
|
"serializr": "3.0.2",
|
|
65
|
-
"sql-formatter": "12.1.0"
|
|
65
|
+
"sql-formatter": "12.1.0",
|
|
66
|
+
"xterm": "5.1.0",
|
|
67
|
+
"xterm-addon-fit": "0.7.0",
|
|
68
|
+
"xterm-addon-search": "0.11.0",
|
|
69
|
+
"xterm-addon-unicode11": "0.5.0",
|
|
70
|
+
"xterm-addon-web-links": "0.8.0",
|
|
71
|
+
"xterm-addon-webgl": "0.14.0"
|
|
66
72
|
},
|
|
67
73
|
"devDependencies": {
|
|
68
|
-
"@finos/legend-dev-utils": "2.0.
|
|
69
|
-
"@jest/globals": "29.4.
|
|
74
|
+
"@finos/legend-dev-utils": "2.0.40",
|
|
75
|
+
"@jest/globals": "29.4.2",
|
|
70
76
|
"cross-env": "7.0.3",
|
|
71
|
-
"eslint": "8.
|
|
72
|
-
"jest": "29.4.
|
|
77
|
+
"eslint": "8.33.0",
|
|
78
|
+
"jest": "29.4.2",
|
|
73
79
|
"npm-run-all": "4.1.5",
|
|
74
|
-
"rimraf": "
|
|
75
|
-
"sass": "1.
|
|
76
|
-
"typescript": "4.9.
|
|
80
|
+
"rimraf": "4.1.2",
|
|
81
|
+
"sass": "1.58.0",
|
|
82
|
+
"typescript": "4.9.5"
|
|
77
83
|
},
|
|
78
84
|
"peerDependencies": {
|
|
79
85
|
"react": "^18.0.0"
|
|
@@ -102,8 +102,11 @@ export const setupLegendApplicationUILibrary = async (
|
|
|
102
102
|
* this is to ensure
|
|
103
103
|
*/
|
|
104
104
|
const fontLoadFailureErrorMessage = `Monospaced font '${MONOSPACED_FONT_FAMILY}' has not been loaded properly, text editor display problems might occur`;
|
|
105
|
-
await
|
|
106
|
-
.
|
|
105
|
+
await Promise.all(
|
|
106
|
+
[400, 700].map((weight) =>
|
|
107
|
+
document.fonts.load(`${weight} 1em ${MONOSPACED_FONT_FAMILY}`),
|
|
108
|
+
),
|
|
109
|
+
)
|
|
107
110
|
.then(() => {
|
|
108
111
|
if (document.fonts.check(`1em ${MONOSPACED_FONT_FAMILY}`)) {
|
|
109
112
|
monacoEditorAPI.remeasureFonts();
|
|
@@ -41,26 +41,26 @@ const PLATFORM_NATIVE_KEYBOARD_SHORTCUTS = [
|
|
|
41
41
|
'F10', // Chrome: Developer Tools > Sources: Step over next function call
|
|
42
42
|
'F11', // Chrome: Developer Tools > Sources: Step into next function call
|
|
43
43
|
'Meta+Shift+KeyP', // Chrome: Developer Tools: Open Command Prompt inside developer tools
|
|
44
|
+
'Control+Backquote', // Chrome: Developer Tools: Open console
|
|
44
45
|
'Control+Shift+KeyP',
|
|
45
46
|
'Meta+KeyB', // Firefox: Open bookmark sidebar
|
|
46
47
|
'Control+KeyB',
|
|
47
48
|
'F7', // Firefox: Caret browsing
|
|
48
49
|
'Alt+F7', // Firefox: Caret browsing (Mac)
|
|
49
50
|
'Control+Shift+KeyB',
|
|
51
|
+
'Alt+KeyZ', // Mac: special symbol
|
|
50
52
|
];
|
|
51
53
|
|
|
52
|
-
const
|
|
53
|
-
commandKeyMap: Map<string, string
|
|
54
|
-
|
|
55
|
-
keyCombination: string,
|
|
56
|
-
) => (keyEvent?: KeyboardEvent) => void,
|
|
54
|
+
const buildHotkeysConfiguration = (
|
|
55
|
+
commandKeyMap: Map<string, string[]>,
|
|
56
|
+
handler: (keyCombination: string, event: KeyboardEvent) => void,
|
|
57
57
|
): KeyBindingConfig => {
|
|
58
58
|
const keyMap: KeyBindingConfig = {};
|
|
59
|
-
commandKeyMap.forEach((
|
|
60
|
-
if (
|
|
59
|
+
commandKeyMap.forEach((keyCombinations, commandKey) => {
|
|
60
|
+
if (keyCombinations.length) {
|
|
61
61
|
keyMap[commandKey] = {
|
|
62
|
-
combinations:
|
|
63
|
-
handler
|
|
62
|
+
combinations: keyCombinations,
|
|
63
|
+
handler,
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
});
|
|
@@ -70,15 +70,21 @@ const buildReactHotkeysConfiguration = (
|
|
|
70
70
|
'INTERNAL__PLATFORM_NATIVE_KEYBOARD_COMMAND';
|
|
71
71
|
keyMap[PLATFORM_NATIVE_KEYBOARD_COMMAND] = {
|
|
72
72
|
combinations: PLATFORM_NATIVE_KEYBOARD_SHORTCUTS,
|
|
73
|
-
handler: (event
|
|
73
|
+
handler: (keyCombination: string, event: KeyboardEvent) => {
|
|
74
74
|
// prevent default from potentially clashing key combinations
|
|
75
|
-
event
|
|
75
|
+
event.preventDefault();
|
|
76
76
|
},
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
return keyMap;
|
|
80
80
|
};
|
|
81
81
|
|
|
82
|
+
/**
|
|
83
|
+
* Some elements (e.g. <canvas>) and components that we do not control the implementation
|
|
84
|
+
* might have special logic to prevent `keydown` event bubbling naturally, this
|
|
85
|
+
* method forces those event to surface to the top of the app and being handled
|
|
86
|
+
* by keybinding service
|
|
87
|
+
*/
|
|
82
88
|
export const forceDispatchKeyboardEvent = (event: KeyboardEvent): void => {
|
|
83
89
|
document
|
|
84
90
|
.getElementById(APP_CONTAINER_ID)
|
|
@@ -108,17 +114,17 @@ export const LegendApplicationComponentFrameworkProvider = observer(
|
|
|
108
114
|
document.getElementById(APP_BACKDROP_CONTAINER_ID)
|
|
109
115
|
: document.getElementById(APP_BACKDROP_CONTAINER_ID);
|
|
110
116
|
|
|
111
|
-
const keyBindingMap =
|
|
117
|
+
const keyBindingMap = buildHotkeysConfiguration(
|
|
112
118
|
applicationStore.keyboardShortcutsService.commandKeyMap,
|
|
113
|
-
(keyCombination: string
|
|
119
|
+
(keyCombination: string, event: KeyboardEvent) => {
|
|
114
120
|
// prevent default from potentially clashing key combinations with platform native keyboard shortcuts
|
|
121
|
+
// NOTE: Though tempting since it's a good way to simplify and potentially avoid conflicts,
|
|
122
|
+
// we should not call `preventDefault()` because if we have any hotkey sequence which is too short,
|
|
123
|
+
// such as `r`, `a` - we risk blocking some very common interaction, i.e. user typing, or even
|
|
124
|
+
// constructing longer key combinations
|
|
115
125
|
if (PLATFORM_NATIVE_KEYBOARD_SHORTCUTS.includes(keyCombination)) {
|
|
116
|
-
event
|
|
126
|
+
event.preventDefault();
|
|
117
127
|
}
|
|
118
|
-
// NOTE: Though tempting since it's a good way to simplify and potentially avoid conflicts,
|
|
119
|
-
// we should not call `preventDefault()` because if we have any hotkey which is too short, such as `r`, `a`
|
|
120
|
-
// we risk blocking some very common interaction, i.e. user typing, or even constructing longer
|
|
121
|
-
// key combinations
|
|
122
128
|
applicationStore.keyboardShortcutsService.dispatch(keyCombination);
|
|
123
129
|
},
|
|
124
130
|
);
|
package/src/const.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -46,6 +46,7 @@ export * from './stores/ApplicationStoreTestUtils.js';
|
|
|
46
46
|
export * from './stores/WebApplicationRouter.js';
|
|
47
47
|
export { PURE_GRAMMAR_TOKEN } from './stores/PureLanguageSupport.js';
|
|
48
48
|
export * from './stores/PureLanguageTextEditorSupport.js';
|
|
49
|
+
export { DISPLAY_ANSI_ESCAPE } from './stores/terminal/Terminal.js';
|
|
49
50
|
|
|
50
51
|
// ------------------------------------------- Shared components -------------------------------------------
|
|
51
52
|
|
|
@@ -25,6 +25,7 @@ export enum APPLICATION_EVENT {
|
|
|
25
25
|
APPLICATION_DOCUMENTATION_LOAD_SKIPPED = 'application.load.documentation.skipped',
|
|
26
26
|
APPLICATION_DOCUMENTATION_REQUIREMENT_CHECK_FAILURE = 'application.load.documentation.requirement-check.failure',
|
|
27
27
|
APPLICATION_KEYBOARD_SHORTCUTS_CONFIGURATION_CHECK_FAILURE = 'application.load.keyboard-shortcuts.configuration-check.failure',
|
|
28
|
+
APPLICATION_TERMINAL_COMMAND_CONFIGURATION_CHECK_FAILURE = 'application.load.terminal-command.configuration-check.failure',
|
|
28
29
|
APPLICATION_CONTEXTUAL_DOCUMENTATION_LOAD_SKIPPED = 'application.load.contextual-documentation.skipped',
|
|
29
30
|
|
|
30
31
|
APPLICATION_COMMAND_CENTER_REGISTRATION_FAILURE = 'application.command-center.registration.failure',
|
|
@@ -37,6 +37,7 @@ import { ApplicationNavigationContextService } from './ApplicationNavigationCont
|
|
|
37
37
|
import type { LegendApplicationPlugin } from './LegendApplicationPlugin.js';
|
|
38
38
|
import { CommandCenter } from './CommandCenter.js';
|
|
39
39
|
import { KeyboardShortcutsService } from './KeyboardShortcutsService.js';
|
|
40
|
+
import { TerminalService } from './TerminalService.js';
|
|
40
41
|
|
|
41
42
|
export enum ActionAlertType {
|
|
42
43
|
STANDARD = 'STANDARD',
|
|
@@ -127,7 +128,8 @@ export class ApplicationStore<
|
|
|
127
128
|
actionAlertInfo?: ActionAlertInfo | undefined;
|
|
128
129
|
|
|
129
130
|
// TODO: consider renaming this to `LogService`
|
|
130
|
-
log
|
|
131
|
+
log = new Log();
|
|
132
|
+
terminalService: TerminalService;
|
|
131
133
|
|
|
132
134
|
// documentation & help
|
|
133
135
|
documentationService: DocumentationService;
|
|
@@ -183,6 +185,7 @@ export class ApplicationStore<
|
|
|
183
185
|
this.pluginManager = pluginManager;
|
|
184
186
|
// NOTE: set the logger first so other loading could use the configured logger
|
|
185
187
|
this.log.registerPlugins(pluginManager.getLoggerPlugins());
|
|
188
|
+
this.terminalService = new TerminalService(this);
|
|
186
189
|
|
|
187
190
|
this.navigationContextService = new ApplicationNavigationContextService(
|
|
188
191
|
this,
|
|
@@ -31,6 +31,7 @@ export type CommandConfigEntry = {
|
|
|
31
31
|
* See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
|
|
32
32
|
*/
|
|
33
33
|
defaultKeyboardShortcut?: string;
|
|
34
|
+
additionalKeyboardShortcuts?: string[];
|
|
34
35
|
when?: string;
|
|
35
36
|
};
|
|
36
37
|
export type KeyedCommandConfigEntry = {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import {
|
|
17
|
+
import { isNonNullable, LogEvent } from '@finos/legend-shared';
|
|
18
18
|
import { action, makeObservable, observable } from 'mobx';
|
|
19
19
|
import { APPLICATION_EVENT } from './ApplicationEvent.js';
|
|
20
20
|
import type { GenericLegendApplicationStore } from './ApplicationStore.js';
|
|
@@ -22,17 +22,11 @@ import type { GenericLegendApplicationStore } from './ApplicationStore.js';
|
|
|
22
22
|
export class KeyboardShortcutsService {
|
|
23
23
|
readonly applicationStore: GenericLegendApplicationStore;
|
|
24
24
|
/**
|
|
25
|
-
* NOTE: with this design, the relationship between command and key is many-to-
|
|
26
|
-
* We can have multiple commands being mapped to the same key combination,
|
|
27
|
-
* way around
|
|
25
|
+
* NOTE: with this design, the relationship between command and key is many-to-many
|
|
26
|
+
* We can have multiple commands being mapped to the same key combination, and vice versa
|
|
28
27
|
*/
|
|
29
28
|
readonly keyMap = new Map<string, string[]>();
|
|
30
|
-
|
|
31
|
-
* NOTE: we want to leave the value of the map as optional because we want
|
|
32
|
-
* to use this map to quickly construct the key-binding view: some commands
|
|
33
|
-
* don't already have a hotkey
|
|
34
|
-
*/
|
|
35
|
-
readonly commandKeyMap = new Map<string, string | undefined>();
|
|
29
|
+
readonly commandKeyMap = new Map<string, string[]>();
|
|
36
30
|
isHotkeysBlocked = false;
|
|
37
31
|
|
|
38
32
|
constructor(applicationStore: GenericLegendApplicationStore) {
|
|
@@ -40,36 +34,45 @@ export class KeyboardShortcutsService {
|
|
|
40
34
|
keyMap: observable,
|
|
41
35
|
commandKeyMap: observable,
|
|
42
36
|
isHotkeysBlocked: observable,
|
|
43
|
-
|
|
37
|
+
addHotkey: action,
|
|
44
38
|
blockGlobalHotkeys: action,
|
|
45
39
|
unblockGlobalHotkeys: action,
|
|
46
40
|
});
|
|
47
41
|
|
|
48
42
|
this.applicationStore = applicationStore;
|
|
49
|
-
const commandsWithMultipleKeyBindings: string[] = [];
|
|
50
43
|
this.applicationStore.pluginManager
|
|
51
44
|
.getApplicationPlugins()
|
|
52
45
|
.flatMap((plugin) => plugin.getExtraKeyedCommandConfigEntries?.() ?? [])
|
|
53
46
|
.forEach((entry) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
47
|
+
// NOTE: since we allow mapping multiple commands to the same key combination
|
|
48
|
+
// and when dispatching the command with a particular key combination, we only
|
|
49
|
+
// execute the first matching command, if we override the config, we would need
|
|
50
|
+
// to add them to the beginning of this list.
|
|
51
|
+
// TODO: do validation on hot keys, hot keys which consist only of modifier keys, e.g. `Shift Shift` should not be supported
|
|
52
|
+
const shortcuts = [
|
|
53
|
+
entry.content.defaultKeyboardShortcut,
|
|
54
|
+
...(entry.content.additionalKeyboardShortcuts ?? []),
|
|
55
|
+
].filter(isNonNullable);
|
|
56
|
+
if (shortcuts.length) {
|
|
57
|
+
shortcuts.forEach((shortcut) => this.addHotkey(entry.key, shortcut));
|
|
58
|
+
} else {
|
|
59
|
+
if (!this.commandKeyMap.has(entry.key)) {
|
|
60
|
+
this.commandKeyMap.set(entry.key, []);
|
|
61
|
+
}
|
|
59
62
|
}
|
|
60
|
-
this.updateHotkey(entry.key, entry.content.defaultKeyboardShortcut);
|
|
61
63
|
});
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
// Warn when detected multiple commands bound to the same key combination
|
|
66
|
+
Array.from(this.keyMap.entries()).forEach(([keyCombination, commands]) => {
|
|
67
|
+
if (commands.length > 1) {
|
|
68
|
+
this.applicationStore.log.warn(
|
|
69
|
+
LogEvent.create(
|
|
70
|
+
APPLICATION_EVENT.APPLICATION_KEYBOARD_SHORTCUTS_CONFIGURATION_CHECK_FAILURE,
|
|
71
|
+
),
|
|
72
|
+
`Found multiple commands with key binding '${keyCombination}'`,
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
73
76
|
}
|
|
74
77
|
|
|
75
78
|
blockGlobalHotkeys(): void {
|
|
@@ -80,27 +83,19 @@ export class KeyboardShortcutsService {
|
|
|
80
83
|
this.isHotkeysBlocked = false;
|
|
81
84
|
}
|
|
82
85
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this.commandKeyMap.set(commandKey,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
currentKeyCombination,
|
|
90
|
-
(this.keyMap.get(currentKeyCombination) ?? []).filter(
|
|
91
|
-
(key) => key === commandKey,
|
|
92
|
-
),
|
|
93
|
-
);
|
|
94
|
-
}
|
|
86
|
+
addHotkey(commandKey: string, keyCombination: string): void {
|
|
87
|
+
// add shortcut to command key map
|
|
88
|
+
this.commandKeyMap.set(commandKey, [
|
|
89
|
+
...(this.commandKeyMap.get(commandKey) ?? []),
|
|
90
|
+
keyCombination,
|
|
91
|
+
]);
|
|
95
92
|
// add new key map
|
|
96
|
-
|
|
97
|
-
this.keyMap.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
]);
|
|
103
|
-
}
|
|
93
|
+
this.keyMap.set(keyCombination, [
|
|
94
|
+
...(this.keyMap.get(keyCombination) ?? []).filter(
|
|
95
|
+
(key) => key !== commandKey,
|
|
96
|
+
),
|
|
97
|
+
commandKey,
|
|
98
|
+
]);
|
|
104
99
|
}
|
|
105
100
|
|
|
106
101
|
dispatch(keyCombination: string): void {
|
|
@@ -19,6 +19,7 @@ export enum LEGEND_APPLICATION_DOCUMENTATION_KEY {
|
|
|
19
19
|
QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX = 'question.how-to-use-advanced-search-syntax',
|
|
20
20
|
QUESTION_WHEN_TO_CONFIGURE_PLATFORM_VERSIONS = 'question.when-to-configure-project-platform-dependencies-versions',
|
|
21
21
|
QUESTION_HOW_TO_WRITE_A_SERVICE_TEST = 'question.how-to-write-a-service-test',
|
|
22
|
+
QUESTION_WHY_DO_I_SEE_ERROR_WITH_ASSOCIATION_PROPERTY_TYPE = 'question.why-do-i-see-error-with-association-property-type',
|
|
22
23
|
QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY = 'question.how-to-add-parameters-to-query',
|
|
23
24
|
QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY = 'question.how-to-add-constants-to-query',
|
|
24
25
|
QUESTION_HOW_TO_WRITE_SERVICE_CONNECTION_TEST_DATA = 'question.how-to-write-service-connection-test-data',
|
|
@@ -81,12 +81,15 @@ const theme: monacoEditorAPI.IStandaloneThemeData = {
|
|
|
81
81
|
{ token: PURE_GRAMMAR_TOKEN.PARAMETER, foreground: '9cdcfe' },
|
|
82
82
|
{ token: PURE_GRAMMAR_TOKEN.VARIABLE, foreground: '4fc1ff' },
|
|
83
83
|
{ token: PURE_GRAMMAR_TOKEN.TYPE, foreground: '3dc9b0' },
|
|
84
|
+
{ token: `${PURE_GRAMMAR_TOKEN.STRING}.escape`, foreground: 'd7ba7d' },
|
|
84
85
|
],
|
|
85
86
|
};
|
|
86
87
|
|
|
87
88
|
// Taken from `monaco-languages` configuration for Java in order to do propert brace matching
|
|
88
89
|
// See https://github.com/microsoft/monaco-languages/blob/master/src/java/java.ts
|
|
89
90
|
const configuration: monacoLanguagesAPI.LanguageConfiguration = {
|
|
91
|
+
// NOTE: Pure identifier includes $
|
|
92
|
+
wordPattern: /(-?\d*\.\d\w*)|([^`~!@#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]+)/,
|
|
90
93
|
comments: {
|
|
91
94
|
lineComment: '//',
|
|
92
95
|
blockComment: ['/*', '*/'],
|
|
@@ -256,7 +259,15 @@ const generateLanguageMonarch = (
|
|
|
256
259
|
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
|
|
257
260
|
multiplicity: /\[(?:[a-zA-Z0-9]+(?:\.\.(?:[a-zA-Z0-9]+|\*|))?|\*)\]/,
|
|
258
261
|
package: /(?:[\w_]+::)+/,
|
|
259
|
-
|
|
262
|
+
// NOTE: generics is a little tricky because in order to do it right, we have to
|
|
263
|
+
// do some sort of bracket matching, but we just can use a simple tokenizer here
|
|
264
|
+
// so to account for cases like `<Nil,Any|*>)->` `Function<{T[1]->Boolean[1]}>[1]`
|
|
265
|
+
// we have to make sure the content does not contain any `:` or `.` characters
|
|
266
|
+
// in order to avoid the accidental greedy match with inputs like
|
|
267
|
+
// `function doSomething<T>(a: Function<T[1]->Boolean[1]>)`
|
|
268
|
+
// nor we want to make sure the last character of the content is not `-` to avoid
|
|
269
|
+
// accidentally matching `->` as the end of the generics
|
|
270
|
+
generics: /(?:(?:<\w+>)|(?:<[^:.@^()]+[^-]>))/,
|
|
260
271
|
date: /%-?\d+(?:-\d+(?:-\d+(?:T(?:\d+(?::\d+(?::\d+(?:.\d+)?)?)?)(?:[+-][0-9]{4})?)))/,
|
|
261
272
|
time: /%\d+(?::\d+(?::\d+(?:.\d+)?)?)?/,
|
|
262
273
|
|
|
@@ -295,6 +306,9 @@ const generateLanguageMonarch = (
|
|
|
295
306
|
cases: {
|
|
296
307
|
'@languageStructs': PURE_GRAMMAR_TOKEN.LANGUAGE_STRUCT,
|
|
297
308
|
'@keywords': `${PURE_GRAMMAR_TOKEN.KEYWORD}.$0`,
|
|
309
|
+
// function descriptor
|
|
310
|
+
'([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]+\\$)))_':
|
|
311
|
+
PURE_GRAMMAR_TOKEN.TYPE,
|
|
298
312
|
'@default': PURE_GRAMMAR_TOKEN.IDENTIFIER,
|
|
299
313
|
},
|
|
300
314
|
},
|
|
@@ -0,0 +1,30 @@
|
|
|
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 type { GenericLegendApplicationStore } from './ApplicationStore.js';
|
|
18
|
+
import type { Terminal } from './terminal/Terminal.js';
|
|
19
|
+
import { XTerm } from './terminal/XTerm.js';
|
|
20
|
+
|
|
21
|
+
export class TerminalService {
|
|
22
|
+
readonly applicationStore: GenericLegendApplicationStore;
|
|
23
|
+
|
|
24
|
+
readonly terminal: Terminal;
|
|
25
|
+
|
|
26
|
+
constructor(applicationStore: GenericLegendApplicationStore) {
|
|
27
|
+
this.applicationStore = applicationStore;
|
|
28
|
+
this.terminal = new XTerm(applicationStore);
|
|
29
|
+
}
|
|
30
|
+
}
|