@theia/notebook 1.52.0 → 1.53.0-next.5

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 (81) hide show
  1. package/lib/browser/contributions/cell-operations.d.ts +1 -1
  2. package/lib/browser/contributions/cell-operations.d.ts.map +1 -1
  3. package/lib/browser/contributions/cell-operations.js +10 -2
  4. package/lib/browser/contributions/cell-operations.js.map +1 -1
  5. package/lib/browser/contributions/notebook-actions-contribution.d.ts +1 -0
  6. package/lib/browser/contributions/notebook-actions-contribution.d.ts.map +1 -1
  7. package/lib/browser/contributions/notebook-actions-contribution.js +19 -23
  8. package/lib/browser/contributions/notebook-actions-contribution.js.map +1 -1
  9. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts +2 -0
  10. package/lib/browser/contributions/notebook-cell-actions-contribution.d.ts.map +1 -1
  11. package/lib/browser/contributions/notebook-cell-actions-contribution.js +26 -15
  12. package/lib/browser/contributions/notebook-cell-actions-contribution.js.map +1 -1
  13. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts +10 -0
  14. package/lib/browser/contributions/notebook-undo-redo-handler.d.ts.map +1 -0
  15. package/lib/browser/contributions/notebook-undo-redo-handler.js +49 -0
  16. package/lib/browser/contributions/notebook-undo-redo-handler.js.map +1 -0
  17. package/lib/browser/notebook-editor-widget.d.ts +6 -0
  18. package/lib/browser/notebook-editor-widget.d.ts.map +1 -1
  19. package/lib/browser/notebook-editor-widget.js +39 -1
  20. package/lib/browser/notebook-editor-widget.js.map +1 -1
  21. package/lib/browser/notebook-frontend-module.d.ts.map +1 -1
  22. package/lib/browser/notebook-frontend-module.js +3 -0
  23. package/lib/browser/notebook-frontend-module.js.map +1 -1
  24. package/lib/browser/service/notebook-context-manager.d.ts +2 -1
  25. package/lib/browser/service/notebook-context-manager.d.ts.map +1 -1
  26. package/lib/browser/service/notebook-context-manager.js +6 -3
  27. package/lib/browser/service/notebook-context-manager.js.map +1 -1
  28. package/lib/browser/service/notebook-options.d.ts +1 -0
  29. package/lib/browser/service/notebook-options.d.ts.map +1 -1
  30. package/lib/browser/service/notebook-options.js +1 -0
  31. package/lib/browser/service/notebook-options.js.map +1 -1
  32. package/lib/browser/service/notebook-service.d.ts +1 -0
  33. package/lib/browser/service/notebook-service.d.ts.map +1 -1
  34. package/lib/browser/service/notebook-service.js +7 -0
  35. package/lib/browser/service/notebook-service.js.map +1 -1
  36. package/lib/browser/view/notebook-cell-editor.d.ts +7 -1
  37. package/lib/browser/view/notebook-cell-editor.d.ts.map +1 -1
  38. package/lib/browser/view/notebook-cell-editor.js +75 -5
  39. package/lib/browser/view/notebook-cell-editor.js.map +1 -1
  40. package/lib/browser/view/notebook-cell-list-view.d.ts +3 -0
  41. package/lib/browser/view/notebook-cell-list-view.d.ts.map +1 -1
  42. package/lib/browser/view/notebook-cell-list-view.js +26 -2
  43. package/lib/browser/view/notebook-cell-list-view.js.map +1 -1
  44. package/lib/browser/view/notebook-code-cell-view.d.ts +1 -1
  45. package/lib/browser/view/notebook-code-cell-view.d.ts.map +1 -1
  46. package/lib/browser/view/notebook-code-cell-view.js +19 -17
  47. package/lib/browser/view/notebook-code-cell-view.js.map +1 -1
  48. package/lib/browser/view/notebook-find-widget.d.ts +63 -0
  49. package/lib/browser/view/notebook-find-widget.d.ts.map +1 -0
  50. package/lib/browser/view/notebook-find-widget.js +225 -0
  51. package/lib/browser/view/notebook-find-widget.js.map +1 -0
  52. package/lib/browser/view/notebook-markdown-cell-view.d.ts +4 -0
  53. package/lib/browser/view/notebook-markdown-cell-view.d.ts.map +1 -1
  54. package/lib/browser/view/notebook-markdown-cell-view.js +105 -8
  55. package/lib/browser/view/notebook-markdown-cell-view.js.map +1 -1
  56. package/lib/browser/view-model/notebook-cell-model.d.ts +24 -1
  57. package/lib/browser/view-model/notebook-cell-model.d.ts.map +1 -1
  58. package/lib/browser/view-model/notebook-cell-model.js +71 -1
  59. package/lib/browser/view-model/notebook-cell-model.js.map +1 -1
  60. package/lib/browser/view-model/notebook-model.d.ts +8 -1
  61. package/lib/browser/view-model/notebook-model.d.ts.map +1 -1
  62. package/lib/browser/view-model/notebook-model.js +66 -14
  63. package/lib/browser/view-model/notebook-model.js.map +1 -1
  64. package/package.json +8 -7
  65. package/src/browser/contributions/cell-operations.ts +8 -2
  66. package/src/browser/contributions/notebook-actions-contribution.ts +21 -22
  67. package/src/browser/contributions/notebook-cell-actions-contribution.ts +26 -16
  68. package/src/browser/contributions/notebook-undo-redo-handler.ts +41 -0
  69. package/src/browser/notebook-editor-widget.tsx +49 -2
  70. package/src/browser/notebook-frontend-module.ts +5 -1
  71. package/src/browser/service/notebook-context-manager.ts +8 -4
  72. package/src/browser/service/notebook-options.ts +2 -1
  73. package/src/browser/service/notebook-service.ts +7 -1
  74. package/src/browser/style/index.css +165 -6
  75. package/src/browser/view/notebook-cell-editor.tsx +79 -6
  76. package/src/browser/view/notebook-cell-list-view.tsx +32 -3
  77. package/src/browser/view/notebook-code-cell-view.tsx +19 -17
  78. package/src/browser/view/notebook-find-widget.tsx +335 -0
  79. package/src/browser/view/notebook-markdown-cell-view.tsx +134 -17
  80. package/src/browser/view-model/notebook-cell-model.ts +94 -8
  81. package/src/browser/view-model/notebook-model.ts +77 -20
