@codingame/monaco-vscode-notebook-service-override 25.1.2 → 26.0.1
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/index.js +2 -2
- package/package.json +3 -3
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.js +112 -94
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +95 -96
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnosticEditorContrib.js +28 -19
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnosticsActions.js +15 -9
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/diagnosticCellStatusBarContrib.js +22 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.js +25 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/statusBarProviders.js +37 -44
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/notebookClipboard.js +211 -115
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookBreakpoints.js +16 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookCellPausing.js +5 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookDebugDecorations.js +57 -49
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorHint/emptyCellEditorHint.js +24 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorStatusBar/editorStatusBar.js +78 -76
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/execute/executionEditorProgress.js +14 -15
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFind.js +43 -28
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.js +65 -34
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/gettingStarted/notebookGettingStarted.js +19 -16
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/kernelDetection/notebookKernelDetection.js +6 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.js +15 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/marker/markerProvider.js +28 -16
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/multicursor/notebookMulticursor.js +211 -170
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/multicursor/notebookSelectionHighlight.js +11 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/navigation/arrow.js +158 -156
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookInlineVariables.js +109 -105
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableContextKeys.js +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariables.js +28 -22
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesDataSource.js +26 -17
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesTree.js +23 -16
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesView.js +72 -40
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.js +233 -186
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/profile/notebookProfile.js +22 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/saveParticipants/saveParticipants.js +239 -151
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.js +85 -86
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/undoRedo/notebookUndoRedo.js +25 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/viewportWarmup/viewportWarmup.js +13 -10
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/apiActions.js +8 -5
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +218 -196
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/executeActions.js +258 -255
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/layoutActions.js +106 -98
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +63 -49
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/sectionActions.js +55 -64
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/variablesActions.js +21 -25
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffActions.js +149 -129
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.d.ts +57 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +286 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +82 -0
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebook.contribution.js +452 -363
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityHelp.js +44 -61
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibleView.js +9 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/notebookExtensionPoint.js +203 -207
- package/vscode/src/vs/workbench/contrib/notebook/browser/outputEditor/notebookOutputEditor.js +148 -104
- package/vscode/src/vs/workbench/contrib/notebook/browser/outputEditor/notebookOutputEditorInput.js +19 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/replEditorAccessibleView.js +9 -11
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookCellStatusBarServiceImpl.js +9 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js +34 -22
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionServiceImpl.js +29 -18
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionStateServiceImpl.js +70 -52
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelHistoryServiceImpl.js +31 -19
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelServiceImpl.js +78 -41
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKeymapServiceImpl.js +37 -27
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookLoggingServiceImpl.js +9 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookRendererMessagingServiceImpl.js +8 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.js +214 -119
- package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js +38 -36
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSource.js +24 -25
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.js +2 -6
- package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +26 -15
- package/vscode/src/vs/workbench/contrib/notebook/common/model/cellEdit.js +35 -15
- package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.js +468 -258
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +113 -0
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverServiceImpl.js +74 -58
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookOutputRenderer.d.ts +1 -1
- package/vscode/src/vs/workbench/contrib/notebook/common/notebookOutputRenderer.js +7 -10
- package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookCellMatching.js +72 -16
- package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookWebWorker.js +70 -51
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/repl.contribution.js +195 -149
- package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorAccessibilityHelp.js +60 -81
- package/vscode/src/vs/workbench/services/workingCopy/common/abstractFileWorkingCopyManager.js +7 -12
- package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopyManager.js +104 -66
- package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopyManager.js +115 -77
- package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopy.js +42 -26
- package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopyManager.js +19 -12
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +0 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +0 -198
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +0 -8
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +0 -333
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +0 -2
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +0 -7
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +0 -13
- package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -261
|
@@ -6,9 +6,9 @@ import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/v
|
|
|
6
6
|
import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
|
|
7
7
|
import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
|
|
8
8
|
import { ActiveEditorContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
|
|
9
|
-
import { SideBySideDiffElementViewModel } from '@codingame/monaco-vscode-
|
|
10
|
-
import { NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS, NOTEBOOK_DIFF_UNCHANGED_CELLS_HIDDEN, NOTEBOOK_DIFF_ITEM_KIND, NOTEBOOK_DIFF_ITEM_DIFF_STATE, NOTEBOOK_DIFF_METADATA, NOTEBOOK_DIFF_CELL_PROPERTY, NOTEBOOK_DIFF_CELL_PROPERTY_EXPANDED, NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY, NOTEBOOK_DIFF_CELL_INPUT } from '@codingame/monaco-vscode-
|
|
11
|
-
import { NotebookTextDiffEditor } from '@codingame/monaco-vscode-
|
|
9
|
+
import { SideBySideDiffElementViewModel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel';
|
|
10
|
+
import { NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS, NOTEBOOK_DIFF_UNCHANGED_CELLS_HIDDEN, NOTEBOOK_DIFF_ITEM_KIND, NOTEBOOK_DIFF_ITEM_DIFF_STATE, NOTEBOOK_DIFF_METADATA, NOTEBOOK_DIFF_CELL_PROPERTY, NOTEBOOK_DIFF_CELL_PROPERTY_EXPANDED, NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY, NOTEBOOK_DIFF_CELL_INPUT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser';
|
|
11
|
+
import { NotebookTextDiffEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor';
|
|
12
12
|
import { openAsTextIcon, revertIcon, renderOutputIcon, toggleWhitespace, previousChangeIcon, nextChangeIcon } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/notebookIcons';
|
|
13
13
|
import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
|
|
14
14
|
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
@@ -18,7 +18,7 @@ import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platfor
|
|
|
18
18
|
import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
19
19
|
import { CellEditType, NOTEBOOK_DIFF_EDITOR_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
20
20
|
import { ITextResourceConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/textResourceConfiguration.service';
|
|
21
|
-
import { NotebookMultiTextDiffEditor } from '
|
|
21
|
+
import { NotebookMultiTextDiffEditor } from './notebookMultiDiffEditor.js';
|
|
22
22
|
import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
|
|
23
23
|
import { TextEditorSelectionRevealType } from '@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor';
|
|
24
24
|
import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
|
|
@@ -27,15 +27,15 @@ import { ctxHasEditorModification, ctxHasRequestInProgress } from '@codingame/mo
|
|
|
27
27
|
registerAction2(class extends Action2 {
|
|
28
28
|
constructor() {
|
|
29
29
|
super({
|
|
30
|
-
id:
|
|
30
|
+
id: "notebook.diff.openFile",
|
|
31
31
|
icon: Codicon.goToFile,
|
|
32
|
-
title: ( localize2(
|
|
32
|
+
title: ( localize2(9797, "Open File")),
|
|
33
33
|
precondition: ( ContextKeyExpr.or(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)))),
|
|
34
34
|
menu: [{
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
id: MenuId.EditorTitle,
|
|
36
|
+
group: "navigation",
|
|
37
|
+
when: ( ContextKeyExpr.or(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID))))
|
|
38
|
+
}]
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
async run(accessor) {
|
|
@@ -47,43 +47,45 @@ registerAction2(class extends Action2 {
|
|
|
47
47
|
if (activeEditor instanceof NotebookTextDiffEditor || activeEditor instanceof NotebookMultiTextDiffEditor) {
|
|
48
48
|
const diffEditorInput = activeEditor.input;
|
|
49
49
|
const resource = diffEditorInput.modified.resource;
|
|
50
|
-
await editorService.openEditor({
|
|
50
|
+
await editorService.openEditor({
|
|
51
|
+
resource
|
|
52
|
+
});
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
});
|
|
54
56
|
registerAction2(class extends Action2 {
|
|
55
57
|
constructor() {
|
|
56
58
|
super({
|
|
57
|
-
id:
|
|
58
|
-
title: ( localize2(
|
|
59
|
+
id: "notebook.diff.cell.toggleCollapseUnchangedRegions",
|
|
60
|
+
title: ( localize2(9798, "Toggle Collapse Unchanged Regions")),
|
|
59
61
|
icon: Codicon.map,
|
|
60
|
-
toggled: ( ContextKeyExpr.has(
|
|
62
|
+
toggled: ( ContextKeyExpr.has("config.diffEditor.hideUnchangedRegions.enabled")),
|
|
61
63
|
precondition: ( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)),
|
|
62
64
|
menu: {
|
|
63
65
|
id: MenuId.EditorTitle,
|
|
64
|
-
group:
|
|
65
|
-
when: ( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID))
|
|
66
|
-
}
|
|
66
|
+
group: "navigation",
|
|
67
|
+
when: ( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID))
|
|
68
|
+
}
|
|
67
69
|
});
|
|
68
70
|
}
|
|
69
71
|
run(accessor, ...args) {
|
|
70
72
|
const configurationService = accessor.get(IConfigurationService);
|
|
71
|
-
const newValue = !configurationService.getValue(
|
|
72
|
-
configurationService.updateValue(
|
|
73
|
+
const newValue = !configurationService.getValue("diffEditor.hideUnchangedRegions.enabled");
|
|
74
|
+
configurationService.updateValue("diffEditor.hideUnchangedRegions.enabled", newValue);
|
|
73
75
|
}
|
|
74
76
|
});
|
|
75
77
|
registerAction2(class extends Action2 {
|
|
76
78
|
constructor() {
|
|
77
79
|
super({
|
|
78
|
-
id:
|
|
80
|
+
id: "notebook.diff.switchToText",
|
|
79
81
|
icon: openAsTextIcon,
|
|
80
|
-
title: ( localize2(
|
|
82
|
+
title: ( localize2(9799, "Open Text Diff Editor")),
|
|
81
83
|
precondition: ( ContextKeyExpr.or(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)))),
|
|
82
84
|
menu: [{
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
id: MenuId.EditorTitle,
|
|
86
|
+
group: "navigation",
|
|
87
|
+
when: ( ContextKeyExpr.or(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID))))
|
|
88
|
+
}]
|
|
87
89
|
});
|
|
88
90
|
}
|
|
89
91
|
async run(accessor) {
|
|
@@ -95,8 +97,12 @@ registerAction2(class extends Action2 {
|
|
|
95
97
|
if (activeEditor instanceof NotebookTextDiffEditor || activeEditor instanceof NotebookMultiTextDiffEditor) {
|
|
96
98
|
const diffEditorInput = activeEditor.input;
|
|
97
99
|
await editorService.openEditor({
|
|
98
|
-
original: {
|
|
99
|
-
|
|
100
|
+
original: {
|
|
101
|
+
resource: diffEditorInput.original.resource
|
|
102
|
+
},
|
|
103
|
+
modified: {
|
|
104
|
+
resource: diffEditorInput.resource
|
|
105
|
+
},
|
|
100
106
|
label: diffEditorInput.getName(),
|
|
101
107
|
options: {
|
|
102
108
|
preserveFocus: false,
|
|
@@ -109,16 +115,16 @@ registerAction2(class extends Action2 {
|
|
|
109
115
|
registerAction2(class extends Action2 {
|
|
110
116
|
constructor() {
|
|
111
117
|
super({
|
|
112
|
-
id:
|
|
113
|
-
title: ( localize2(
|
|
118
|
+
id: "notebook.diffEditor.showUnchangedCells",
|
|
119
|
+
title: ( localize2(9800, "Show Unchanged Cells")),
|
|
114
120
|
icon: Codicon.unfold,
|
|
115
121
|
precondition: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.has(NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS.key)))),
|
|
116
122
|
menu: {
|
|
117
123
|
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.has(NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS.key)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_UNCHANGED_CELLS_HIDDEN.key, true)))),
|
|
118
124
|
id: MenuId.EditorTitle,
|
|
119
125
|
order: 22,
|
|
120
|
-
group:
|
|
121
|
-
}
|
|
126
|
+
group: "navigation"
|
|
127
|
+
}
|
|
122
128
|
});
|
|
123
129
|
}
|
|
124
130
|
run(accessor, ...args) {
|
|
@@ -134,16 +140,16 @@ registerAction2(class extends Action2 {
|
|
|
134
140
|
registerAction2(class extends Action2 {
|
|
135
141
|
constructor() {
|
|
136
142
|
super({
|
|
137
|
-
id:
|
|
138
|
-
title: ( localize2(
|
|
143
|
+
id: "notebook.diffEditor.hideUnchangedCells",
|
|
144
|
+
title: ( localize2(9801, "Hide Unchanged Cells")),
|
|
139
145
|
icon: Codicon.fold,
|
|
140
146
|
precondition: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.has(NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS.key)))),
|
|
141
147
|
menu: {
|
|
142
148
|
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.has(NOTEBOOK_DIFF_HAS_UNCHANGED_CELLS.key)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_UNCHANGED_CELLS_HIDDEN.key, false)))),
|
|
143
149
|
id: MenuId.EditorTitle,
|
|
144
150
|
order: 22,
|
|
145
|
-
group:
|
|
146
|
-
}
|
|
151
|
+
group: "navigation"
|
|
152
|
+
}
|
|
147
153
|
});
|
|
148
154
|
}
|
|
149
155
|
run(accessor, ...args) {
|
|
@@ -159,15 +165,15 @@ registerAction2(class extends Action2 {
|
|
|
159
165
|
registerAction2(class GoToFileAction extends Action2 {
|
|
160
166
|
constructor() {
|
|
161
167
|
super({
|
|
162
|
-
id:
|
|
163
|
-
title: ( localize2(
|
|
168
|
+
id: "notebook.diffEditor.2.goToCell",
|
|
169
|
+
title: ( localize2(9802, "Go To Cell")),
|
|
164
170
|
icon: Codicon.goToFile,
|
|
165
171
|
menu: {
|
|
166
|
-
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key,
|
|
172
|
+
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key, "Cell")), ( ContextKeyExpr.notEquals(NOTEBOOK_DIFF_ITEM_DIFF_STATE.key, "delete")))),
|
|
167
173
|
id: MenuId.MultiDiffEditorFileToolbar,
|
|
168
174
|
order: 0,
|
|
169
|
-
group:
|
|
170
|
-
}
|
|
175
|
+
group: "navigation"
|
|
176
|
+
}
|
|
171
177
|
});
|
|
172
178
|
}
|
|
173
179
|
async run(accessor, ...args) {
|
|
@@ -180,21 +186,21 @@ registerAction2(class GoToFileAction extends Action2 {
|
|
|
180
186
|
await editorService.openEditor({
|
|
181
187
|
resource: uri,
|
|
182
188
|
options: {
|
|
183
|
-
selectionRevealType: TextEditorSelectionRevealType.CenterIfOutsideViewport
|
|
184
|
-
}
|
|
189
|
+
selectionRevealType: TextEditorSelectionRevealType.CenterIfOutsideViewport
|
|
190
|
+
}
|
|
185
191
|
});
|
|
186
192
|
}
|
|
187
193
|
});
|
|
188
194
|
registerAction2(class extends Action2 {
|
|
189
195
|
constructor() {
|
|
190
196
|
super({
|
|
191
|
-
id:
|
|
192
|
-
title: ( localize(
|
|
197
|
+
id: "notebook.diff.revertMetadata",
|
|
198
|
+
title: ( localize(9803, "Revert Notebook Metadata")),
|
|
193
199
|
icon: revertIcon,
|
|
194
200
|
f1: false,
|
|
195
201
|
menu: {
|
|
196
202
|
id: MenuId.NotebookDiffDocumentMetadata,
|
|
197
|
-
when: NOTEBOOK_DIFF_METADATA
|
|
203
|
+
when: NOTEBOOK_DIFF_METADATA
|
|
198
204
|
},
|
|
199
205
|
precondition: NOTEBOOK_DIFF_METADATA
|
|
200
206
|
});
|
|
@@ -209,24 +215,24 @@ registerAction2(class extends Action2 {
|
|
|
209
215
|
return;
|
|
210
216
|
}
|
|
211
217
|
context.modifiedDocumentTextModel.applyEdits([{
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
218
|
+
editType: CellEditType.DocumentMetadata,
|
|
219
|
+
metadata: context.originalMetadata.metadata
|
|
220
|
+
}], true, undefined, () => undefined, undefined, true);
|
|
215
221
|
}
|
|
216
222
|
});
|
|
217
|
-
const revertInput = ( localize(
|
|
223
|
+
const revertInput = ( localize(9804, "Revert Input"));
|
|
218
224
|
registerAction2(class extends Action2 {
|
|
219
225
|
constructor() {
|
|
220
226
|
super({
|
|
221
|
-
id:
|
|
227
|
+
id: "notebook.diffEditor.2.cell.revertInput",
|
|
222
228
|
title: revertInput,
|
|
223
229
|
icon: revertIcon,
|
|
224
230
|
menu: {
|
|
225
|
-
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key,
|
|
231
|
+
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key, "Cell")), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_DIFF_STATE.key, "modified")))),
|
|
226
232
|
id: MenuId.MultiDiffEditorFileToolbar,
|
|
227
233
|
order: 2,
|
|
228
|
-
group:
|
|
229
|
-
}
|
|
234
|
+
group: "navigation"
|
|
235
|
+
}
|
|
230
236
|
});
|
|
231
237
|
}
|
|
232
238
|
async run(accessor, ...args) {
|
|
@@ -244,29 +250,29 @@ registerAction2(class extends Action2 {
|
|
|
244
250
|
return;
|
|
245
251
|
}
|
|
246
252
|
const bulkEditService = accessor.get(IBulkEditService);
|
|
247
|
-
await bulkEditService.apply([
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
+
await bulkEditService.apply([( new ResourceTextEdit(modified.uri, {
|
|
254
|
+
range: modified.textModel.getFullModelRange(),
|
|
255
|
+
text: original.textModel.getValue()
|
|
256
|
+
}))], {
|
|
257
|
+
quotableLabel: "Revert Notebook Cell Content Change"
|
|
258
|
+
});
|
|
253
259
|
}
|
|
254
260
|
}
|
|
255
261
|
});
|
|
256
|
-
const revertOutputs = ( localize(
|
|
262
|
+
const revertOutputs = ( localize(9805, "Revert Outputs"));
|
|
257
263
|
registerAction2(class extends Action2 {
|
|
258
264
|
constructor() {
|
|
259
265
|
super({
|
|
260
|
-
id:
|
|
266
|
+
id: "notebook.diffEditor.2.cell.revertOutputs",
|
|
261
267
|
title: revertOutputs,
|
|
262
268
|
icon: revertIcon,
|
|
263
269
|
f1: false,
|
|
264
270
|
menu: {
|
|
265
|
-
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key,
|
|
271
|
+
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key, "Output")), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_DIFF_STATE.key, "modified")))),
|
|
266
272
|
id: MenuId.MultiDiffEditorFileToolbar,
|
|
267
273
|
order: 2,
|
|
268
|
-
group:
|
|
269
|
-
}
|
|
274
|
+
group: "navigation"
|
|
275
|
+
}
|
|
270
276
|
});
|
|
271
277
|
}
|
|
272
278
|
async run(accessor, ...args) {
|
|
@@ -284,25 +290,27 @@ registerAction2(class extends Action2 {
|
|
|
284
290
|
return;
|
|
285
291
|
}
|
|
286
292
|
item.mainDocumentTextModel.applyEdits([{
|
|
287
|
-
|
|
288
|
-
|
|
293
|
+
editType: CellEditType.Output,
|
|
294
|
+
index: modifiedCellIndex,
|
|
295
|
+
outputs: original.outputs
|
|
296
|
+
}], true, undefined, () => undefined, undefined, true);
|
|
289
297
|
}
|
|
290
298
|
}
|
|
291
299
|
});
|
|
292
|
-
const revertMetadata = ( localize(
|
|
300
|
+
const revertMetadata = ( localize(9806, "Revert Metadata"));
|
|
293
301
|
registerAction2(class extends Action2 {
|
|
294
302
|
constructor() {
|
|
295
303
|
super({
|
|
296
|
-
id:
|
|
304
|
+
id: "notebook.diffEditor.2.cell.revertMetadata",
|
|
297
305
|
title: revertMetadata,
|
|
298
306
|
icon: revertIcon,
|
|
299
307
|
f1: false,
|
|
300
308
|
menu: {
|
|
301
|
-
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key,
|
|
309
|
+
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_KIND.key, "Metadata")), ( ContextKeyExpr.equals(NOTEBOOK_DIFF_ITEM_DIFF_STATE.key, "modified")))),
|
|
302
310
|
id: MenuId.MultiDiffEditorFileToolbar,
|
|
303
311
|
order: 2,
|
|
304
|
-
group:
|
|
305
|
-
}
|
|
312
|
+
group: "navigation"
|
|
313
|
+
}
|
|
306
314
|
});
|
|
307
315
|
}
|
|
308
316
|
async run(accessor, ...args) {
|
|
@@ -320,15 +328,17 @@ registerAction2(class extends Action2 {
|
|
|
320
328
|
return;
|
|
321
329
|
}
|
|
322
330
|
item.mainDocumentTextModel.applyEdits([{
|
|
323
|
-
|
|
324
|
-
|
|
331
|
+
editType: CellEditType.Metadata,
|
|
332
|
+
index: modifiedCellIndex,
|
|
333
|
+
metadata: original.metadata
|
|
334
|
+
}], true, undefined, () => undefined, undefined, true);
|
|
325
335
|
}
|
|
326
336
|
}
|
|
327
337
|
});
|
|
328
338
|
registerAction2(class extends Action2 {
|
|
329
339
|
constructor() {
|
|
330
340
|
super({
|
|
331
|
-
id:
|
|
341
|
+
id: "notebook.diff.cell.revertMetadata",
|
|
332
342
|
title: revertMetadata,
|
|
333
343
|
icon: revertIcon,
|
|
334
344
|
f1: false,
|
|
@@ -352,9 +362,17 @@ registerAction2(class extends Action2 {
|
|
|
352
362
|
if (modifiedCellIndex === -1) {
|
|
353
363
|
return;
|
|
354
364
|
}
|
|
355
|
-
const rawEdits = [{
|
|
365
|
+
const rawEdits = [{
|
|
366
|
+
editType: CellEditType.Metadata,
|
|
367
|
+
index: modifiedCellIndex,
|
|
368
|
+
metadata: original.metadata
|
|
369
|
+
}];
|
|
356
370
|
if (context.original.language && context.modified.language !== context.original.language) {
|
|
357
|
-
rawEdits.push({
|
|
371
|
+
rawEdits.push({
|
|
372
|
+
editType: CellEditType.CellLanguage,
|
|
373
|
+
index: modifiedCellIndex,
|
|
374
|
+
language: context.original.language
|
|
375
|
+
});
|
|
358
376
|
}
|
|
359
377
|
context.modifiedDocument.applyEdits(rawEdits, true, undefined, () => undefined, undefined, true);
|
|
360
378
|
}
|
|
@@ -362,8 +380,8 @@ registerAction2(class extends Action2 {
|
|
|
362
380
|
registerAction2(class extends Action2 {
|
|
363
381
|
constructor() {
|
|
364
382
|
super({
|
|
365
|
-
id:
|
|
366
|
-
title: ( localize(
|
|
383
|
+
id: "notebook.diff.cell.switchOutputRenderingStyleToText",
|
|
384
|
+
title: ( localize(9807, "Switch Output Rendering")),
|
|
367
385
|
icon: renderOutputIcon,
|
|
368
386
|
f1: false,
|
|
369
387
|
menu: {
|
|
@@ -382,8 +400,8 @@ registerAction2(class extends Action2 {
|
|
|
382
400
|
registerAction2(class extends Action2 {
|
|
383
401
|
constructor() {
|
|
384
402
|
super({
|
|
385
|
-
id:
|
|
386
|
-
title: ( localize(
|
|
403
|
+
id: "notebook.diff.cell.revertOutputs",
|
|
404
|
+
title: ( localize(9805, "Revert Outputs")),
|
|
387
405
|
icon: revertIcon,
|
|
388
406
|
f1: false,
|
|
389
407
|
menu: {
|
|
@@ -407,24 +425,26 @@ registerAction2(class extends Action2 {
|
|
|
407
425
|
return;
|
|
408
426
|
}
|
|
409
427
|
context.mainDocumentTextModel.applyEdits([{
|
|
410
|
-
|
|
411
|
-
|
|
428
|
+
editType: CellEditType.Output,
|
|
429
|
+
index: modifiedCellIndex,
|
|
430
|
+
outputs: original.outputs
|
|
431
|
+
}], true, undefined, () => undefined, undefined, true);
|
|
412
432
|
}
|
|
413
433
|
});
|
|
414
434
|
registerAction2(class extends Action2 {
|
|
415
435
|
constructor() {
|
|
416
436
|
super({
|
|
417
|
-
id:
|
|
418
|
-
title: ( localize(
|
|
437
|
+
id: "notebook.toggle.diff.cell.ignoreTrimWhitespace",
|
|
438
|
+
title: ( localize(9808, "Show Leading/Trailing Whitespace Differences")),
|
|
419
439
|
icon: toggleWhitespace,
|
|
420
440
|
f1: false,
|
|
421
441
|
menu: {
|
|
422
442
|
id: MenuId.NotebookDiffCellInputTitle,
|
|
423
443
|
when: NOTEBOOK_DIFF_CELL_INPUT,
|
|
424
|
-
order: 1
|
|
444
|
+
order: 1
|
|
425
445
|
},
|
|
426
446
|
precondition: NOTEBOOK_DIFF_CELL_INPUT,
|
|
427
|
-
toggled: ( ContextKeyExpr.equals(NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY, false))
|
|
447
|
+
toggled: ( ContextKeyExpr.equals(NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE_KEY, false))
|
|
428
448
|
});
|
|
429
449
|
}
|
|
430
450
|
run(accessor, context) {
|
|
@@ -434,7 +454,7 @@ registerAction2(class extends Action2 {
|
|
|
434
454
|
}
|
|
435
455
|
const uri = cell.modified.uri;
|
|
436
456
|
const configService = accessor.get(ITextResourceConfigurationService);
|
|
437
|
-
const key =
|
|
457
|
+
const key = "diffEditor.ignoreTrimWhitespace";
|
|
438
458
|
const val = configService.getValue(uri, key);
|
|
439
459
|
configService.updateValue(uri, key, !val);
|
|
440
460
|
}
|
|
@@ -442,7 +462,7 @@ registerAction2(class extends Action2 {
|
|
|
442
462
|
registerAction2(class extends Action2 {
|
|
443
463
|
constructor() {
|
|
444
464
|
super({
|
|
445
|
-
id:
|
|
465
|
+
id: "notebook.diff.cell.revertInput",
|
|
446
466
|
title: revertInput,
|
|
447
467
|
icon: revertIcon,
|
|
448
468
|
f1: false,
|
|
@@ -464,12 +484,12 @@ registerAction2(class extends Action2 {
|
|
|
464
484
|
return;
|
|
465
485
|
}
|
|
466
486
|
const bulkEditService = accessor.get(IBulkEditService);
|
|
467
|
-
return bulkEditService.apply([
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
487
|
+
return bulkEditService.apply([( new ResourceTextEdit(modified.uri, {
|
|
488
|
+
range: modified.textModel.getFullModelRange(),
|
|
489
|
+
text: original.textModel.getValue()
|
|
490
|
+
}))], {
|
|
491
|
+
quotableLabel: "Revert Notebook Cell Content Change"
|
|
492
|
+
});
|
|
473
493
|
}
|
|
474
494
|
});
|
|
475
495
|
class ToggleRenderAction extends Action2 {
|
|
@@ -479,11 +499,11 @@ class ToggleRenderAction extends Action2 {
|
|
|
479
499
|
title,
|
|
480
500
|
precondition: precondition,
|
|
481
501
|
menu: [{
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
502
|
+
id: MenuId.EditorTitle,
|
|
503
|
+
group: "notebook",
|
|
504
|
+
when: precondition,
|
|
505
|
+
order: order
|
|
506
|
+
}],
|
|
487
507
|
toggled: toggled
|
|
488
508
|
});
|
|
489
509
|
this.toggleOutputs = toggleOutputs;
|
|
@@ -492,30 +512,30 @@ class ToggleRenderAction extends Action2 {
|
|
|
492
512
|
async run(accessor) {
|
|
493
513
|
const configurationService = accessor.get(IConfigurationService);
|
|
494
514
|
if (this.toggleOutputs !== undefined) {
|
|
495
|
-
const oldValue = configurationService.getValue(
|
|
496
|
-
configurationService.updateValue(
|
|
515
|
+
const oldValue = configurationService.getValue("notebook.diff.ignoreOutputs");
|
|
516
|
+
configurationService.updateValue("notebook.diff.ignoreOutputs", !oldValue);
|
|
497
517
|
}
|
|
498
518
|
if (this.toggleMetadata !== undefined) {
|
|
499
|
-
const oldValue = configurationService.getValue(
|
|
500
|
-
configurationService.updateValue(
|
|
519
|
+
const oldValue = configurationService.getValue("notebook.diff.ignoreMetadata");
|
|
520
|
+
configurationService.updateValue("notebook.diff.ignoreMetadata", !oldValue);
|
|
501
521
|
}
|
|
502
522
|
}
|
|
503
523
|
}
|
|
504
524
|
registerAction2(class extends ToggleRenderAction {
|
|
505
525
|
constructor() {
|
|
506
|
-
super(
|
|
526
|
+
super("notebook.diff.showOutputs", ( localize2(9809, "Show Outputs Differences")), ( ContextKeyExpr.or(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)))), ( ContextKeyExpr.notEquals("config.notebook.diff.ignoreOutputs", true)), 2, true, undefined);
|
|
507
527
|
}
|
|
508
528
|
});
|
|
509
529
|
registerAction2(class extends ToggleRenderAction {
|
|
510
530
|
constructor() {
|
|
511
|
-
super(
|
|
531
|
+
super("notebook.diff.showMetadata", ( localize2(9810, "Show Metadata Differences")), ( ContextKeyExpr.or(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ActiveEditorContext.isEqualTo(NotebookMultiTextDiffEditor.ID)))), ( ContextKeyExpr.notEquals("config.notebook.diff.ignoreMetadata", true)), 1, undefined, true);
|
|
512
532
|
}
|
|
513
533
|
});
|
|
514
534
|
registerAction2(class extends Action2 {
|
|
515
535
|
constructor() {
|
|
516
536
|
super({
|
|
517
|
-
id:
|
|
518
|
-
title: ( localize(
|
|
537
|
+
id: "notebook.diff.action.previous",
|
|
538
|
+
title: ( localize(9811, "Show Previous Change")),
|
|
519
539
|
icon: previousChangeIcon,
|
|
520
540
|
f1: false,
|
|
521
541
|
keybinding: {
|
|
@@ -525,7 +545,7 @@ registerAction2(class extends Action2 {
|
|
|
525
545
|
},
|
|
526
546
|
menu: {
|
|
527
547
|
id: MenuId.EditorTitle,
|
|
528
|
-
group:
|
|
548
|
+
group: "navigation",
|
|
529
549
|
when: ( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID))
|
|
530
550
|
}
|
|
531
551
|
});
|
|
@@ -542,8 +562,8 @@ registerAction2(class extends Action2 {
|
|
|
542
562
|
registerAction2(class extends Action2 {
|
|
543
563
|
constructor() {
|
|
544
564
|
super({
|
|
545
|
-
id:
|
|
546
|
-
title: ( localize(
|
|
565
|
+
id: "notebook.diff.action.next",
|
|
566
|
+
title: ( localize(9812, "Show Next Change")),
|
|
547
567
|
icon: nextChangeIcon,
|
|
548
568
|
f1: false,
|
|
549
569
|
keybinding: {
|
|
@@ -553,7 +573,7 @@ registerAction2(class extends Action2 {
|
|
|
553
573
|
},
|
|
554
574
|
menu: {
|
|
555
575
|
id: MenuId.EditorTitle,
|
|
556
|
-
group:
|
|
576
|
+
group: "navigation",
|
|
557
577
|
when: ( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID))
|
|
558
578
|
}
|
|
559
579
|
});
|
|
@@ -570,13 +590,13 @@ registerAction2(class extends Action2 {
|
|
|
570
590
|
registerAction2(class extends Action2 {
|
|
571
591
|
constructor() {
|
|
572
592
|
super({
|
|
573
|
-
id:
|
|
574
|
-
title: ( localize(
|
|
593
|
+
id: "notebook.diff.inline.toggle",
|
|
594
|
+
title: ( localize(9813, "Toggle Inline View")),
|
|
575
595
|
menu: {
|
|
576
596
|
id: MenuId.EditorTitle,
|
|
577
|
-
group:
|
|
597
|
+
group: "1_diff",
|
|
578
598
|
order: 10,
|
|
579
|
-
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ContextKeyExpr.equals(
|
|
599
|
+
when: ( ContextKeyExpr.and(( ActiveEditorContext.isEqualTo(NotebookTextDiffEditor.ID)), ( ContextKeyExpr.equals("config.notebook.diff.experimental.toggleInline", true)), ( ctxHasEditorModification.negate()), ( ctxHasRequestInProgress.negate())))
|
|
580
600
|
}
|
|
581
601
|
});
|
|
582
602
|
}
|
|
@@ -590,27 +610,27 @@ registerAction2(class extends Action2 {
|
|
|
590
610
|
}
|
|
591
611
|
});
|
|
592
612
|
( Registry.as(Extensions.Configuration)).registerConfiguration({
|
|
593
|
-
id:
|
|
613
|
+
id: "notebook",
|
|
594
614
|
order: 100,
|
|
595
|
-
type:
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
type:
|
|
615
|
+
type: "object",
|
|
616
|
+
"properties": {
|
|
617
|
+
"notebook.diff.ignoreMetadata": {
|
|
618
|
+
type: "boolean",
|
|
599
619
|
default: false,
|
|
600
|
-
markdownDescription: ( localize(
|
|
620
|
+
markdownDescription: ( localize(9814, "Hide Metadata Differences"))
|
|
601
621
|
},
|
|
602
|
-
|
|
603
|
-
type:
|
|
622
|
+
"notebook.diff.ignoreOutputs": {
|
|
623
|
+
type: "boolean",
|
|
604
624
|
default: false,
|
|
605
|
-
markdownDescription: ( localize(
|
|
625
|
+
markdownDescription: ( localize(9815, "Hide Outputs Differences"))
|
|
606
626
|
},
|
|
607
|
-
|
|
608
|
-
type:
|
|
609
|
-
default: typeof product.quality ===
|
|
627
|
+
"notebook.diff.experimental.toggleInline": {
|
|
628
|
+
type: "boolean",
|
|
629
|
+
default: typeof product.quality === "string" && product.quality !== "stable",
|
|
610
630
|
markdownDescription: ( localize(
|
|
611
|
-
|
|
631
|
+
9816,
|
|
612
632
|
"Enable the command to toggle the experimental notebook inline diff editor."
|
|
613
633
|
))
|
|
614
|
-
}
|
|
634
|
+
}
|
|
615
635
|
}
|
|
616
636
|
});
|