@codingame/monaco-vscode-views-service-override 2.0.3 → 2.1.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.
Files changed (65) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +1 -1
  3. package/package.json +11 -11
  4. package/tools/editor.js +14 -0
  5. package/views.js +12 -5
  6. package/vscode/src/vs/base/common/codicons.d.ts +5 -0
  7. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +2 -2
  8. package/vscode/src/vs/workbench/browser/actions/listCommands.js +160 -4
  9. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +14 -19
  10. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +1 -1
  11. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +59 -21
  12. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +77 -45
  13. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +23 -1
  14. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +77 -45
  15. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +131 -5
  16. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  17. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -1
  18. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +2 -2
  19. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +1 -1
  20. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +1 -3
  21. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +8 -16
  22. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +13 -13
  23. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -3
  24. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -1
  25. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +4 -0
  26. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +2 -2
  27. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +3 -4
  28. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  31. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +17 -16
  32. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +4 -4
  33. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +1 -1
  34. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +13 -13
  35. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +2 -2
  36. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +2 -1
  38. package/vscode/src/vs/workbench/services/activity/browser/activityService.js +1 -0
  39. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +18 -4
  40. package/vscode/src/vs/workbench/services/history/browser/historyService.js +2 -2
  41. package/vscode/src/vs/workbench/services/progress/browser/progressService.js +15 -4
  42. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +2 -2
  43. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +6 -2
  44. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.css.js +0 -6
  45. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +0 -290
  46. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +0 -801
  47. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +0 -142
  48. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +0 -412
  49. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +0 -1315
  50. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +0 -186
  51. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +0 -346
  52. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +0 -154
  53. package/vscode/src/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +0 -6
  54. package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +0 -6
  55. package/vscode/src/vs/workbench/browser/parts/editor/media/editortitlecontrol.css.js +0 -6
  56. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +0 -6
  57. package/vscode/src/vs/workbench/browser/parts/editor/media/singleeditortabscontrol.css.js +0 -6
  58. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +0 -1623
  59. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +0 -152
  60. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +0 -54
  61. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +0 -259
  62. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +0 -109
  63. package/vscode/src/vs/workbench/services/hover/browser/hoverService.js +0 -195
  64. package/vscode/src/vs/workbench/services/hover/browser/hoverWidget.js +0 -528
  65. package/vscode/src/vs/workbench/services/hover/browser/media/hover.css.js +0 -6