@@ -1 +1 @@
1
- {"version":3,"file":"notebook-model.js","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notebook-model.js","sourceRoot":"","sources":["../../../src/browser/view-model/notebook-model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@theia/notebook",
3
- "version": "1.52.0",
3
+ "version": "1.53.0-next.5+1e5fb536d",
4
4
  "description": "Theia - Notebook Extension",
5
5
  "dependencies": {
6
- "@theia/core": "1.52.0",
7
- "@theia/editor": "1.52.0",
8
- "@theia/filesystem": "1.52.0",
9
- "@theia/monaco": "1.52.0",
6
+ "@theia/core": "1.53.0-next.5+1e5fb536d",
7
+ "@theia/editor": "1.53.0-next.5+1e5fb536d",
8
+ "@theia/filesystem": "1.53.0-next.5+1e5fb536d",
9
+ "@theia/monaco": "1.53.0-next.5+1e5fb536d",
10
10
  "@theia/monaco-editor-core": "1.83.101",
11
- "@theia/outline-view": "1.52.0",
11
+ "@theia/outline-view": "1.53.0-next.5+1e5fb536d",
12
+ "advanced-mark.js": "^2.6.0",
12
13
  "react-perfect-scrollbar": "^1.5.8",
13
14
  "tslib": "^2.6.2"
14
15
  },
@@ -52,5 +53,5 @@
52
53
  "nyc": {
53
54
  "extends": "../../configs/nyc.json"
54
55
  },
55
- "gitHead": "40ceebcd4ee75f13ec16b9dc7314e9384493c1ac"
56
+ "gitHead": "1e5fb536d65550ad8fa0fefcec731645b2afc74a"
56
57
  }
@@ -22,17 +22,23 @@ import { NotebookModel } from '../view-model/notebook-model';
22
22
  * a collection of different reusable notbook cell operations
23
23
  */
24
24
 
25
- export function changeCellType(notebookModel: NotebookModel, cell: NotebookCellModel, type: CellKind): void {
25
+ export function changeCellType(notebookModel: NotebookModel, cell: NotebookCellModel, type: CellKind, language?: string): void {
26
26
  if (cell.cellKind === type) {
27
27
  return;
28
28
  }
29
+ if (type === CellKind.Markup) {
30
+ language = 'markdown';
31
+ } else {
32
+ language ??= cell.language;
33
+ }
29
34
  notebookModel.applyEdits([{
30
35
  editType: CellEditType.Replace,
31
36
  index: notebookModel.cells.indexOf(cell),
32
37
  count: 1,
33
38
  cells: [{
34
39
  ...cell.getData(),
35
- cellKind: type
40
+ cellKind: type,
41
+ language
36
42
  }]
37
43
  }], true);
38
44
  }
@@ -16,13 +16,12 @@
16
16
 
17
17
  import { Command, CommandContribution, CommandHandler, CommandRegistry, CompoundMenuNodeRole, MenuContribution, MenuModelRegistry, nls, URI } from '@theia/core';
18
18
  import { inject, injectable } from '@theia/core/shared/inversify';
19
- import { ApplicationShell, codicon, CommonCommands, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
19
+ import { ApplicationShell, codicon, KeybindingContribution, KeybindingRegistry } from '@theia/core/lib/browser';
20
20
  import { NotebookModel } from '../view-model/notebook-model';
21
21
  import { NotebookService } from '../service/notebook-service';
22
22
  import { CellEditType, CellKind, NotebookCommand } from '../../common';
23
23
  import { NotebookKernelQuickPickService } from '../service/notebook-kernel-quick-pick-service';
24
24
  import { NotebookExecutionService } from '../service/notebook-execution-service';
25
- import { NotebookEditorWidget } from '../notebook-editor-widget';
26
25
  import { NotebookEditorWidgetService } from '../service/notebook-editor-widget-service';
27
26
  import { NOTEBOOK_CELL_CURSOR_FIRST_LINE, NOTEBOOK_CELL_CURSOR_LAST_LINE, NOTEBOOK_CELL_FOCUSED, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_HAS_OUTPUTS } from './notebook-context-keys';
28
27
  import { NotebookClipboardService } from '../service/notebook-clipboard-service';
@@ -83,6 +82,11 @@ export namespace NotebookCommands {
83
82
  id: 'notebook.cell.paste',
84
83
  category: 'Notebook',
85
84
  });
85
+
86
+ export const NOTEBOOK_FIND = Command.toDefaultLocalizedCommand({
87
+ id: 'notebook.find',
88
+ category: 'Notebook',
89
+ });
86
90
  }
87
91
 
88
92
  export enum CellChangeDirection {
@@ -129,8 +133,7 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
129
133
 
130
134
  let cellLanguage: string = 'markdown';
131
135
  if (cellKind === CellKind.Code) {
132
- const firstCodeCell = notebookModel.cells.find(cell => cell.cellKind === CellKind.Code);
133
- cellLanguage = firstCodeCell?.language ?? 'plaintext';
136
+ cellLanguage = this.notebookService.getCodeCellLanguage(notebookModel);
134
137
  }
135
138
 
136
139
  notebookModel.applyEdits([{
@@ -203,21 +206,6 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
203
206
  }
204
207
  );
205
208
 
206
- commands.registerHandler(CommonCommands.UNDO.id, {
207
- isEnabled: () => {
208
- const widget = this.shell.activeWidget;
209
- return widget instanceof NotebookEditorWidget && !Boolean(widget.model?.readOnly);
210
- },
211
- execute: () => (this.shell.activeWidget as NotebookEditorWidget).undo()
212
- });
213
- commands.registerHandler(CommonCommands.REDO.id, {
214
- isEnabled: () => {
215
- const widget = this.shell.activeWidget;
216
- return widget instanceof NotebookEditorWidget && !Boolean(widget.model?.readOnly);
217
- },
218
- execute: () => (this.shell.activeWidget as NotebookEditorWidget).redo()
219
- });
220
-
221
209
  commands.registerCommand(NotebookCommands.CUT_SELECTED_CELL, this.editableCommandHandler(
222
210
  () => {
223
211
  const model = this.notebookEditorWidgetService.focusedEditor?.model;
@@ -251,6 +239,12 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
251
239
  }
252
240
  });
253
241
 
242
+ commands.registerCommand(NotebookCommands.NOTEBOOK_FIND, {
243
+ execute: () => {
244
+ this.notebookEditorWidgetService.focusedEditor?.showFindWidget();
245
+ }
246
+ });
247
+
254
248
  }
255
249
 
256
250
  protected editableCommandHandler(execute: (notebookModel: NotebookModel) => void): CommandHandler {
@@ -326,17 +320,22 @@ export class NotebookActionsContribution implements CommandContribution, MenuCon
326
320
  {
327
321
  command: NotebookCommands.CUT_SELECTED_CELL.id,
328
322
  keybinding: 'ctrlcmd+x',
329
- when: `!editorTextFocus && ${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED}`
323
+ when: `${NOTEBOOK_EDITOR_FOCUSED} && !inputFocus`
330
324
  },
331
325
  {
332
326
  command: NotebookCommands.COPY_SELECTED_CELL.id,
333
327
  keybinding: 'ctrlcmd+c',
334
- when: `!editorTextFocus && ${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED}`
328
+ when: `${NOTEBOOK_EDITOR_FOCUSED} && !inputFocus`
335
329
  },
336
330
  {
337
331
  command: NotebookCommands.PASTE_CELL.id,
338
332
  keybinding: 'ctrlcmd+v',
339
- when: `!editorTextFocus && ${NOTEBOOK_EDITOR_FOCUSED}`
333
+ when: `${NOTEBOOK_EDITOR_FOCUSED} && !inputFocus`
334
+ },
335
+ {
336
+ command: NotebookCommands.NOTEBOOK_FIND.id,
337
+ keybinding: 'ctrlcmd+f',
338
+ when: `${NOTEBOOK_EDITOR_FOCUSED}`
340
339
  },
341
340
  );
342
341
  }
@@ -22,7 +22,8 @@ import { NotebookCellModel } from '../view-model/notebook-cell-model';
22
22
  import {
23
23
  NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_TYPE,
24
24
  NotebookContextKeys, NOTEBOOK_CELL_EXECUTING, NOTEBOOK_EDITOR_FOCUSED,
25
- NOTEBOOK_CELL_FOCUSED
25
+ NOTEBOOK_CELL_FOCUSED,
26
+ NOTEBOOK_CELL_LIST_FOCUSED
26
27
  } from './notebook-context-keys';
27
28
  import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
28
29
  import { NotebookExecutionService } from '../service/notebook-execution-service';
@@ -32,6 +33,7 @@ import { NotebookEditorWidgetService } from '../service/notebook-editor-widget-s
32
33
  import { NotebookCommands } from './notebook-actions-contribution';
33
34
  import { changeCellType } from './cell-operations';
34
35
  import { EditorLanguageQuickPickService } from '@theia/editor/lib/browser/editor-language-quick-pick-service';
36
+ import { NotebookService } from '../service/notebook-service';
35
37
 
36
38
  export namespace NotebookCellCommands {
37
39
  /** Parameters: notebookModel: NotebookModel | undefined, cell: NotebookCellModel */
@@ -117,7 +119,7 @@ export namespace NotebookCellCommands {
117
119
 
118
120
  export const TO_MARKDOWN_CELL_COMMAND = Command.toLocalizedCommand({
119
121
  id: 'notebook.cell.changeToMarkdown',
120
- label: 'Change Cell to Mardown'
122
+ label: 'Change Cell to Markdown'
121
123
  });
122
124
 
123
125
  export const TOGGLE_CELL_OUTPUT = Command.toDefaultLocalizedCommand({
@@ -146,6 +148,9 @@ export class NotebookCellActionContribution implements MenuContribution, Command
146
148
  @inject(ContextKeyService)
147
149
  protected contextKeyService: ContextKeyService;
148
150
 
151
+ @inject(NotebookService)
152
+ protected notebookService: NotebookService;
153
+
149
154
  @inject(NotebookExecutionService)
150
155
  protected notebookExecutionService: NotebookExecutionService;
151
156
 
@@ -345,7 +350,7 @@ export class NotebookCellActionContribution implements MenuContribution, Command
345
350
  commands.registerCommand(NotebookCellCommands.INSERT_MARKDOWN_CELL_BELOW_COMMAND, insertCommand(CellKind.Markup, 'below'));
346
351
 
347
352
  commands.registerCommand(NotebookCellCommands.TO_CODE_CELL_COMMAND, this.editableCellCommandHandler((notebookModel, cell) => {
348
- changeCellType(notebookModel, cell, CellKind.Code);
353
+ changeCellType(notebookModel, cell, CellKind.Code, this.notebookService.getCodeCellLanguage(notebookModel));
349
354
  }));
350
355
  commands.registerCommand(NotebookCellCommands.TO_MARKDOWN_CELL_COMMAND, this.editableCellCommandHandler((notebookModel, cell) => {
351
356
  changeCellType(notebookModel, cell, CellKind.Markup);
@@ -369,18 +374,23 @@ export class NotebookCellActionContribution implements MenuContribution, Command
369
374
  return;
370
375
  }
371
376
  const language = await this.languageQuickPickService.pickEditorLanguage(selectedCell.language);
372
- if (!language?.value || language.value === 'autoDetect') {
377
+ if (!language?.value || language.value === 'autoDetect' || language.value.id === selectedCell.language) {
373
378
  return;
374
379
  }
375
- if (language.value.id === 'markdown') {
376
- selectedCell.language = 'markdown';
377
- changeCellType(activeNotebook, selectedCell, CellKind.Markup);
380
+ const isMarkdownCell = selectedCell.cellKind === CellKind.Markup;
381
+ const isMarkdownLanguage = language.value.id === 'markdown';
382
+ if (isMarkdownLanguage) {
383
+ changeCellType(activeNotebook, selectedCell, CellKind.Markup, language.value.id);
378
384
  } else {
379
- this.notebookEditorWidgetService.focusedEditor?.model?.applyEdits([{
380
- editType: CellEditType.CellLanguage,
381
- index: activeNotebook.cells.indexOf(selectedCell),
382
- language: language.value.id
383
- }], true);
385
+ if (isMarkdownCell) {
386
+ changeCellType(activeNotebook, selectedCell, CellKind.Code, language.value.id);
387
+ } else {
388
+ this.notebookEditorWidgetService.focusedEditor?.model?.applyEdits([{
389
+ editType: CellEditType.CellLanguage,
390
+ index: activeNotebook.cells.indexOf(selectedCell),
391
+ language: language.value.id
392
+ }], true);
393
+ }
384
394
  }
385
395
  }
386
396
  });
@@ -418,12 +428,12 @@ export class NotebookCellActionContribution implements MenuContribution, Command
418
428
  {
419
429
  command: NotebookCellCommands.EDIT_COMMAND.id,
420
430
  keybinding: 'Enter',
421
- when: `!editorTextFocus && ${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED}`,
431
+ when: `!editorTextFocus && !inputFocus && ${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED}`,
422
432
  },
423
433
  {
424
434
  command: NotebookCellCommands.STOP_EDIT_COMMAND.id,
425
435
  keybinding: KeyCode.createKeyCode({ first: Key.ENTER, modifiers: [KeyModifier.Alt] }).toString(),
426
- when: `editorTextFocus && ${NOTEBOOK_EDITOR_FOCUSED}`,
436
+ when: `editorTextFocus && !inputFocus && ${NOTEBOOK_EDITOR_FOCUSED}`,
427
437
  },
428
438
  {
429
439
  command: NotebookCellCommands.STOP_EDIT_COMMAND.id,
@@ -433,12 +443,12 @@ export class NotebookCellActionContribution implements MenuContribution, Command
433
443
  {
434
444
  command: NotebookCellCommands.EXECUTE_SINGLE_CELL_COMMAND.id,
435
445
  keybinding: KeyCode.createKeyCode({ first: Key.ENTER, modifiers: [KeyModifier.CtrlCmd] }).toString(),
436
- when: `${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED} && ${NOTEBOOK_CELL_TYPE} == 'code'`,
446
+ when: `${NOTEBOOK_CELL_LIST_FOCUSED} && ${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED} && ${NOTEBOOK_CELL_TYPE} == 'code'`,
437
447
  },
438
448
  {
439
449
  command: NotebookCellCommands.EXECUTE_SINGLE_CELL_AND_FOCUS_NEXT_COMMAND.id,
440
450
  keybinding: KeyCode.createKeyCode({ first: Key.ENTER, modifiers: [KeyModifier.Shift] }).toString(),
441
- when: `${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED}`,
451
+ when: `${NOTEBOOK_CELL_LIST_FOCUSED} && ${NOTEBOOK_EDITOR_FOCUSED} && ${NOTEBOOK_CELL_FOCUSED}`,
442
452
  },
443
453
  {
444
454
  command: NotebookCellCommands.CLEAR_OUTPUTS_COMMAND.id,
@@ -0,0 +1,41 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2024 TypeFox and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { inject, injectable } from '@theia/core/shared/inversify';
18
+ import { ApplicationShell, UndoRedoHandler } from '@theia/core/lib/browser';
19
+ import { NotebookEditorWidget } from '../notebook-editor-widget';
20
+
21
+ @injectable()
22
+ export class NotebookUndoRedoHandler implements UndoRedoHandler<NotebookEditorWidget> {
23
+
24
+ @inject(ApplicationShell)
25
+ protected readonly applicationShell: ApplicationShell;
26
+
27
+ priority = 200;
28
+ select(): NotebookEditorWidget | undefined {
29
+ const current = this.applicationShell.currentWidget;
30
+ if (current instanceof NotebookEditorWidget) {
31
+ return current;
32
+ }
33
+ return undefined;
34
+ }
35
+ undo(item: NotebookEditorWidget): void {
36
+ item.undo();
37
+ }
38
+ redo(item: NotebookEditorWidget): void {
39
+ item.redo();
40
+ }
41
+ }
@@ -33,6 +33,8 @@ import { MarkdownString } from '@theia/core/lib/common/markdown-rendering';
33
33
  import { NotebookContextManager } from './service/notebook-context-manager';
34
34
  import { NotebookViewportService } from './view/notebook-viewport-service';
35
35
  import { NotebookCellCommands } from './contributions/notebook-cell-actions-contribution';
36
+ import { NotebookFindWidget } from './view/notebook-find-widget';
37
+ import debounce = require('lodash/debounce');
36
38
  const PerfectScrollbar = require('react-perfect-scrollbar');
37
39
 
38
40
  export const NotebookEditorWidgetContainerFactory = Symbol('NotebookEditorWidgetContainerFactory');
@@ -126,7 +128,16 @@ export class NotebookEditorWidget extends ReactWidget implements Navigatable, Sa
126
128
  protected readonly renderers = new Map<CellKind, CellRenderer>();
127
129
  protected _model?: NotebookModel;
128
130
  protected _ready: Deferred<NotebookModel> = new Deferred();
131
+ protected _findWidgetVisible = false;
132
+ protected _findWidgetRef = React.createRef<NotebookFindWidget>();
129
133
  protected scrollBarRef = React.createRef<{ updateScroll(): void }>();
134
+ protected debounceFind = debounce(() => {
135
+ this._findWidgetRef.current?.search({});
136
+ }, 30, {
137
+ trailing: true,
138
+ maxWait: 100,
139
+ leading: false
140
+ });
130
141
 
131
142
  get notebookType(): string {
132
143
  return this.props.notebookType;
@@ -177,6 +188,11 @@ export class NotebookEditorWidget extends ReactWidget implements Navigatable, Sa
177
188
  // Wait one frame to ensure that the content has been rendered
178
189
  animationFrame().then(() => this.scrollBarRef.current?.updateScroll());
179
190
  }));
191
+ this.toDispose.push(this._model.onContentChanged(() => {
192
+ if (this._findWidgetVisible) {
193
+ this.debounceFind();
194
+ }
195
+ }));
180
196
  this.toDispose.push(this._model.onDidChangeReadOnly(readOnly => {
181
197
  if (readOnly) {
182
198
  lock(this.title);
@@ -220,18 +236,41 @@ export class NotebookEditorWidget extends ReactWidget implements Navigatable, Sa
220
236
  protected render(): ReactNode {
221
237
  if (this._model) {
222
238
  return <div className='theia-notebook-main-container'>
239
+ <div className='theia-notebook-overlay'>
240
+ <NotebookFindWidget
241
+ ref={this._findWidgetRef}
242
+ hidden={!this._findWidgetVisible}
243
+ onClose={() => {
244
+ this._findWidgetVisible = false;
245
+ this._model?.findMatches({
246
+ activeFilters: [],
247
+ matchCase: false,
248
+ regex: false,
249
+ search: '',
250
+ wholeWord: false
251
+ });
252
+ this.update();
253
+ }}
254
+ onSearch={options => this._model?.findMatches(options) ?? []}
255
+ onReplace={(matches, replaceText) => this._model?.replaceAll(matches, replaceText)}
256
+ />
257
+ </div>
223
258
  {this.notebookMainToolbarRenderer.render(this._model, this.node)}
224
- <div className='theia-notebook-viewport' ref={(ref: HTMLDivElement) => this.viewportService.viewportElement = ref}>
259
+ <div
260
+ className='theia-notebook-viewport'
261
+ ref={(ref: HTMLDivElement) => this.viewportService.viewportElement = ref}
262
+ >
225
263
  <PerfectScrollbar className='theia-notebook-scroll-container'
226
264
  ref={this.scrollBarRef}
227
265
  onScrollY={(e: HTMLDivElement) => this.viewportService.onScroll(e)}>
228
266
  <NotebookCellListView renderers={this.renderers}
229
267
  notebookModel={this._model}
268
+ notebookContext={this.notebookContextManager}
230
269
  toolbarRenderer={this.cellToolbarFactory}
231
270
  commandRegistry={this.commandRegistry} />
232
271
  </PerfectScrollbar>
233
272
  </div>
234
- </div >;
273
+ </div>;
235
274
  } else {
236
275
  return <div className='theia-notebook-main-container'>
237
276
  <div className='theia-notebook-main-loading-indicator'></div>
@@ -260,6 +299,14 @@ export class NotebookEditorWidget extends ReactWidget implements Navigatable, Sa
260
299
  this.onDidChangeOutputInputFocusEmitter.fire(focused);
261
300
  }
262
301
 
302
+ showFindWidget(): void {
303
+ if (!this._findWidgetVisible) {
304
+ this._findWidgetVisible = true;
305
+ this.update();
306
+ }
307
+ this._findWidgetRef.current?.focusSearch(this._model?.selectedText);
308
+ }
309
+
263
310
  override dispose(): void {
264
311
  this.notebookContextManager.dispose();
265
312
  this.onDidChangeModelEmitter.dispose();
@@ -16,7 +16,7 @@
16
16
  import '../../src/browser/style/index.css';
17
17
 
18
18
  import { ContainerModule } from '@theia/core/shared/inversify';
19
- import { FrontendApplicationContribution, KeybindingContribution, LabelProviderContribution, OpenHandler, WidgetFactory } from '@theia/core/lib/browser';
19
+ import { FrontendApplicationContribution, KeybindingContribution, LabelProviderContribution, OpenHandler, UndoRedoHandler, WidgetFactory } from '@theia/core/lib/browser';
20
20
  import { ColorContribution } from '@theia/core/lib/browser/color-application-contribution';
21
21
  import { NotebookOpenHandler } from './notebook-open-handler';
22
22
  import { CommandContribution, MenuContribution, ResourceResolver, } from '@theia/core';
@@ -46,6 +46,7 @@ import { NotebookOutputActionContribution } from './contributions/notebook-outpu
46
46
  import { NotebookClipboardService } from './service/notebook-clipboard-service';
47
47
  import { bindNotebookPreferences } from './contributions/notebook-preferences';
48
48
  import { NotebookOptionsService } from './service/notebook-options';
49
+ import { NotebookUndoRedoHandler } from './contributions/notebook-undo-redo-handler';
49
50
 
50
51
  export default new ContainerModule((bind, unbind, isBound, rebind) => {
51
52
  bind(NotebookColorContribution).toSelf().inSingletonScope();
@@ -108,4 +109,7 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
108
109
 
109
110
  bindNotebookPreferences(bind);
110
111
  bind(NotebookOptionsService).toSelf().inSingletonScope();
112
+
113
+ bind(NotebookUndoRedoHandler).toSelf().inSingletonScope();
114
+ bind(UndoRedoHandler).toService(NotebookUndoRedoHandler);
111
115
  });
@@ -21,7 +21,7 @@ import { NotebookKernelService } from './notebook-kernel-service';
21
21
  import {
22
22
  NOTEBOOK_CELL_EDITABLE,
23
23
  NOTEBOOK_CELL_EXECUTING, NOTEBOOK_CELL_EXECUTION_STATE,
24
- NOTEBOOK_CELL_FOCUSED, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE,
24
+ NOTEBOOK_CELL_FOCUSED, NOTEBOOK_CELL_LIST_FOCUSED, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE,
25
25
  NOTEBOOK_CELL_TYPE, NOTEBOOK_HAS_OUTPUTS, NOTEBOOK_KERNEL, NOTEBOOK_KERNEL_SELECTED,
26
26
  NOTEBOOK_OUTPUT_INPUT_FOCUSED,
27
27
  NOTEBOOK_VIEW_TYPE
@@ -85,7 +85,7 @@ export class NotebookContextManager {
85
85
 
86
86
  this.scopedStore.setContext(NOTEBOOK_HAS_OUTPUTS, !!widget.model?.cells.find(cell => cell.outputs.length > 0));
87
87
 
88
- // Cell Selection realted keys
88
+ // Cell Selection related keys
89
89
  this.scopedStore.setContext(NOTEBOOK_CELL_FOCUSED, !!widget.model?.selectedCell);
90
90
  widget.model?.onDidChangeSelectedCell(e => {
91
91
  this.selectedCellChanged(e.cell);
@@ -144,8 +144,12 @@ export class NotebookContextManager {
144
144
  return this.contextKeyService.createOverlay(Object.entries(this.cellContexts.get(cellHandle) ?? {}));
145
145
  }
146
146
 
147
- onDidEditorTextFocus(focus: boolean): void {
148
- this.scopedStore.setContext('inputFocus', focus);
147
+ changeCellFocus(focus: boolean): void {
148
+ this.scopedStore.setContext(NOTEBOOK_CELL_FOCUSED, focus);
149
+ }
150
+
151
+ changeCellListFocus(focus: boolean): void {
152
+ this.scopedStore.setContext(NOTEBOOK_CELL_LIST_FOCUSED, focus);
149
153
  }
150
154
 
151
155
  createContextKeyChangedEvent(affectedKeys: string[]): ContextKeyChangeEvent {
@@ -37,7 +37,7 @@ const notebookOutputOptionsRelevantPreferences = [
37
37
 
38
38
  export interface NotebookOutputOptions {
39
39
  // readonly outputNodePadding: number;
40
- // readonly outputNodeLeftPadding: number;
40
+ readonly outputNodeLeftPadding: number;
41
41
  // readonly previewNodePadding: number;
42
42
  // readonly markdownLeftMargin: number;
43
43
  // readonly leftMargin: number;
@@ -95,6 +95,7 @@ export class NotebookOptionsService {
95
95
  fontSize,
96
96
  outputFontSize: outputFontSize,
97
97
  fontFamily: this.preferenceService.get<string>('editor.fontFamily')!,
98
+ outputNodeLeftPadding: 8,
98
99
  outputFontFamily: this.getNotebookPreferenceWithDefault<string>(NotebookPreferences.OUTPUT_FONT_FAMILY),
99
100
  outputLineHeight: this.computeOutputLineHeight(outputLineHeight, outputFontSize ?? fontSize),
100
101
  outputScrolling: this.getNotebookPreferenceWithDefault<boolean>(NotebookPreferences.OUTPUT_SCROLLING)!,
@@ -17,7 +17,7 @@
17
17
  import { Disposable, DisposableCollection, Emitter, Resource, URI } from '@theia/core';
18
18
  import { inject, injectable } from '@theia/core/shared/inversify';
19
19
  import { BinaryBuffer } from '@theia/core/lib/common/buffer';
20
- import { NotebookData, TransientOptions } from '../../common';
20
+ import { CellKind, NotebookData, TransientOptions } from '../../common';
21
21
  import { NotebookModel, NotebookModelFactory, NotebookModelProps } from '../view-model/notebook-model';
22
22
  import { FileService } from '@theia/filesystem/lib/browser/file-service';
23
23
  import { NotebookCellModel, NotebookCellModelFactory, NotebookCellModelProps } from '../view-model/notebook-cell-model';
@@ -206,4 +206,10 @@ export class NotebookService implements Disposable {
206
206
  return false;
207
207
  }
208
208
  }
209
+
210
+ getCodeCellLanguage(model: NotebookModel): string {
211
+ const firstCodeCell = model.cells.find(cellModel => cellModel.cellKind === CellKind.Code);
212
+ const cellLanguage = firstCodeCell?.language ?? 'plaintext';
213
+ return cellLanguage;
214
+ }
209
215
  }