@codingame/monaco-vscode-notebook-service-override 25.1.2 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -55,8 +55,17 @@ import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs
|
|
|
55
55
|
import { safeIntl } from '@codingame/monaco-vscode-api/vscode/vs/base/common/date';
|
|
56
56
|
|
|
57
57
|
class NotebookOutlineTemplate {
|
|
58
|
-
static {
|
|
59
|
-
|
|
58
|
+
static {
|
|
59
|
+
this.templateId = "NotebookOutlineRenderer";
|
|
60
|
+
}
|
|
61
|
+
constructor(
|
|
62
|
+
container,
|
|
63
|
+
iconClass,
|
|
64
|
+
iconLabel,
|
|
65
|
+
decoration,
|
|
66
|
+
actionMenu,
|
|
67
|
+
elementDisposables
|
|
68
|
+
) {
|
|
60
69
|
this.container = container;
|
|
61
70
|
this.iconClass = iconClass;
|
|
62
71
|
this.iconLabel = iconLabel;
|
|
@@ -66,7 +75,16 @@ class NotebookOutlineTemplate {
|
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
77
|
let NotebookOutlineRenderer = class NotebookOutlineRenderer {
|
|
69
|
-
constructor(
|
|
78
|
+
constructor(
|
|
79
|
+
_editor,
|
|
80
|
+
_target,
|
|
81
|
+
_themeService,
|
|
82
|
+
_configurationService,
|
|
83
|
+
_contextMenuService,
|
|
84
|
+
_contextKeyService,
|
|
85
|
+
_menuService,
|
|
86
|
+
_instantiationService
|
|
87
|
+
) {
|
|
70
88
|
this._editor = _editor;
|
|
71
89
|
this._target = _target;
|
|
72
90
|
this._themeService = _themeService;
|
|
@@ -79,15 +97,17 @@ let NotebookOutlineRenderer = class NotebookOutlineRenderer {
|
|
|
79
97
|
}
|
|
80
98
|
renderTemplate(container) {
|
|
81
99
|
const elementDisposables = ( new DisposableStore());
|
|
82
|
-
container.classList.add(
|
|
83
|
-
const iconClass = createElement(
|
|
100
|
+
container.classList.add("notebook-outline-element", "show-file-icons");
|
|
101
|
+
const iconClass = createElement("div");
|
|
84
102
|
container.append(iconClass);
|
|
85
|
-
const iconLabel = ( new IconLabel(container, {
|
|
86
|
-
|
|
87
|
-
|
|
103
|
+
const iconLabel = ( new IconLabel(container, {
|
|
104
|
+
supportHighlights: true
|
|
105
|
+
}));
|
|
106
|
+
const decoration = createElement("div");
|
|
107
|
+
decoration.className = "element-decoration";
|
|
88
108
|
container.append(decoration);
|
|
89
|
-
const actionMenu = createElement(
|
|
90
|
-
actionMenu.className =
|
|
109
|
+
const actionMenu = createElement("div");
|
|
110
|
+
actionMenu.className = "action-menu";
|
|
91
111
|
container.append(actionMenu);
|
|
92
112
|
return ( new NotebookOutlineTemplate(
|
|
93
113
|
container,
|
|
@@ -103,49 +123,48 @@ let NotebookOutlineRenderer = class NotebookOutlineRenderer {
|
|
|
103
123
|
const options = {
|
|
104
124
|
matches: createMatches(node.filterData),
|
|
105
125
|
labelEscapeNewLines: true,
|
|
106
|
-
extraClasses
|
|
126
|
+
extraClasses
|
|
107
127
|
};
|
|
108
128
|
const isCodeCell = node.element.cell.cellKind === CellKind.Code;
|
|
109
129
|
if (node.element.level >= 8) {
|
|
110
|
-
template.iconClass.className =
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
else {
|
|
117
|
-
template.iconClass.className = 'element-icon ' + ThemeIcon.asClassNameArray(node.element.icon).join(' ');
|
|
130
|
+
template.iconClass.className = "element-icon " + ThemeIcon.asClassNameArray(node.element.icon).join(" ");
|
|
131
|
+
} else if (isCodeCell && this._themeService.getFileIconTheme().hasFileIcons && !node.element.isExecuting) {
|
|
132
|
+
template.iconClass.className = "";
|
|
133
|
+
extraClasses.push(...getIconClassesForLanguageId(node.element.cell.language ?? ""));
|
|
134
|
+
} else {
|
|
135
|
+
template.iconClass.className = "element-icon " + ThemeIcon.asClassNameArray(node.element.icon).join(" ");
|
|
118
136
|
}
|
|
119
|
-
template.iconLabel.setLabel(
|
|
120
|
-
const {
|
|
121
|
-
|
|
122
|
-
|
|
137
|
+
template.iconLabel.setLabel(" " + node.element.label, undefined, options);
|
|
138
|
+
const {
|
|
139
|
+
markerInfo
|
|
140
|
+
} = node.element;
|
|
141
|
+
template.container.style.removeProperty("--outline-element-color");
|
|
142
|
+
template.decoration.innerText = "";
|
|
123
143
|
if (markerInfo) {
|
|
124
|
-
const problem = this._configurationService.getValue(
|
|
144
|
+
const problem = this._configurationService.getValue("problems.visibility");
|
|
125
145
|
const useBadges = this._configurationService.getValue(OutlineConfigKeys.problemsBadges);
|
|
126
146
|
if (!useBadges || !problem) {
|
|
127
|
-
template.decoration.classList.remove(
|
|
128
|
-
template.decoration.innerText =
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
template.decoration.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
147
|
+
template.decoration.classList.remove("bubble");
|
|
148
|
+
template.decoration.innerText = "";
|
|
149
|
+
} else if (markerInfo.count === 0) {
|
|
150
|
+
template.decoration.classList.add("bubble");
|
|
151
|
+
template.decoration.innerText = "";
|
|
152
|
+
} else {
|
|
153
|
+
template.decoration.classList.remove("bubble");
|
|
154
|
+
template.decoration.innerText = markerInfo.count > 9 ? "9+" : String(markerInfo.count);
|
|
155
|
+
}
|
|
156
|
+
const color = this._themeService.getColorTheme().getColor(
|
|
157
|
+
markerInfo.topSev === MarkerSeverity.Error ? listErrorForeground : listWarningForeground
|
|
158
|
+
);
|
|
139
159
|
if (problem === undefined) {
|
|
140
160
|
return;
|
|
141
161
|
}
|
|
142
162
|
const useColors = this._configurationService.getValue(OutlineConfigKeys.problemsColors);
|
|
143
163
|
if (!useColors || !problem) {
|
|
144
|
-
template.container.style.removeProperty(
|
|
145
|
-
template.decoration.style.setProperty(
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
template.container.style.setProperty('--outline-element-color', color?.toString() ?? 'inherit');
|
|
164
|
+
template.container.style.removeProperty("--outline-element-color");
|
|
165
|
+
template.decoration.style.setProperty("--outline-element-color", color?.toString() ?? "inherit");
|
|
166
|
+
} else {
|
|
167
|
+
template.container.style.setProperty("--outline-element-color", color?.toString() ?? "inherit");
|
|
149
168
|
}
|
|
150
169
|
}
|
|
151
170
|
if (this._target === OutlineTarget.OutlinePane) {
|
|
@@ -171,13 +190,18 @@ let NotebookOutlineRenderer = class NotebookOutlineRenderer {
|
|
|
171
190
|
return this._instantiationService.createInstance(MenuEntryActionViewItem, action, undefined);
|
|
172
191
|
}
|
|
173
192
|
return undefined;
|
|
174
|
-
}
|
|
193
|
+
}
|
|
175
194
|
})));
|
|
176
|
-
const menu = template.elementDisposables.add(
|
|
177
|
-
|
|
195
|
+
const menu = template.elementDisposables.add(
|
|
196
|
+
this._menuService.createMenu(MenuId.NotebookOutlineActionMenu, scopedContextKeyService)
|
|
197
|
+
);
|
|
198
|
+
const actions = getOutlineToolbarActions(menu, {
|
|
199
|
+
notebookEditor: this._editor,
|
|
200
|
+
outlineEntry: node.element
|
|
201
|
+
});
|
|
178
202
|
outlineEntryToolbar.setActions(actions.primary, actions.secondary);
|
|
179
203
|
this.setupToolbarListeners(this._editor, outlineEntryToolbar, menu, actions, node.element, template);
|
|
180
|
-
template.actionMenu.style.padding =
|
|
204
|
+
template.actionMenu.style.padding = "0 0.8em 0 0.4em";
|
|
181
205
|
}
|
|
182
206
|
}
|
|
183
207
|
disposeTemplate(templateData) {
|
|
@@ -206,21 +230,26 @@ let NotebookOutlineRenderer = class NotebookOutlineRenderer {
|
|
|
206
230
|
toolbar.setActions(initActions.primary, initActions.secondary);
|
|
207
231
|
templateData.elementDisposables.add(menu.onDidChange(() => {
|
|
208
232
|
if (dropdownIsVisible) {
|
|
209
|
-
const actions = getOutlineToolbarActions(menu, {
|
|
233
|
+
const actions = getOutlineToolbarActions(menu, {
|
|
234
|
+
notebookEditor: editor,
|
|
235
|
+
outlineEntry: entry
|
|
236
|
+
});
|
|
210
237
|
deferredUpdate = () => toolbar.setActions(actions.primary, actions.secondary);
|
|
211
238
|
return;
|
|
212
239
|
}
|
|
213
|
-
const actions = getOutlineToolbarActions(menu, {
|
|
240
|
+
const actions = getOutlineToolbarActions(menu, {
|
|
241
|
+
notebookEditor: editor,
|
|
242
|
+
outlineEntry: entry
|
|
243
|
+
});
|
|
214
244
|
toolbar.setActions(actions.primary, actions.secondary);
|
|
215
245
|
}));
|
|
216
|
-
templateData.container.classList.remove(
|
|
246
|
+
templateData.container.classList.remove("notebook-outline-toolbar-dropdown-active");
|
|
217
247
|
templateData.elementDisposables.add(toolbar.onDidChangeDropdownVisibility(visible => {
|
|
218
248
|
dropdownIsVisible = visible;
|
|
219
249
|
if (visible) {
|
|
220
|
-
templateData.container.classList.add(
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
templateData.container.classList.remove('notebook-outline-toolbar-dropdown-active');
|
|
250
|
+
templateData.container.classList.add("notebook-outline-toolbar-dropdown-active");
|
|
251
|
+
} else {
|
|
252
|
+
templateData.container.classList.remove("notebook-outline-toolbar-dropdown-active");
|
|
224
253
|
}
|
|
225
254
|
if (deferredUpdate && !visible) {
|
|
226
255
|
disposableTimeout(() => {
|
|
@@ -231,23 +260,19 @@ let NotebookOutlineRenderer = class NotebookOutlineRenderer {
|
|
|
231
260
|
}));
|
|
232
261
|
}
|
|
233
262
|
};
|
|
234
|
-
NotebookOutlineRenderer = ( __decorate([
|
|
235
|
-
( __param(2, IThemeService)),
|
|
236
|
-
( __param(3, IConfigurationService)),
|
|
237
|
-
( __param(4, IContextMenuService)),
|
|
238
|
-
( __param(5, IContextKeyService)),
|
|
239
|
-
( __param(6, IMenuService)),
|
|
240
|
-
( __param(7, IInstantiationService))
|
|
241
|
-
], NotebookOutlineRenderer));
|
|
263
|
+
NotebookOutlineRenderer = ( __decorate([( __param(2, IThemeService)), ( __param(3, IConfigurationService)), ( __param(4, IContextMenuService)), ( __param(5, IContextKeyService)), ( __param(6, IMenuService)), ( __param(7, IInstantiationService))], NotebookOutlineRenderer));
|
|
242
264
|
function getOutlineToolbarActions(menu, args) {
|
|
243
|
-
return getActionBarActions(menu.getActions({
|
|
265
|
+
return getActionBarActions(menu.getActions({
|
|
266
|
+
shouldForwardArgs: true,
|
|
267
|
+
arg: args
|
|
268
|
+
}), g => /^inline/.test(g));
|
|
244
269
|
}
|
|
245
270
|
class NotebookOutlineAccessibility {
|
|
246
271
|
getAriaLabel(element) {
|
|
247
272
|
return element.label;
|
|
248
273
|
}
|
|
249
274
|
getWidgetAriaLabel() {
|
|
250
|
-
return
|
|
275
|
+
return "";
|
|
251
276
|
}
|
|
252
277
|
}
|
|
253
278
|
class NotebookNavigationLabelProvider {
|
|
@@ -282,19 +307,18 @@ let NotebookQuickPickProvider = class NotebookQuickPickProvider {
|
|
|
282
307
|
entry.asFlatList(bucket);
|
|
283
308
|
}
|
|
284
309
|
const result = [];
|
|
285
|
-
const {
|
|
286
|
-
|
|
287
|
-
|
|
310
|
+
const {
|
|
311
|
+
hasFileIcons
|
|
312
|
+
} = this._themeService.getFileIconTheme();
|
|
313
|
+
const isSymbol = element => !!element.symbolKind;
|
|
314
|
+
const isCodeCell = element => (element.cell.cellKind === CellKind.Code && element.level === NotebookOutlineConstants.NonHeaderOutlineLevel);
|
|
288
315
|
for (let i = 0; i < bucket.length; i++) {
|
|
289
316
|
const element = bucket[i];
|
|
290
317
|
const nextElement = bucket[i + 1];
|
|
291
|
-
if (!this.gotoShowCodeCellSymbols
|
|
292
|
-
&& isSymbol(element)) {
|
|
318
|
+
if (!this.gotoShowCodeCellSymbols && isSymbol(element)) {
|
|
293
319
|
continue;
|
|
294
320
|
}
|
|
295
|
-
if (this.gotoShowCodeCellSymbols
|
|
296
|
-
&& isCodeCell(element)
|
|
297
|
-
&& nextElement && isSymbol(nextElement)) {
|
|
321
|
+
if (this.gotoShowCodeCellSymbols && isCodeCell(element) && nextElement && isSymbol(nextElement)) {
|
|
298
322
|
continue;
|
|
299
323
|
}
|
|
300
324
|
const useFileIcon = hasFileIcons && !element.symbolKind;
|
|
@@ -302,7 +326,7 @@ let NotebookQuickPickProvider = class NotebookQuickPickProvider {
|
|
|
302
326
|
element,
|
|
303
327
|
label: useFileIcon ? element.label : `$(${element.icon.id}) ${element.label}`,
|
|
304
328
|
ariaLabel: element.label,
|
|
305
|
-
iconClasses: useFileIcon ? getIconClassesForLanguageId(element.cell.language ??
|
|
329
|
+
iconClasses: useFileIcon ? getIconClassesForLanguageId(element.cell.language ?? "") : undefined
|
|
306
330
|
});
|
|
307
331
|
}
|
|
308
332
|
return result;
|
|
@@ -311,15 +335,10 @@ let NotebookQuickPickProvider = class NotebookQuickPickProvider {
|
|
|
311
335
|
this._disposables.dispose();
|
|
312
336
|
}
|
|
313
337
|
};
|
|
314
|
-
NotebookQuickPickProvider = ( __decorate([
|
|
315
|
-
( __param(1, IConfigurationService)),
|
|
316
|
-
( __param(2, IThemeService))
|
|
317
|
-
], NotebookQuickPickProvider));
|
|
338
|
+
NotebookQuickPickProvider = ( __decorate([( __param(1, IConfigurationService)), ( __param(2, IThemeService))], NotebookQuickPickProvider));
|
|
318
339
|
function filterEntry(entry, showMarkdownHeadersOnly, showCodeCells, showCodeCellSymbols) {
|
|
319
|
-
if (
|
|
320
|
-
|
|
321
|
-
(!showCodeCellSymbols && entry.cell.cellKind === CellKind.Code && entry.level > NotebookOutlineConstants.NonHeaderOutlineLevel)
|
|
322
|
-
) {
|
|
340
|
+
if (
|
|
341
|
+
(showMarkdownHeadersOnly && entry.cell.cellKind === CellKind.Markup && entry.level === NotebookOutlineConstants.NonHeaderOutlineLevel) || (!showCodeCells && entry.cell.cellKind === CellKind.Code) || (!showCodeCellSymbols && entry.cell.cellKind === CellKind.Code && entry.level > NotebookOutlineConstants.NonHeaderOutlineLevel)) {
|
|
323
342
|
return true;
|
|
324
343
|
}
|
|
325
344
|
return false;
|
|
@@ -349,15 +368,24 @@ let NotebookOutlinePaneProvider = class NotebookOutlinePaneProvider {
|
|
|
349
368
|
if (!newActive) {
|
|
350
369
|
return undefined;
|
|
351
370
|
}
|
|
352
|
-
if (!filterEntry(
|
|
371
|
+
if (!filterEntry(
|
|
372
|
+
newActive,
|
|
373
|
+
this.showMarkdownHeadersOnly,
|
|
374
|
+
this.showCodeCells,
|
|
375
|
+
this.showCodeCellSymbols
|
|
376
|
+
)) {
|
|
353
377
|
return newActive;
|
|
354
378
|
}
|
|
355
379
|
let parent = newActive.parent;
|
|
356
380
|
while (parent) {
|
|
357
|
-
if (filterEntry(
|
|
381
|
+
if (filterEntry(
|
|
382
|
+
parent,
|
|
383
|
+
this.showMarkdownHeadersOnly,
|
|
384
|
+
this.showCodeCells,
|
|
385
|
+
this.showCodeCellSymbols
|
|
386
|
+
)) {
|
|
358
387
|
parent = parent.parent;
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
388
|
+
} else {
|
|
361
389
|
return parent;
|
|
362
390
|
}
|
|
363
391
|
}
|
|
@@ -370,16 +398,13 @@ let NotebookOutlinePaneProvider = class NotebookOutlinePaneProvider {
|
|
|
370
398
|
if (entry.cell.cellKind === CellKind.Markup) {
|
|
371
399
|
if (!this.showMarkdownHeadersOnly) {
|
|
372
400
|
yield entry;
|
|
373
|
-
}
|
|
374
|
-
else if (entry.level < NotebookOutlineConstants.NonHeaderOutlineLevel) {
|
|
401
|
+
} else if (entry.level < NotebookOutlineConstants.NonHeaderOutlineLevel) {
|
|
375
402
|
yield entry;
|
|
376
403
|
}
|
|
377
|
-
}
|
|
378
|
-
else if (this.showCodeCells && entry.cell.cellKind === CellKind.Code) {
|
|
404
|
+
} else if (this.showCodeCells && entry.cell.cellKind === CellKind.Code) {
|
|
379
405
|
if (this.showCodeCellSymbols) {
|
|
380
406
|
yield entry;
|
|
381
|
-
}
|
|
382
|
-
else if (entry.level === NotebookOutlineConstants.NonHeaderOutlineLevel) {
|
|
407
|
+
} else if (entry.level === NotebookOutlineConstants.NonHeaderOutlineLevel) {
|
|
383
408
|
yield entry;
|
|
384
409
|
}
|
|
385
410
|
}
|
|
@@ -389,9 +414,7 @@ let NotebookOutlinePaneProvider = class NotebookOutlinePaneProvider {
|
|
|
389
414
|
this._disposables.dispose();
|
|
390
415
|
}
|
|
391
416
|
};
|
|
392
|
-
NotebookOutlinePaneProvider = ( __decorate([
|
|
393
|
-
( __param(1, IConfigurationService))
|
|
394
|
-
], NotebookOutlinePaneProvider));
|
|
417
|
+
NotebookOutlinePaneProvider = ( __decorate([( __param(1, IConfigurationService))], NotebookOutlinePaneProvider));
|
|
395
418
|
let NotebookBreadcrumbsProvider = class NotebookBreadcrumbsProvider {
|
|
396
419
|
constructor(outlineDataSourceRef, _configurationService) {
|
|
397
420
|
this.outlineDataSourceRef = outlineDataSourceRef;
|
|
@@ -409,7 +432,10 @@ let NotebookBreadcrumbsProvider = class NotebookBreadcrumbsProvider {
|
|
|
409
432
|
let candidate = this.outlineDataSourceRef?.object?.activeElement;
|
|
410
433
|
while (candidate) {
|
|
411
434
|
if (this.showCodeCells || candidate.cell.cellKind !== CellKind.Code) {
|
|
412
|
-
result.unshift({
|
|
435
|
+
result.unshift({
|
|
436
|
+
element: candidate,
|
|
437
|
+
label: candidate.label
|
|
438
|
+
});
|
|
413
439
|
}
|
|
414
440
|
candidate = candidate.parent;
|
|
415
441
|
}
|
|
@@ -419,12 +445,12 @@ let NotebookBreadcrumbsProvider = class NotebookBreadcrumbsProvider {
|
|
|
419
445
|
this._disposables.dispose();
|
|
420
446
|
}
|
|
421
447
|
};
|
|
422
|
-
NotebookBreadcrumbsProvider = ( __decorate([
|
|
423
|
-
( __param(1, IConfigurationService))
|
|
424
|
-
], NotebookBreadcrumbsProvider));
|
|
448
|
+
NotebookBreadcrumbsProvider = ( __decorate([( __param(1, IConfigurationService))], NotebookBreadcrumbsProvider));
|
|
425
449
|
class NotebookComparator {
|
|
426
450
|
constructor() {
|
|
427
|
-
this._collator = safeIntl.Collator(undefined, {
|
|
451
|
+
this._collator = safeIntl.Collator(undefined, {
|
|
452
|
+
numeric: true
|
|
453
|
+
});
|
|
428
454
|
}
|
|
429
455
|
compareByPosition(a, b) {
|
|
430
456
|
return a.index - b.index;
|
|
@@ -441,9 +467,8 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
441
467
|
this.checkDelayer();
|
|
442
468
|
if (this._target === OutlineTarget.OutlinePane) {
|
|
443
469
|
return this.config.treeDataSource.getActiveEntry();
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
console.error('activeElement should not be called outside of the OutlinePane');
|
|
470
|
+
} else {
|
|
471
|
+
console.error("activeElement should not be called outside of the OutlinePane");
|
|
447
472
|
return undefined;
|
|
448
473
|
}
|
|
449
474
|
}
|
|
@@ -459,7 +484,12 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
459
484
|
return true;
|
|
460
485
|
}
|
|
461
486
|
return !( this._outlineDataSourceReference.object.entries.some(entry => {
|
|
462
|
-
return !filterEntry(
|
|
487
|
+
return !filterEntry(
|
|
488
|
+
entry,
|
|
489
|
+
this.outlineShowMarkdownHeadersOnly,
|
|
490
|
+
this.outlineShowCodeCells,
|
|
491
|
+
this.outlineShowCodeCellSymbols
|
|
492
|
+
);
|
|
463
493
|
}));
|
|
464
494
|
}
|
|
465
495
|
checkDelayer() {
|
|
@@ -468,7 +498,16 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
468
498
|
this.recomputeState();
|
|
469
499
|
}
|
|
470
500
|
}
|
|
471
|
-
constructor(
|
|
501
|
+
constructor(
|
|
502
|
+
_editor,
|
|
503
|
+
_target,
|
|
504
|
+
_themeService,
|
|
505
|
+
_editorService,
|
|
506
|
+
_instantiationService,
|
|
507
|
+
_configurationService,
|
|
508
|
+
_languageFeaturesService,
|
|
509
|
+
_notebookExecutionStateService
|
|
510
|
+
) {
|
|
472
511
|
this._editor = _editor;
|
|
473
512
|
this._target = _target;
|
|
474
513
|
this._themeService = _themeService;
|
|
@@ -477,7 +516,7 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
477
516
|
this._configurationService = _configurationService;
|
|
478
517
|
this._languageFeaturesService = _languageFeaturesService;
|
|
479
518
|
this._notebookExecutionStateService = _notebookExecutionStateService;
|
|
480
|
-
this.outlineKind =
|
|
519
|
+
this.outlineKind = "notebookCells";
|
|
481
520
|
this._disposables = ( new DisposableStore());
|
|
482
521
|
this._modelDisposables = ( new DisposableStore());
|
|
483
522
|
this._dataSourceDisposables = ( new DisposableStore());
|
|
@@ -491,14 +530,18 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
491
530
|
this.outlineShowMarkdownHeadersOnly = this._configurationService.getValue(NotebookSetting.outlineShowMarkdownHeadersOnly);
|
|
492
531
|
this.initializeOutline();
|
|
493
532
|
const delegate = ( new NotebookOutlineVirtualDelegate());
|
|
494
|
-
const renderers = [
|
|
533
|
+
const renderers = [
|
|
534
|
+
this._instantiationService.createInstance(NotebookOutlineRenderer, this._editor.getControl(), this._target)
|
|
535
|
+
];
|
|
495
536
|
const comparator = ( new NotebookComparator());
|
|
496
537
|
const options = {
|
|
497
538
|
collapseByDefault: this._target === OutlineTarget.Breadcrumbs || (this._target === OutlineTarget.OutlinePane && this._configurationService.getValue(OutlineConfigKeys.collapseItems) === OutlineConfigCollapseItemsValues.Collapsed),
|
|
498
539
|
expandOnlyOnTwistieClick: true,
|
|
499
540
|
multipleSelectionSupport: false,
|
|
500
541
|
accessibilityProvider: ( new NotebookOutlineAccessibility()),
|
|
501
|
-
identityProvider: {
|
|
542
|
+
identityProvider: {
|
|
543
|
+
getId: element => ( element.cell.uri.toString())
|
|
544
|
+
},
|
|
502
545
|
keyboardNavigationLabelProvider: ( new NotebookNavigationLabelProvider())
|
|
503
546
|
};
|
|
504
547
|
this.config = {
|
|
@@ -508,7 +551,7 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
508
551
|
delegate,
|
|
509
552
|
renderers,
|
|
510
553
|
comparator,
|
|
511
|
-
options
|
|
554
|
+
options
|
|
512
555
|
};
|
|
513
556
|
}
|
|
514
557
|
initializeOutline() {
|
|
@@ -526,10 +569,7 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
526
569
|
this.delayedRecomputeActive();
|
|
527
570
|
}));
|
|
528
571
|
this._disposables.add(this._configurationService.onDidChangeConfiguration(e => {
|
|
529
|
-
if (e.affectsConfiguration(NotebookSetting.outlineShowMarkdownHeadersOnly) ||
|
|
530
|
-
e.affectsConfiguration(NotebookSetting.outlineShowCodeCells) ||
|
|
531
|
-
e.affectsConfiguration(NotebookSetting.outlineShowCodeCellSymbols) ||
|
|
532
|
-
e.affectsConfiguration(NotebookSetting.breadcrumbsShowCodeCells)) {
|
|
572
|
+
if (e.affectsConfiguration(NotebookSetting.outlineShowMarkdownHeadersOnly) || e.affectsConfiguration(NotebookSetting.outlineShowCodeCells) || e.affectsConfiguration(NotebookSetting.outlineShowCodeCellSymbols) || e.affectsConfiguration(NotebookSetting.breadcrumbsShowCodeCells)) {
|
|
533
573
|
this.outlineShowCodeCells = this._configurationService.getValue(NotebookSetting.outlineShowCodeCells);
|
|
534
574
|
this.outlineShowCodeCellSymbols = this._configurationService.getValue(NotebookSetting.outlineShowCodeCellSymbols);
|
|
535
575
|
this.outlineShowMarkdownHeadersOnly = this._configurationService.getValue(NotebookSetting.outlineShowMarkdownHeadersOnly);
|
|
@@ -558,16 +598,23 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
558
598
|
this._dataSourceDisposables.clear();
|
|
559
599
|
if (!notebookEditor?.hasModel()) {
|
|
560
600
|
this._outlineDataSourceReference = undefined;
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
|
|
601
|
+
} else {
|
|
602
|
+
this._outlineDataSourceReference = this._dataSourceDisposables.add(this._instantiationService.invokeFunction(
|
|
603
|
+
accessor => accessor.get(INotebookCellOutlineDataSourceFactory).getOrCreate(notebookEditor)
|
|
604
|
+
));
|
|
564
605
|
this._dataSourceDisposables.add(this._outlineDataSourceReference.object.onDidChange(() => {
|
|
565
606
|
this._onDidChange.fire({});
|
|
566
607
|
}));
|
|
567
608
|
}
|
|
568
|
-
this._treeDataSource = this._dataSourceDisposables.add(
|
|
569
|
-
|
|
570
|
-
|
|
609
|
+
this._treeDataSource = this._dataSourceDisposables.add(
|
|
610
|
+
this._instantiationService.createInstance(NotebookOutlinePaneProvider, this._outlineDataSourceReference)
|
|
611
|
+
);
|
|
612
|
+
this._quickPickDataSource = this._dataSourceDisposables.add(
|
|
613
|
+
this._instantiationService.createInstance(NotebookQuickPickProvider, this._outlineDataSourceReference)
|
|
614
|
+
);
|
|
615
|
+
this._breadcrumbsDataSource = this._dataSourceDisposables.add(
|
|
616
|
+
this._instantiationService.createInstance(NotebookBreadcrumbsProvider, this._outlineDataSourceReference)
|
|
617
|
+
);
|
|
571
618
|
}
|
|
572
619
|
setModelListeners() {
|
|
573
620
|
this._modelDisposables.clear();
|
|
@@ -578,10 +625,9 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
578
625
|
this.computeSymbols();
|
|
579
626
|
}
|
|
580
627
|
this._modelDisposables.add(this._editor.textModel.onDidChangeContent(contentChanges => {
|
|
581
|
-
if (( contentChanges.rawEvents.some(
|
|
582
|
-
c.kind === NotebookCellsChangeType.ChangeCellInternalMetadata ||
|
|
583
|
-
|
|
584
|
-
c.kind === NotebookCellsChangeType.ModelChange))) {
|
|
628
|
+
if (( contentChanges.rawEvents.some(
|
|
629
|
+
c => c.kind === NotebookCellsChangeType.ChangeCellContent || c.kind === NotebookCellsChangeType.ChangeCellInternalMetadata || c.kind === NotebookCellsChangeType.Move || c.kind === NotebookCellsChangeType.ModelChange
|
|
630
|
+
))) {
|
|
585
631
|
this.delayedRecomputeState();
|
|
586
632
|
}
|
|
587
633
|
}));
|
|
@@ -597,16 +643,26 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
597
643
|
async delayedComputeSymbols() {
|
|
598
644
|
this.delayerRecomputeState.cancel();
|
|
599
645
|
this.delayerRecomputeActive.cancel();
|
|
600
|
-
this.delayerRecomputeSymbols.trigger(() => {
|
|
646
|
+
this.delayerRecomputeSymbols.trigger(() => {
|
|
647
|
+
this.computeSymbols();
|
|
648
|
+
});
|
|
649
|
+
}
|
|
650
|
+
recomputeState() {
|
|
651
|
+
this._outlineDataSourceReference?.object?.recomputeState();
|
|
601
652
|
}
|
|
602
|
-
recomputeState() { this._outlineDataSourceReference?.object?.recomputeState(); }
|
|
603
653
|
delayedRecomputeState() {
|
|
604
654
|
this.delayerRecomputeActive.cancel();
|
|
605
|
-
this.delayerRecomputeState.trigger(() => {
|
|
655
|
+
this.delayerRecomputeState.trigger(() => {
|
|
656
|
+
this.recomputeState();
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
recomputeActive() {
|
|
660
|
+
this._outlineDataSourceReference?.object?.recomputeActive();
|
|
606
661
|
}
|
|
607
|
-
recomputeActive() { this._outlineDataSourceReference?.object?.recomputeActive(); }
|
|
608
662
|
delayedRecomputeActive() {
|
|
609
|
-
this.delayerRecomputeActive.trigger(() => {
|
|
663
|
+
this.delayerRecomputeActive.trigger(() => {
|
|
664
|
+
this.recomputeActive();
|
|
665
|
+
});
|
|
610
666
|
}
|
|
611
667
|
async reveal(entry, options, sideBySide) {
|
|
612
668
|
const notebookEditorOptions = {
|
|
@@ -614,11 +670,11 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
614
670
|
override: this._editor.input?.editorId,
|
|
615
671
|
cellRevealType: CellRevealType.Top,
|
|
616
672
|
selection: entry.position,
|
|
617
|
-
viewState: undefined
|
|
673
|
+
viewState: undefined
|
|
618
674
|
};
|
|
619
675
|
await this._editorService.openEditor({
|
|
620
676
|
resource: entry.cell.uri,
|
|
621
|
-
options: notebookEditorOptions
|
|
677
|
+
options: notebookEditorOptions
|
|
622
678
|
}, sideBySide ? SIDE_GROUP : undefined);
|
|
623
679
|
}
|
|
624
680
|
preview(entry) {
|
|
@@ -629,26 +685,27 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
629
685
|
if (entry.range) {
|
|
630
686
|
const range = Range.lift(entry.range);
|
|
631
687
|
widget.revealRangeInCenterIfOutsideViewportAsync(entry.cell, range);
|
|
632
|
-
}
|
|
633
|
-
else {
|
|
688
|
+
} else {
|
|
634
689
|
widget.revealInCenterIfOutsideViewport(entry.cell);
|
|
635
690
|
}
|
|
636
691
|
const ids = widget.deltaCellDecorations([], [{
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
692
|
+
handle: entry.cell.handle,
|
|
693
|
+
options: {
|
|
694
|
+
className: "nb-symbolHighlight",
|
|
695
|
+
outputClassName: "nb-symbolHighlight"
|
|
696
|
+
}
|
|
697
|
+
}]);
|
|
640
698
|
let editorDecorations;
|
|
641
699
|
widget.changeModelDecorations(accessor => {
|
|
642
700
|
if (entry.range) {
|
|
643
|
-
const decorations = [
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
}
|
|
701
|
+
const decorations = [{
|
|
702
|
+
range: entry.range,
|
|
703
|
+
options: {
|
|
704
|
+
description: "document-symbols-outline-range-highlight",
|
|
705
|
+
className: "rangeHighlight",
|
|
706
|
+
isWholeLine: true
|
|
650
707
|
}
|
|
651
|
-
];
|
|
708
|
+
}];
|
|
652
709
|
const deltaDecoration = {
|
|
653
710
|
ownerId: entry.cell.handle,
|
|
654
711
|
decorations: decorations
|
|
@@ -682,14 +739,7 @@ let NotebookCellOutline = class NotebookCellOutline {
|
|
|
682
739
|
this._outlineDataSourceReference?.dispose();
|
|
683
740
|
}
|
|
684
741
|
};
|
|
685
|
-
NotebookCellOutline = ( __decorate([
|
|
686
|
-
( __param(2, IThemeService)),
|
|
687
|
-
( __param(3, IEditorService)),
|
|
688
|
-
( __param(4, IInstantiationService)),
|
|
689
|
-
( __param(5, IConfigurationService)),
|
|
690
|
-
( __param(6, ILanguageFeaturesService)),
|
|
691
|
-
( __param(7, INotebookExecutionStateService))
|
|
692
|
-
], NotebookCellOutline));
|
|
742
|
+
NotebookCellOutline = ( __decorate([( __param(2, IThemeService)), ( __param(3, IEditorService)), ( __param(4, IInstantiationService)), ( __param(5, IConfigurationService)), ( __param(6, ILanguageFeaturesService)), ( __param(7, INotebookExecutionStateService))], NotebookCellOutline));
|
|
693
743
|
let NotebookOutlineCreator = class NotebookOutlineCreator {
|
|
694
744
|
constructor(outlineService, _instantiationService) {
|
|
695
745
|
this._instantiationService = _instantiationService;
|
|
@@ -707,79 +757,76 @@ let NotebookOutlineCreator = class NotebookOutlineCreator {
|
|
|
707
757
|
return outline;
|
|
708
758
|
}
|
|
709
759
|
};
|
|
710
|
-
NotebookOutlineCreator = ( __decorate([
|
|
711
|
-
( __param(0, IOutlineService)),
|
|
712
|
-
( __param(1, IInstantiationService))
|
|
713
|
-
], NotebookOutlineCreator));
|
|
760
|
+
NotebookOutlineCreator = ( __decorate([( __param(0, IOutlineService)), ( __param(1, IInstantiationService))], NotebookOutlineCreator));
|
|
714
761
|
const NotebookOutlineContext = {
|
|
715
|
-
CellKind: ( new RawContextKey(
|
|
716
|
-
CellHasChildren: ( new RawContextKey(
|
|
717
|
-
CellHasHeader: ( new RawContextKey(
|
|
718
|
-
CellFoldingState: ( new RawContextKey(
|
|
719
|
-
OutlineElementTarget: ( new RawContextKey(
|
|
762
|
+
CellKind: ( new RawContextKey("notebookCellKind", undefined)),
|
|
763
|
+
CellHasChildren: ( new RawContextKey("notebookCellHasChildren", false)),
|
|
764
|
+
CellHasHeader: ( new RawContextKey("notebookCellHasHeader", false)),
|
|
765
|
+
CellFoldingState: ( new RawContextKey("notebookCellFoldingState", CellFoldingState.None)),
|
|
766
|
+
OutlineElementTarget: ( new RawContextKey("notebookOutlineElementTarget", undefined))
|
|
720
767
|
};
|
|
721
768
|
( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(NotebookOutlineCreator, LifecyclePhase.Eventually);
|
|
722
769
|
( Registry.as(Extensions$1.Configuration)).registerConfiguration({
|
|
723
|
-
id:
|
|
770
|
+
id: "notebook",
|
|
724
771
|
order: 100,
|
|
725
|
-
type:
|
|
726
|
-
|
|
772
|
+
type: "object",
|
|
773
|
+
"properties": {
|
|
727
774
|
[NotebookSetting.outlineShowMarkdownHeadersOnly]: {
|
|
728
|
-
type:
|
|
775
|
+
type: "boolean",
|
|
729
776
|
default: true,
|
|
730
777
|
markdownDescription: ( localize(
|
|
731
|
-
|
|
778
|
+
9645,
|
|
732
779
|
"When enabled, notebook outline will show only markdown cells containing a header."
|
|
733
780
|
))
|
|
734
781
|
},
|
|
735
782
|
[NotebookSetting.outlineShowCodeCells]: {
|
|
736
|
-
type:
|
|
783
|
+
type: "boolean",
|
|
737
784
|
default: false,
|
|
738
|
-
markdownDescription: ( localize(
|
|
785
|
+
markdownDescription: ( localize(9646, "When enabled, notebook outline shows code cells."))
|
|
739
786
|
},
|
|
740
787
|
[NotebookSetting.outlineShowCodeCellSymbols]: {
|
|
741
|
-
type:
|
|
788
|
+
type: "boolean",
|
|
742
789
|
default: true,
|
|
743
790
|
markdownDescription: ( localize(
|
|
744
|
-
|
|
791
|
+
9647,
|
|
745
792
|
"When enabled, notebook outline shows code cell symbols. Relies on `#notebook.outline.showCodeCells#` being enabled."
|
|
746
793
|
))
|
|
747
794
|
},
|
|
748
795
|
[NotebookSetting.breadcrumbsShowCodeCells]: {
|
|
749
|
-
type:
|
|
796
|
+
type: "boolean",
|
|
750
797
|
default: true,
|
|
751
|
-
markdownDescription: ( localize(
|
|
798
|
+
markdownDescription: ( localize(9648, "When enabled, notebook breadcrumbs contain code cells."))
|
|
752
799
|
},
|
|
753
800
|
[NotebookSetting.gotoSymbolsAllSymbols]: {
|
|
754
|
-
type:
|
|
801
|
+
type: "boolean",
|
|
755
802
|
default: true,
|
|
756
803
|
markdownDescription: ( localize(
|
|
757
|
-
|
|
804
|
+
9649,
|
|
758
805
|
"When enabled, the Go to Symbol Quick Pick will display full code symbols from the notebook, as well as Markdown headers."
|
|
759
806
|
))
|
|
760
|
-
}
|
|
807
|
+
}
|
|
761
808
|
}
|
|
762
809
|
});
|
|
763
810
|
MenuRegistry.appendMenuItem(MenuId.ViewTitle, {
|
|
764
811
|
submenu: MenuId.NotebookOutlineFilter,
|
|
765
|
-
title: ( localize(
|
|
812
|
+
title: ( localize(9650, "Filter Entries")),
|
|
766
813
|
icon: Codicon.filter,
|
|
767
|
-
group:
|
|
814
|
+
group: "navigation",
|
|
768
815
|
order: -1,
|
|
769
|
-
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(
|
|
816
|
+
when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("view", IOutlinePane.Id)), NOTEBOOK_IS_ACTIVE_EDITOR))
|
|
770
817
|
});
|
|
771
818
|
registerAction2(class ToggleShowMarkdownHeadersOnly extends Action2 {
|
|
772
819
|
constructor() {
|
|
773
820
|
super({
|
|
774
|
-
id:
|
|
775
|
-
title: ( localize(
|
|
821
|
+
id: "notebook.outline.toggleShowMarkdownHeadersOnly",
|
|
822
|
+
title: ( localize(9651, "Markdown Headers Only")),
|
|
776
823
|
f1: false,
|
|
777
824
|
toggled: {
|
|
778
|
-
condition: ( ContextKeyExpr.equals(
|
|
825
|
+
condition: ( ContextKeyExpr.equals("config.notebook.outline.showMarkdownHeadersOnly", true))
|
|
779
826
|
},
|
|
780
827
|
menu: {
|
|
781
828
|
id: MenuId.NotebookOutlineFilter,
|
|
782
|
-
group:
|
|
829
|
+
group: "0_markdown_cells"
|
|
783
830
|
}
|
|
784
831
|
});
|
|
785
832
|
}
|
|
@@ -792,16 +839,16 @@ registerAction2(class ToggleShowMarkdownHeadersOnly extends Action2 {
|
|
|
792
839
|
registerAction2(class ToggleCodeCellEntries extends Action2 {
|
|
793
840
|
constructor() {
|
|
794
841
|
super({
|
|
795
|
-
id:
|
|
796
|
-
title: ( localize(
|
|
842
|
+
id: "notebook.outline.toggleCodeCells",
|
|
843
|
+
title: ( localize(9652, "Code Cells")),
|
|
797
844
|
f1: false,
|
|
798
845
|
toggled: {
|
|
799
|
-
condition: ( ContextKeyExpr.equals(
|
|
846
|
+
condition: ( ContextKeyExpr.equals("config.notebook.outline.showCodeCells", true))
|
|
800
847
|
},
|
|
801
848
|
menu: {
|
|
802
849
|
id: MenuId.NotebookOutlineFilter,
|
|
803
850
|
order: 1,
|
|
804
|
-
group:
|
|
851
|
+
group: "1_code_cells"
|
|
805
852
|
}
|
|
806
853
|
});
|
|
807
854
|
}
|
|
@@ -814,16 +861,16 @@ registerAction2(class ToggleCodeCellEntries extends Action2 {
|
|
|
814
861
|
registerAction2(class ToggleCodeCellSymbolEntries extends Action2 {
|
|
815
862
|
constructor() {
|
|
816
863
|
super({
|
|
817
|
-
id:
|
|
818
|
-
title: ( localize(
|
|
864
|
+
id: "notebook.outline.toggleCodeCellSymbols",
|
|
865
|
+
title: ( localize(9653, "Code Cell Symbols")),
|
|
819
866
|
f1: false,
|
|
820
867
|
toggled: {
|
|
821
|
-
condition: ( ContextKeyExpr.equals(
|
|
868
|
+
condition: ( ContextKeyExpr.equals("config.notebook.outline.showCodeCellSymbols", true))
|
|
822
869
|
},
|
|
823
870
|
menu: {
|
|
824
871
|
id: MenuId.NotebookOutlineFilter,
|
|
825
872
|
order: 2,
|
|
826
|
-
group:
|
|
873
|
+
group: "1_code_cells"
|
|
827
874
|
}
|
|
828
875
|
});
|
|
829
876
|
}
|