@@ -1,290 +0,0 @@
1
- import { addStandardDisposableListener, createStyleSheet, trackFocus, Dimension, modify, getWindow, measure, isAncestorOfActiveElement, clearNode, $ } from 'vscode/vscode/vs/base/browser/dom';
2
- import { DomScrollableElement } from 'vscode/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
3
- import { commonPrefixLength } from 'vscode/vscode/vs/base/common/arrays';
4
- import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
5
- import { Emitter } from 'vscode/vscode/vs/base/common/event';
6
- import { DisposableStore, dispose } from 'vscode/vscode/vs/base/common/lifecycle';
7
- import './breadcrumbsWidget.css.js';
8
-
9
- class BreadcrumbsItem {
10
- dispose() { }
11
- }
12
- class BreadcrumbsWidget {
13
- constructor(container, horizontalScrollbarSize, separatorIcon, styles) {
14
- this._disposables = ( new DisposableStore());
15
- this._onDidSelectItem = ( new Emitter());
16
- this._onDidFocusItem = ( new Emitter());
17
- this._onDidChangeFocus = ( new Emitter());
18
- this.onDidSelectItem = this._onDidSelectItem.event;
19
- this.onDidFocusItem = this._onDidFocusItem.event;
20
- this.onDidChangeFocus = this._onDidChangeFocus.event;
21
- this._items = ( new Array());
22
- this._nodes = ( new Array());
23
- this._freeNodes = ( new Array());
24
- this._enabled = true;
25
- this._focusedItemIdx = -1;
26
- this._selectedItemIdx = -1;
27
- this._domNode = document.createElement('div');
28
- this._domNode.className = 'monaco-breadcrumbs';
29
- this._domNode.tabIndex = 0;
30
- this._domNode.setAttribute('role', 'list');
31
- this._scrollable = ( new DomScrollableElement(this._domNode, {
32
- vertical: 2 ,
33
- horizontal: 1 ,
34
- horizontalScrollbarSize,
35
- useShadows: false,
36
- scrollYToX: true
37
- }));
38
- this._separatorIcon = separatorIcon;
39
- this._disposables.add(this._scrollable);
40
- this._disposables.add(addStandardDisposableListener(this._domNode, 'click', e => this._onClick(e)));
41
- container.appendChild(this._scrollable.getDomNode());
42
- const styleElement = createStyleSheet(this._domNode);
43
- this._style(styleElement, styles);
44
- const focusTracker = trackFocus(this._domNode);
45
- this._disposables.add(focusTracker);
46
- this._disposables.add(focusTracker.onDidBlur(_ => this._onDidChangeFocus.fire(false)));
47
- this._disposables.add(focusTracker.onDidFocus(_ => this._onDidChangeFocus.fire(true)));
48
- }
49
- setHorizontalScrollbarSize(size) {
50
- this._scrollable.updateOptions({
51
- horizontalScrollbarSize: size
52
- });
53
- }
54
- dispose() {
55
- this._disposables.dispose();
56
- this._pendingLayout?.dispose();
57
- this._onDidSelectItem.dispose();
58
- this._onDidFocusItem.dispose();
59
- this._onDidChangeFocus.dispose();
60
- this._domNode.remove();
61
- this._nodes.length = 0;
62
- this._freeNodes.length = 0;
63
- }
64
- layout(dim) {
65
- if (dim && Dimension.equals(dim, this._dimension)) {
66
- return;
67
- }
68
- this._pendingLayout?.dispose();
69
- if (dim) {
70
- this._pendingLayout = this._updateDimensions(dim);
71
- }
72
- else {
73
- this._pendingLayout = this._updateScrollbar();
74
- }
75
- }
76
- _updateDimensions(dim) {
77
- const disposables = ( new DisposableStore());
78
- disposables.add(modify(getWindow(this._domNode), () => {
79
- this._dimension = dim;
80
- this._domNode.style.width = `${dim.width}px`;
81
- this._domNode.style.height = `${dim.height}px`;
82
- disposables.add(this._updateScrollbar());
83
- }));
84
- return disposables;
85
- }
86
- _updateScrollbar() {
87
- return measure(getWindow(this._domNode), () => {
88
- measure(getWindow(this._domNode), () => {
89
- this._scrollable.setRevealOnScroll(false);
90
- this._scrollable.scanDomNode();
91
- this._scrollable.setRevealOnScroll(true);
92
- });
93
- });
94
- }
95
- _style(styleElement, style) {
96
- let content = '';
97
- if (style.breadcrumbsBackground) {
98
- content += `.monaco-breadcrumbs { background-color: ${style.breadcrumbsBackground}}`;
99
- }
100
- if (style.breadcrumbsForeground) {
101
- content += `.monaco-breadcrumbs .monaco-breadcrumb-item { color: ${style.breadcrumbsForeground}}\n`;
102
- }
103
- if (style.breadcrumbsFocusForeground) {
104
- content += `.monaco-breadcrumbs .monaco-breadcrumb-item.focused { color: ${style.breadcrumbsFocusForeground}}\n`;
105
- }
106
- if (style.breadcrumbsFocusAndSelectionForeground) {
107
- content += `.monaco-breadcrumbs .monaco-breadcrumb-item.focused.selected { color: ${style.breadcrumbsFocusAndSelectionForeground}}\n`;
108
- }
109
- if (style.breadcrumbsHoverForeground) {
110
- content += `.monaco-breadcrumbs:not(.disabled ) .monaco-breadcrumb-item:hover:not(.focused):not(.selected) { color: ${style.breadcrumbsHoverForeground}}\n`;
111
- }
112
- styleElement.innerText = content;
113
- }
114
- setEnabled(value) {
115
- this._enabled = value;
116
- this._domNode.classList.toggle('disabled', !this._enabled);
117
- }
118
- domFocus() {
119
- const idx = this._focusedItemIdx >= 0 ? this._focusedItemIdx : this._items.length - 1;
120
- if (idx >= 0 && idx < this._items.length) {
121
- this._focus(idx, undefined);
122
- }
123
- else {
124
- this._domNode.focus();
125
- }
126
- }
127
- isDOMFocused() {
128
- return isAncestorOfActiveElement(this._domNode);
129
- }
130
- getFocused() {
131
- return this._items[this._focusedItemIdx];
132
- }
133
- setFocused(item, payload) {
134
- this._focus(this._items.indexOf(item), payload);
135
- }
136
- focusPrev(payload) {
137
- if (this._focusedItemIdx > 0) {
138
- this._focus(this._focusedItemIdx - 1, payload);
139
- }
140
- }
141
- focusNext(payload) {
142
- if (this._focusedItemIdx + 1 < this._nodes.length) {
143
- this._focus(this._focusedItemIdx + 1, payload);
144
- }
145
- }
146
- _focus(nth, payload) {
147
- this._focusedItemIdx = -1;
148
- for (let i = 0; i < this._nodes.length; i++) {
149
- const node = this._nodes[i];
150
- if (i !== nth) {
151
- node.classList.remove('focused');
152
- }
153
- else {
154
- this._focusedItemIdx = i;
155
- node.classList.add('focused');
156
- node.focus();
157
- }
158
- }
159
- this._reveal(this._focusedItemIdx, true);
160
- this._onDidFocusItem.fire({ type: 'focus', item: this._items[this._focusedItemIdx], node: this._nodes[this._focusedItemIdx], payload });
161
- }
162
- reveal(item) {
163
- const idx = this._items.indexOf(item);
164
- if (idx >= 0) {
165
- this._reveal(idx, false);
166
- }
167
- }
168
- revealLast() {
169
- this._reveal(this._items.length - 1, false);
170
- }
171
- _reveal(nth, minimal) {
172
- if (nth < 0 || nth >= this._nodes.length) {
173
- return;
174
- }
175
- const node = this._nodes[nth];
176
- if (!node) {
177
- return;
178
- }
179
- const { width } = this._scrollable.getScrollDimensions();
180
- const { scrollLeft } = this._scrollable.getScrollPosition();
181
- if (!minimal || node.offsetLeft > scrollLeft + width || node.offsetLeft < scrollLeft) {
182
- this._scrollable.setRevealOnScroll(false);
183
- this._scrollable.setScrollPosition({ scrollLeft: node.offsetLeft });
184
- this._scrollable.setRevealOnScroll(true);
185
- }
186
- }
187
- getSelection() {
188
- return this._items[this._selectedItemIdx];
189
- }
190
- setSelection(item, payload) {
191
- this._select(this._items.indexOf(item), payload);
192
- }
193
- _select(nth, payload) {
194
- this._selectedItemIdx = -1;
195
- for (let i = 0; i < this._nodes.length; i++) {
196
- const node = this._nodes[i];
197
- if (i !== nth) {
198
- node.classList.remove('selected');
199
- }
200
- else {
201
- this._selectedItemIdx = i;
202
- node.classList.add('selected');
203
- }
204
- }
205
- this._onDidSelectItem.fire({ type: 'select', item: this._items[this._selectedItemIdx], node: this._nodes[this._selectedItemIdx], payload });
206
- }
207
- getItems() {
208
- return this._items;
209
- }
210
- setItems(items) {
211
- let prefix;
212
- let removed = [];
213
- try {
214
- prefix = commonPrefixLength(this._items, items, (a, b) => a.equals(b));
215
- removed = this._items.splice(prefix, this._items.length - prefix, ...items.slice(prefix));
216
- this._render(prefix);
217
- dispose(removed);
218
- this._focus(-1, undefined);
219
- }
220
- catch (e) {
221
- const newError = ( new Error(
222
- `BreadcrumbsItem#setItems: newItems: ${items.length}, prefix: ${prefix}, removed: ${removed.length}`
223
- ));
224
- newError.name = e.name;
225
- newError.stack = e.stack;
226
- throw newError;
227
- }
228
- }
229
- _render(start) {
230
- let didChange = false;
231
- for (; start < this._items.length && start < this._nodes.length; start++) {
232
- const item = this._items[start];
233
- const node = this._nodes[start];
234
- this._renderItem(item, node);
235
- didChange = true;
236
- }
237
- while (start < this._nodes.length) {
238
- const free = this._nodes.pop();
239
- if (free) {
240
- this._freeNodes.push(free);
241
- free.remove();
242
- didChange = true;
243
- }
244
- }
245
- for (; start < this._items.length; start++) {
246
- const item = this._items[start];
247
- const node = this._freeNodes.length > 0 ? this._freeNodes.pop() : document.createElement('div');
248
- if (node) {
249
- this._renderItem(item, node);
250
- this._domNode.appendChild(node);
251
- this._nodes.push(node);
252
- didChange = true;
253
- }
254
- }
255
- if (didChange) {
256
- this.layout(undefined);
257
- }
258
- }
259
- _renderItem(item, container) {
260
- clearNode(container);
261
- container.className = '';
262
- try {
263
- item.render(container);
264
- }
265
- catch (err) {
266
- container.innerText = '<<RENDER ERROR>>';
267
- console.error(err);
268
- }
269
- container.tabIndex = -1;
270
- container.setAttribute('role', 'listitem');
271
- container.classList.add('monaco-breadcrumb-item');
272
- const iconContainer = $(ThemeIcon.asCSSSelector(this._separatorIcon));
273
- container.appendChild(iconContainer);
274
- }
275
- _onClick(event) {
276
- if (!this._enabled) {
277
- return;
278
- }
279
- for (let el = event.target; el; el = el.parentElement) {
280
- const idx = this._nodes.indexOf(el);
281
- if (idx >= 0) {
282
- this._focus(idx, event);
283
- this._select(idx, event);
284
- break;
285
- }
286
- }
287
- }
288
- }
289
-
290
- export { BreadcrumbsItem, BreadcrumbsWidget };