@finos/legend-application 10.2.12 → 10.2.14

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.
@@ -115,7 +115,9 @@ export class XTerm extends Terminal {
115
115
  theme: LEGEND_XTERM_THEME,
116
116
  overviewRulerWidth: 14,
117
117
  scrollback: 10000,
118
- convertEol: true, // treat \n as new line
118
+ convertEol: true,
119
+ // this is needed so we can control the cursor programmatically using escape sequences
120
+ scrollOnUserInput: false,
119
121
  });
120
122
  this.resizer = new XTermFitAddon();
121
123
  this.searcher = new XTermSearchAddon();
@@ -222,7 +224,9 @@ export class XTerm extends Terminal {
222
224
  return;
223
225
  }
224
226
  this.isRunningCommand = true;
225
- matchingCommand.handler(args, command, text).finally(() => {
227
+ matchingCommand
228
+ .handler(args.map((arg) => arg.trim()), command, text)
229
+ .finally(() => {
226
230
  this.isRunningCommand = false;
227
231
  if (!this.isFlushed) {
228
232
  this.abort();
@@ -238,37 +242,35 @@ export class XTerm extends Terminal {
238
242
  else if (domEvent.code === 'Backspace') {
239
243
  // Alt: jump word only, Ctrl: jump to end
240
244
  // this would apply for Delete, ArrowLeft, ArrowRight
241
- this.deleteFromCommand(domEvent.altKey
242
- ? this.computeCursorJumpMovement(true, true)
243
- : domEvent.ctrlKey
244
- ? this.computeCursorJumpMovement(true, false)
245
- : -1);
245
+ this.deleteFromCommand(domEvent.altKey || domEvent.ctrlKey
246
+ ? this.computeCursorJumpMovement(true)
247
+ : -1);
246
248
  }
247
249
  else if (domEvent.code === 'Delete') {
248
- this.deleteFromCommand(domEvent.altKey
249
- ? this.computeCursorJumpMovement(false, true)
250
- : domEvent.ctrlKey
251
- ? this.computeCursorJumpMovement(false, false)
252
- : 1);
250
+ this.deleteFromCommand(domEvent.altKey || domEvent.ctrlKey
251
+ ? this.computeCursorJumpMovement(false)
252
+ : 1);
253
253
  }
254
254
  else if (domEvent.code === 'ArrowLeft') {
255
- this.instance.write(this.generateMoveCursorANSISeq(domEvent.altKey
256
- ? this.computeCursorJumpMovement(true, true)
257
- : domEvent.ctrlKey
258
- ? this.computeCursorJumpMovement(true, false)
259
- : -1));
255
+ const movement = this.computeCursorMovement(domEvent.altKey || domEvent.ctrlKey
256
+ ? this.computeCursorJumpMovement(true)
257
+ : -1);
258
+ // console.log('left', movement);
259
+ this.instance.scrollLines(movement.scroll);
260
+ this.instance.write(movement.seq);
260
261
  }
261
262
  else if (domEvent.code === 'ArrowRight') {
262
- this.instance.write(this.generateMoveCursorANSISeq(domEvent.altKey
263
- ? this.computeCursorJumpMovement(false, true)
264
- : domEvent.ctrlKey
265
- ? this.computeCursorJumpMovement(false, false)
266
- : 1));
263
+ const movement = this.computeCursorMovement(domEvent.altKey || domEvent.ctrlKey
264
+ ? this.computeCursorJumpMovement(false)
265
+ : 1);
266
+ // console.log('right', movement);
267
+ this.instance.scrollLines(movement.scroll);
268
+ this.instance.write(movement.seq);
267
269
  }
268
270
  else if (
269
271
  // use key here so we absolute do not allow any characters other than these
270
272
  // being added to the input command
271
- key.match(/^[A-Za-z0-9!@#$%^&*()-_=+"':;,.<>/?[\]{}|\\~` \\t]$/)) {
273
+ key.match(/^[A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]$/)) {
272
274
  // commonly supported keys
273
275
  this.writeToCommand(key);
274
276
  }
@@ -285,7 +287,7 @@ export class XTerm extends Terminal {
285
287
  if (val.length > 1 && !val.startsWith('\x1b')) {
286
288
  this.writeToCommand(val
287
289
  // remove all unsupported characters, including newline
288
- .replaceAll(/[^A-Za-z0-9!@#$%^&*()-_=+"':;,.<>/?[\]{}|\\~` \\t]/g, '')
290
+ .replaceAll(/[^A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]/g, '')
289
291
  .trimEnd());
290
292
  }
291
293
  });
@@ -331,41 +333,39 @@ export class XTerm extends Terminal {
331
333
  cursorIdx,
332
334
  };
333
335
  }
334
- computeCursorJumpMovement(back, jumpWordOnly) {
336
+ computeCursorJumpMovement(back) {
335
337
  const range = this.getCommandRange();
336
338
  let distance = undefined;
337
339
  let foundWord = false;
338
340
  // scan for the boundary of the closest word to the cursor position
339
- if (jumpWordOnly) {
340
- if (back) {
341
- for (let i = range.cursorIdx - 1; i > -1; --i) {
342
- const char = this.command.charAt(i);
343
- if (char.match(/\w/)) {
344
- if (!foundWord) {
345
- foundWord = true;
346
- }
341
+ if (back) {
342
+ for (let i = range.cursorIdx - 1; i > -1; --i) {
343
+ const char = this.command.charAt(i);
344
+ if (char.match(/\w/)) {
345
+ if (!foundWord) {
346
+ foundWord = true;
347
347
  }
348
- else {
349
- if (foundWord) {
350
- distance = range.cursorIdx - i - 1;
351
- break;
352
- }
348
+ }
349
+ else {
350
+ if (foundWord) {
351
+ distance = range.cursorIdx - i - 1;
352
+ break;
353
353
  }
354
354
  }
355
355
  }
356
- else {
357
- for (let i = range.cursorIdx + 1; i < this.command.length; ++i) {
358
- const char = this.command.charAt(i);
359
- if (char.match(/\w/)) {
360
- if (!foundWord) {
361
- foundWord = true;
362
- }
356
+ }
357
+ else {
358
+ for (let i = range.cursorIdx + 1; i < this.command.length; ++i) {
359
+ const char = this.command.charAt(i);
360
+ if (char.match(/\w/)) {
361
+ if (!foundWord) {
362
+ foundWord = true;
363
363
  }
364
- else {
365
- if (foundWord) {
366
- distance = i - range.cursorIdx - 1;
367
- break;
368
- }
364
+ }
365
+ else {
366
+ if (foundWord) {
367
+ distance = i - range.cursorIdx - 1;
368
+ break;
369
369
  }
370
370
  }
371
371
  }
@@ -381,11 +381,12 @@ export class XTerm extends Terminal {
381
381
  *
382
382
  * @param val a number (negative means cursor move leftwards)
383
383
  * @param limit whether to limit the movement of the cursor by the command range
384
- * @returns ANSI escape sequence for new cursor position
384
+ * @returns cursor movement information including the ANSI escape sequence for new cursor position and scroll distance
385
385
  */
386
- generateMoveCursorANSISeq(val, limit = true) {
386
+ computeCursorMovement(val, limit = true) {
387
387
  const buffer = this.instance.buffer.active;
388
388
  const cols = this.instance.cols;
389
+ const rows = this.instance.rows;
389
390
  const range = this.getCommandRange();
390
391
  const maxDistance = limit
391
392
  ? val < 0
@@ -395,25 +396,41 @@ export class XTerm extends Terminal {
395
396
  const distance = Math.min(Math.abs(val), maxDistance);
396
397
  let newCursorX = buffer.cursorX;
397
398
  let newCursorY = buffer.cursorY;
399
+ let abs_cursorY = buffer.baseY + buffer.cursorY;
398
400
  if (val < 0) {
399
401
  // move leftwards
400
402
  newCursorX = (cols + ((buffer.cursorX - distance) % cols)) % cols;
401
403
  newCursorY =
402
- buffer.baseY +
403
- buffer.cursorY -
404
+ buffer.cursorY -
404
405
  (distance > buffer.cursorX ? Math.ceil(distance / cols) : 0);
406
+ abs_cursorY = newCursorY + buffer.baseY;
407
+ newCursorY = Math.max(newCursorY, -1);
405
408
  }
406
409
  else if (val > 0) {
407
410
  // move rightwards
408
411
  newCursorX = (buffer.cursorX + distance) % cols;
409
412
  newCursorY =
410
- buffer.baseY +
411
- buffer.cursorY +
413
+ buffer.cursorY +
412
414
  (buffer.cursorX + distance >= cols
413
415
  ? Math.floor((buffer.cursorX + distance) / cols)
414
416
  : 0);
417
+ abs_cursorY = newCursorY + buffer.baseY;
418
+ newCursorY = Math.min(newCursorY, rows - 1);
415
419
  }
416
- return ANSI_moveCursor(newCursorY + 1, newCursorX + 1);
420
+ const scroll = abs_cursorY > buffer.viewportY + rows
421
+ ? abs_cursorY - (buffer.viewportY + rows)
422
+ : abs_cursorY < buffer.viewportY
423
+ ? abs_cursorY - buffer.viewportY
424
+ : 0;
425
+ return {
426
+ // NOTE: currently, there is a design limitation with programmatically set the cursor using escape sequence
427
+ // by design, the scrollback (everything above the viewport/ybase) is readonly, and most terminals work like this.
428
+ // So for very long command that causes an overflow, one cannot set the cursor position pass the `baseY`
429
+ // this will affect both navigation and delete/backspace behavior
430
+ // See https://github.com/xtermjs/xterm.js/issues/4405
431
+ seq: ANSI_moveCursor(newCursorY + 1, newCursorX + 1),
432
+ scroll,
433
+ };
417
434
  }
418
435
  /**
419
436
  * Write value to command with awareness of the current cursor position
@@ -422,10 +439,12 @@ export class XTerm extends Terminal {
422
439
  const range = this.getCommandRange();
423
440
  const left = this.command.slice(0, range.cursorIdx);
424
441
  const right = this.command.slice(range.cursorIdx);
442
+ const movement = this.computeCursorMovement(val.length, false);
443
+ this.instance.scrollLines(movement.scroll);
425
444
  this.instance.write(val +
426
445
  right +
427
446
  // update the cursor
428
- this.generateMoveCursorANSISeq(val.length, false));
447
+ movement.seq);
429
448
  this.setCommand(left + val + right);
430
449
  }
431
450
  /**
@@ -433,6 +452,7 @@ export class XTerm extends Terminal {
433
452
  * NOTE: negative number means backward deleting (i.e. backspace)
434
453
  */
435
454
  deleteFromCommand(val) {
455
+ // console.log(val);
436
456
  const range = this.getCommandRange();
437
457
  const maxDistance = val < 0 ? range.cursorIdx : this.command.length - range.cursorIdx;
438
458
  const distance = Math.min(Math.abs(val), maxDistance);
@@ -454,6 +474,8 @@ export class XTerm extends Terminal {
454
474
  right = this.command.slice(range.cursorIdx + distance, this.command.length);
455
475
  cursorMovement = 0;
456
476
  }
477
+ const movement = this.computeCursorMovement(cursorMovement);
478
+ this.instance.scrollLines(movement.scroll);
457
479
  this.instance.write(
458
480
  // reset cursor to start of command, basically here, we're rewriting the entire command
459
481
  ANSI_moveCursor(range.startY + 1, range.startX + 1) +
@@ -462,7 +484,7 @@ export class XTerm extends Terminal {
462
484
  // fill space to erase cells rendered from previous command
463
485
  ' '.repeat(distance) +
464
486
  // move the cursor as well
465
- this.generateMoveCursorANSISeq(cursorMovement));
487
+ movement.seq);
466
488
  this.setCommand(left + right);
467
489
  }
468
490
  get isSetup() {
@@ -618,7 +640,7 @@ export class XTerm extends Terminal {
618
640
  }
619
641
  output(val, opts) {
620
642
  this.resetANSIStyling();
621
- if (!opts?.clear && opts?.systemCommand) {
643
+ if ((!opts?.clear || this.preserveLog) && opts?.systemCommand) {
622
644
  this.newSystemCommand(opts.systemCommand);
623
645
  }
624
646
  if (!this.preserveLog && opts?.clear) {
@@ -1 +1 @@
1
- {"version":3,"file":"XTerm.js","sourceRoot":"","sources":["../../../src/stores/terminal/XTerm.ts"],"names":[],"mappings":"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"}
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.12",
3
+ "version": "10.2.14",
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.22",
47
- "@finos/legend-graph": "22.2.4",
48
- "@finos/legend-shared": "6.2.16",
46
+ "@finos/legend-art": "5.0.24",
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.35.0-dev.20230131",
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",
@@ -71,11 +71,11 @@
71
71
  "xterm-addon-webgl": "0.14.0"
72
72
  },
73
73
  "devDependencies": {
74
- "@finos/legend-dev-utils": "2.0.39",
75
- "@jest/globals": "29.4.1",
74
+ "@finos/legend-dev-utils": "2.0.40",
75
+ "@jest/globals": "29.4.2",
76
76
  "cross-env": "7.0.3",
77
77
  "eslint": "8.33.0",
78
- "jest": "29.4.1",
78
+ "jest": "29.4.2",
79
79
  "npm-run-all": "4.1.5",
80
80
  "rimraf": "4.1.2",
81
81
  "sass": "1.58.0",
@@ -36,6 +36,8 @@ import {
36
36
  Modal,
37
37
  ModalBody,
38
38
  ModalFooter,
39
+ PanelSideBarHeader,
40
+ ModalFooterButton,
39
41
  } from '@finos/legend-art';
40
42
  import {
41
43
  addUniqueEntry,
@@ -430,13 +432,10 @@ const ExecutionPlanViewerContent = observer(
430
432
  <ResizablePanelGroup orientation="vertical">
431
433
  <ResizablePanel size={300} minSize={300}>
432
434
  <div className="panel execution-plan-viewer__explorer">
433
- <div className="panel__header side-bar__header">
434
- <div className="panel__header__title">
435
- <div className="panel__header__title__content side-bar__header__title__content">
436
- EXECUTION PLAN EXPLORER
437
- </div>
438
- </div>
439
- </div>
435
+ <PanelSideBarHeader
436
+ darkMode={true}
437
+ title="execution plan explorer"
438
+ />
440
439
  <div className="panel__content execution-plan-viewer__explorer__content__container">
441
440
  <ExecutionPlanTree
442
441
  executionPlanState={executionPlanState}
@@ -535,12 +534,7 @@ export const ExecutionPlanViewer = observer(
535
534
  )}
536
535
  </ModalBody>
537
536
  <ModalFooter>
538
- <button
539
- className="btn modal__footer__close-btn"
540
- onClick={closePlanViewer}
541
- >
542
- Close
543
- </button>
537
+ <ModalFooterButton onClick={closePlanViewer} text="Close" />
544
538
  </ModalFooter>
545
539
  </Modal>
546
540
  </Dialog>
package/src/const.ts CHANGED
@@ -26,7 +26,7 @@ export enum EDITOR_THEME {
26
26
  }
27
27
 
28
28
  export enum EDITOR_LANGUAGE {
29
- TEXT = 'text',
29
+ TEXT = 'plaintext',
30
30
  PURE = 'pure',
31
31
  JSON = 'json',
32
32
  JAVA = 'java',
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
 
@@ -88,8 +88,9 @@ const theme: monacoEditorAPI.IStandaloneThemeData = {
88
88
  // Taken from `monaco-languages` configuration for Java in order to do propert brace matching
89
89
  // See https://github.com/microsoft/monaco-languages/blob/master/src/java/java.ts
90
90
  const configuration: monacoLanguagesAPI.LanguageConfiguration = {
91
- // NOTE: Pure identifier includes $
92
- wordPattern: /(-?\d*\.\d\w*)|([^`~!@#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]+)/,
91
+ // NOTE: Pure identifier includes $ but not in the first position (as that is parsed as a variable)
92
+ wordPattern:
93
+ /(-?\d*\.\d\w*)|([^`~!@#%^$&*()\-=+[{\]}\\|;:'",.<>/?\s][^`~!@#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]*)/,
93
94
  comments: {
94
95
  lineComment: '//',
95
96
  blockComment: ['/*', '*/'],
@@ -89,7 +89,8 @@ export enum DISPLAY_ANSI_ESCAPE {
89
89
  }
90
90
 
91
91
  /**
92
- * NOTE: line and column start from 1
92
+ * NOTE: this is the line and the column of the viewport of the terminal;
93
+ * Also, line and column start from 1
93
94
  */
94
95
  export const ANSI_moveCursor = (line: number, column: number): string =>
95
96
  `\x1b[${line};${column}H`;