@codingame/monaco-vscode-markers-service-override 1.83.1 → 1.83.2
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-markers-service-override",
|
|
3
|
-
"version": "1.83.
|
|
3
|
+
"version": "1.83.2",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"module": "index.js",
|
|
19
19
|
"types": "index.d.ts",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"vscode": "npm:@codingame/monaco-vscode-api@1.83.
|
|
21
|
+
"vscode": "npm:@codingame/monaco-vscode-api@1.83.2",
|
|
22
22
|
"monaco-editor": "0.44.0"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -36,10 +36,10 @@ let MarkerSeverityColumnRenderer = class MarkerSeverityColumnRenderer {
|
|
|
36
36
|
const severityColumn = dom.append(container, $('.severity'));
|
|
37
37
|
const icon = dom.append(severityColumn, $(''));
|
|
38
38
|
const actionBarColumn = dom.append(container, $('.actions'));
|
|
39
|
-
const actionBar = (
|
|
39
|
+
const actionBar = ( new ActionBar(actionBarColumn, {
|
|
40
40
|
actionViewItemProvider: (action) => action.id === QuickFixAction.ID ? this.instantiationService.createInstance(QuickFixActionViewItem, action) : undefined,
|
|
41
41
|
animated: false
|
|
42
|
-
}))
|
|
42
|
+
}));
|
|
43
43
|
return { actionBar, icon };
|
|
44
44
|
}
|
|
45
45
|
renderElement(element, index, templateData, height) {
|
|
@@ -49,8 +49,8 @@ let MarkerSeverityColumnRenderer = class MarkerSeverityColumnRenderer {
|
|
|
49
49
|
container.classList.toggle('quickFix', enabled);
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
templateData.icon.title = (
|
|
53
|
-
templateData.icon.className = `marker-icon ${(
|
|
52
|
+
templateData.icon.title = ( MarkerSeverity.toString(element.marker.severity));
|
|
53
|
+
templateData.icon.className = `marker-icon ${( Severity.toString(MarkerSeverity.toSeverity(element.marker.severity)))} codicon ${SeverityIcon.className(MarkerSeverity.toSeverity(element.marker.severity))}`;
|
|
54
54
|
templateData.actionBar.clear();
|
|
55
55
|
const viewModel = this.markersViewModel.getViewModel(element);
|
|
56
56
|
if (viewModel) {
|
|
@@ -68,9 +68,9 @@ let MarkerSeverityColumnRenderer = class MarkerSeverityColumnRenderer {
|
|
|
68
68
|
}
|
|
69
69
|
disposeTemplate(templateData) { }
|
|
70
70
|
};
|
|
71
|
-
MarkerSeverityColumnRenderer = MarkerSeverityColumnRenderer_1 = (
|
|
72
|
-
(
|
|
73
|
-
], MarkerSeverityColumnRenderer))
|
|
71
|
+
MarkerSeverityColumnRenderer = MarkerSeverityColumnRenderer_1 = ( __decorate([
|
|
72
|
+
( __param(1, IInstantiationService))
|
|
73
|
+
], MarkerSeverityColumnRenderer));
|
|
74
74
|
let MarkerCodeColumnRenderer = class MarkerCodeColumnRenderer {
|
|
75
75
|
static { MarkerCodeColumnRenderer_1 = this; }
|
|
76
76
|
static { this.TEMPLATE_ID = 'code'; }
|
|
@@ -80,11 +80,11 @@ let MarkerCodeColumnRenderer = class MarkerCodeColumnRenderer {
|
|
|
80
80
|
}
|
|
81
81
|
renderTemplate(container) {
|
|
82
82
|
const codeColumn = dom.append(container, $('.code'));
|
|
83
|
-
const sourceLabel = (
|
|
83
|
+
const sourceLabel = ( new HighlightedLabel(codeColumn));
|
|
84
84
|
sourceLabel.element.classList.add('source-label');
|
|
85
|
-
const codeLabel = (
|
|
85
|
+
const codeLabel = ( new HighlightedLabel(codeColumn));
|
|
86
86
|
codeLabel.element.classList.add('code-label');
|
|
87
|
-
const codeLink = (
|
|
87
|
+
const codeLink = ( new Link(codeColumn, { href: '', label: '' }, {}, this.openerService));
|
|
88
88
|
return { codeColumn, sourceLabel, codeLabel, codeLink };
|
|
89
89
|
}
|
|
90
90
|
renderElement(element, index, templateData, height) {
|
|
@@ -101,11 +101,11 @@ let MarkerCodeColumnRenderer = class MarkerCodeColumnRenderer {
|
|
|
101
101
|
templateData.codeColumn.classList.add('code-link');
|
|
102
102
|
templateData.codeColumn.title = `${element.marker.source} (${element.marker.code.value})`;
|
|
103
103
|
templateData.sourceLabel.set(element.marker.source, element.sourceMatches);
|
|
104
|
-
const codeLinkLabel = (
|
|
104
|
+
const codeLinkLabel = ( new HighlightedLabel($('.code-link-label')));
|
|
105
105
|
codeLinkLabel.set(element.marker.code.value, element.codeMatches);
|
|
106
106
|
templateData.codeLink.link = {
|
|
107
|
-
href: (
|
|
108
|
-
title: (
|
|
107
|
+
href: ( element.marker.code.target.toString()),
|
|
108
|
+
title: ( element.marker.code.target.toString()),
|
|
109
109
|
label: codeLinkLabel.element,
|
|
110
110
|
};
|
|
111
111
|
}
|
|
@@ -117,9 +117,9 @@ let MarkerCodeColumnRenderer = class MarkerCodeColumnRenderer {
|
|
|
117
117
|
}
|
|
118
118
|
disposeTemplate(templateData) { }
|
|
119
119
|
};
|
|
120
|
-
MarkerCodeColumnRenderer = MarkerCodeColumnRenderer_1 = (
|
|
121
|
-
(
|
|
122
|
-
], MarkerCodeColumnRenderer))
|
|
120
|
+
MarkerCodeColumnRenderer = MarkerCodeColumnRenderer_1 = ( __decorate([
|
|
121
|
+
( __param(0, IOpenerService))
|
|
122
|
+
], MarkerCodeColumnRenderer));
|
|
123
123
|
class MarkerMessageColumnRenderer {
|
|
124
124
|
constructor() {
|
|
125
125
|
this.templateId = MarkerMessageColumnRenderer.TEMPLATE_ID;
|
|
@@ -127,7 +127,7 @@ class MarkerMessageColumnRenderer {
|
|
|
127
127
|
static { this.TEMPLATE_ID = 'message'; }
|
|
128
128
|
renderTemplate(container) {
|
|
129
129
|
const columnElement = dom.append(container, $('.message'));
|
|
130
|
-
const highlightedLabel = (
|
|
130
|
+
const highlightedLabel = ( new HighlightedLabel(columnElement));
|
|
131
131
|
return { columnElement, highlightedLabel };
|
|
132
132
|
}
|
|
133
133
|
renderElement(element, index, templateData, height) {
|
|
@@ -145,9 +145,9 @@ let MarkerFileColumnRenderer = class MarkerFileColumnRenderer {
|
|
|
145
145
|
}
|
|
146
146
|
renderTemplate(container) {
|
|
147
147
|
const columnElement = dom.append(container, $('.file'));
|
|
148
|
-
const fileLabel = (
|
|
148
|
+
const fileLabel = ( new HighlightedLabel(columnElement));
|
|
149
149
|
fileLabel.element.classList.add('file-label');
|
|
150
|
-
const positionLabel = (
|
|
150
|
+
const positionLabel = ( new HighlightedLabel(columnElement));
|
|
151
151
|
positionLabel.element.classList.add('file-position');
|
|
152
152
|
return { columnElement, fileLabel, positionLabel };
|
|
153
153
|
}
|
|
@@ -159,9 +159,9 @@ let MarkerFileColumnRenderer = class MarkerFileColumnRenderer {
|
|
|
159
159
|
}
|
|
160
160
|
disposeTemplate(templateData) { }
|
|
161
161
|
};
|
|
162
|
-
MarkerFileColumnRenderer = MarkerFileColumnRenderer_1 = (
|
|
163
|
-
(
|
|
164
|
-
], MarkerFileColumnRenderer))
|
|
162
|
+
MarkerFileColumnRenderer = MarkerFileColumnRenderer_1 = ( __decorate([
|
|
163
|
+
( __param(0, ILabelService))
|
|
164
|
+
], MarkerFileColumnRenderer));
|
|
165
165
|
class MarkerOwnerColumnRenderer {
|
|
166
166
|
constructor() {
|
|
167
167
|
this.templateId = MarkerOwnerColumnRenderer.TEMPLATE_ID;
|
|
@@ -169,7 +169,7 @@ class MarkerOwnerColumnRenderer {
|
|
|
169
169
|
static { this.TEMPLATE_ID = 'owner'; }
|
|
170
170
|
renderTemplate(container) {
|
|
171
171
|
const columnElement = dom.append(container, $('.owner'));
|
|
172
|
-
const highlightedLabel = (
|
|
172
|
+
const highlightedLabel = ( new HighlightedLabel(columnElement));
|
|
173
173
|
return { columnElement, highlightedLabel };
|
|
174
174
|
}
|
|
175
175
|
renderElement(element, index, templateData, height) {
|
|
@@ -198,7 +198,7 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
198
198
|
this.instantiationService = instantiationService;
|
|
199
199
|
this.labelService = labelService;
|
|
200
200
|
this._itemCount = 0;
|
|
201
|
-
this.table = this.instantiationService.createInstance(WorkbenchTable, 'Markers', this.container, (
|
|
201
|
+
this.table = this.instantiationService.createInstance(WorkbenchTable, 'Markers', this.container, ( new MarkersTableVirtualDelegate()), [
|
|
202
202
|
{
|
|
203
203
|
label: '',
|
|
204
204
|
tooltip: '',
|
|
@@ -209,7 +209,7 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
209
209
|
project(row) { return row; }
|
|
210
210
|
},
|
|
211
211
|
{
|
|
212
|
-
label: (
|
|
212
|
+
label: ( localize('codeColumnLabel', "Code")),
|
|
213
213
|
tooltip: '',
|
|
214
214
|
weight: 1,
|
|
215
215
|
minimumWidth: 100,
|
|
@@ -218,21 +218,21 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
218
218
|
project(row) { return row; }
|
|
219
219
|
},
|
|
220
220
|
{
|
|
221
|
-
label: (
|
|
221
|
+
label: ( localize('messageColumnLabel', "Message")),
|
|
222
222
|
tooltip: '',
|
|
223
223
|
weight: 4,
|
|
224
224
|
templateId: MarkerMessageColumnRenderer.TEMPLATE_ID,
|
|
225
225
|
project(row) { return row; }
|
|
226
226
|
},
|
|
227
227
|
{
|
|
228
|
-
label: (
|
|
228
|
+
label: ( localize('fileColumnLabel', "File")),
|
|
229
229
|
tooltip: '',
|
|
230
230
|
weight: 2,
|
|
231
231
|
templateId: MarkerFileColumnRenderer.TEMPLATE_ID,
|
|
232
232
|
project(row) { return row; }
|
|
233
233
|
},
|
|
234
234
|
{
|
|
235
|
-
label: (
|
|
235
|
+
label: ( localize('sourceColumnLabel', "Source")),
|
|
236
236
|
tooltip: '',
|
|
237
237
|
weight: 1,
|
|
238
238
|
minimumWidth: 100,
|
|
@@ -248,15 +248,12 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
248
248
|
this.instantiationService.createInstance(MarkerOwnerColumnRenderer),
|
|
249
249
|
], options);
|
|
250
250
|
const list = this.table.domNode.querySelector('.monaco-list-rows');
|
|
251
|
-
const onRowHover = Event.chain(this._register((
|
|
251
|
+
const onRowHover = Event.chain(this._register(( new DomEmitter(list, 'mouseover'))).event, $ => ( ( $.map(
|
|
252
252
|
e => dom.findParentWithClass(e.target, 'monaco-list-row', 'monaco-list-rows')
|
|
253
|
-
))
|
|
253
|
+
))
|
|
254
254
|
.filter(((e) => !!e))
|
|
255
|
-
.map(e => parseInt(e.getAttribute('data-index')))))
|
|
256
|
-
const onListLeave = (
|
|
257
|
-
this._register(( (new DomEmitter(list, 'mouseleave')))).event,
|
|
258
|
-
() => -1
|
|
259
|
-
)));
|
|
255
|
+
.map(e => parseInt(e.getAttribute('data-index')))));
|
|
256
|
+
const onListLeave = ( Event.map(this._register(( new DomEmitter(list, 'mouseleave'))).event, () => -1));
|
|
260
257
|
const onRowHoverOrLeave = Event.latch(Event.any(onRowHover, onListLeave));
|
|
261
258
|
const onRowPermanentHover = Event.debounce(onRowHoverOrLeave, (_, e) => e, 500);
|
|
262
259
|
this._register(onRowPermanentHover(e => {
|
|
@@ -290,7 +287,7 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
290
287
|
}
|
|
291
288
|
getFocus() {
|
|
292
289
|
const focus = this.table.getFocus();
|
|
293
|
-
return focus.length > 0 ? [...(
|
|
290
|
+
return focus.length > 0 ? [...( focus.map(f => this.table.row(f)))] : [];
|
|
294
291
|
}
|
|
295
292
|
getHTMLElement() {
|
|
296
293
|
return this.table.getHTMLElement();
|
|
@@ -300,7 +297,7 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
300
297
|
}
|
|
301
298
|
getSelection() {
|
|
302
299
|
const selection = this.table.getSelection();
|
|
303
|
-
return selection.length > 0 ? [...(
|
|
300
|
+
return selection.length > 0 ? [...( selection.map(i => this.table.row(i)))] : [];
|
|
304
301
|
}
|
|
305
302
|
getVisibleItemCount() {
|
|
306
303
|
return this._itemCount;
|
|
@@ -317,14 +314,14 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
317
314
|
const items = [];
|
|
318
315
|
for (const resourceMarker of this.resourceMarkers) {
|
|
319
316
|
for (const marker of resourceMarker.markers) {
|
|
320
|
-
if ((
|
|
317
|
+
if (( unsupportedSchemas.has(marker.resource.scheme))) {
|
|
321
318
|
continue;
|
|
322
319
|
}
|
|
323
320
|
if (this.filterOptions.excludesMatcher.matches(marker.resource)) {
|
|
324
321
|
continue;
|
|
325
322
|
}
|
|
326
323
|
if (this.filterOptions.includesMatcher.matches(marker.resource)) {
|
|
327
|
-
items.push((
|
|
324
|
+
items.push(( new MarkerTableItem(marker)));
|
|
328
325
|
continue;
|
|
329
326
|
}
|
|
330
327
|
const matchesSeverity = this.filterOptions.showErrors && MarkerSeverity.Error === marker.marker.severity ||
|
|
@@ -341,18 +338,18 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
341
338
|
const ownerMatches = FilterOptions._messageFilter(this.filterOptions.textFilter.text, marker.marker.owner) ?? undefined;
|
|
342
339
|
const matched = sourceMatches || codeMatches || messageMatches || fileMatches || ownerMatches;
|
|
343
340
|
if ((matched && !this.filterOptions.textFilter.negate) || (!matched && this.filterOptions.textFilter.negate)) {
|
|
344
|
-
items.push((
|
|
341
|
+
items.push(( new MarkerTableItem(
|
|
345
342
|
marker,
|
|
346
343
|
sourceMatches,
|
|
347
344
|
codeMatches,
|
|
348
345
|
messageMatches,
|
|
349
346
|
fileMatches,
|
|
350
347
|
ownerMatches
|
|
351
|
-
)))
|
|
348
|
+
)));
|
|
352
349
|
}
|
|
353
350
|
continue;
|
|
354
351
|
}
|
|
355
|
-
items.push((
|
|
352
|
+
items.push(( new MarkerTableItem(marker)));
|
|
356
353
|
}
|
|
357
354
|
}
|
|
358
355
|
this._itemCount = items.length;
|
|
@@ -398,9 +395,9 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
398
395
|
setMarkerSelection(selection, focus) {
|
|
399
396
|
if (this.isVisible()) {
|
|
400
397
|
if (selection && selection.length > 0) {
|
|
401
|
-
this.table.setSelection((
|
|
398
|
+
this.table.setSelection(( selection.map(m => this.findMarkerIndex(m))));
|
|
402
399
|
if (focus && focus.length > 0) {
|
|
403
|
-
this.table.setFocus((
|
|
400
|
+
this.table.setFocus(( focus.map(f => this.findMarkerIndex(f))));
|
|
404
401
|
}
|
|
405
402
|
else {
|
|
406
403
|
this.table.setFocus([this.findMarkerIndex(selection[0])]);
|
|
@@ -439,7 +436,7 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
439
436
|
const selectedElement = this.getSelection();
|
|
440
437
|
if (selectedElement && selectedElement.length > 0) {
|
|
441
438
|
if (selectedElement[0] instanceof Marker) {
|
|
442
|
-
if ((
|
|
439
|
+
if (( resource.has(selectedElement[0].marker.resource))) {
|
|
443
440
|
return true;
|
|
444
441
|
}
|
|
445
442
|
}
|
|
@@ -447,9 +444,9 @@ let MarkersTable = class MarkersTable extends Disposable {
|
|
|
447
444
|
return false;
|
|
448
445
|
}
|
|
449
446
|
};
|
|
450
|
-
MarkersTable = (
|
|
451
|
-
(
|
|
452
|
-
(
|
|
453
|
-
], MarkersTable))
|
|
447
|
+
MarkersTable = ( __decorate([
|
|
448
|
+
( __param(5, IInstantiationService)),
|
|
449
|
+
( __param(6, ILabelService))
|
|
450
|
+
], MarkersTable));
|
|
454
451
|
|
|
455
452
|
export { MarkersTable };
|
|
@@ -45,9 +45,7 @@ let MarkersWidgetAccessibilityProvider = class MarkersWidgetAccessibilityProvide
|
|
|
45
45
|
this.labelService = labelService;
|
|
46
46
|
}
|
|
47
47
|
getWidgetAriaLabel() {
|
|
48
|
-
return (
|
|
49
|
-
(localize('problemsView', "Problems View"))
|
|
50
|
-
);
|
|
48
|
+
return ( localize('problemsView', "Problems View"));
|
|
51
49
|
}
|
|
52
50
|
getAriaLabel(element) {
|
|
53
51
|
if (element instanceof ResourceMarkers) {
|
|
@@ -63,9 +61,9 @@ let MarkersWidgetAccessibilityProvider = class MarkersWidgetAccessibilityProvide
|
|
|
63
61
|
return null;
|
|
64
62
|
}
|
|
65
63
|
};
|
|
66
|
-
MarkersWidgetAccessibilityProvider = (
|
|
67
|
-
(
|
|
68
|
-
], MarkersWidgetAccessibilityProvider))
|
|
64
|
+
MarkersWidgetAccessibilityProvider = ( __decorate([
|
|
65
|
+
( __param(0, ILabelService))
|
|
66
|
+
], MarkersWidgetAccessibilityProvider));
|
|
69
67
|
class VirtualDelegate {
|
|
70
68
|
static { this.LINE_HEIGHT = 22; }
|
|
71
69
|
constructor(markersViewState) {
|
|
@@ -96,8 +94,8 @@ let ResourceMarkersRenderer = class ResourceMarkersRenderer {
|
|
|
96
94
|
this.labels = labels;
|
|
97
95
|
this.labelService = labelService;
|
|
98
96
|
this.fileService = fileService;
|
|
99
|
-
this.renderedNodes = (
|
|
100
|
-
this.disposables = (
|
|
97
|
+
this.renderedNodes = ( new Map());
|
|
98
|
+
this.disposables = ( new DisposableStore());
|
|
101
99
|
this.templateId = "rm" ;
|
|
102
100
|
onDidChangeRenderNodeCount(this.onDidChangeRenderNodeCount, this, this.disposables);
|
|
103
101
|
}
|
|
@@ -105,7 +103,7 @@ let ResourceMarkersRenderer = class ResourceMarkersRenderer {
|
|
|
105
103
|
const resourceLabelContainer = dom.append(container, dom.$('.resource-label-container'));
|
|
106
104
|
const resourceLabel = this.labels.create(resourceLabelContainer, { supportHighlights: true });
|
|
107
105
|
const badgeWrapper = dom.append(container, dom.$('.count-badge-wrapper'));
|
|
108
|
-
const count = (
|
|
106
|
+
const count = ( new CountBadge(badgeWrapper, {}, defaultCountBadgeStyles));
|
|
109
107
|
return { count, resourceLabel };
|
|
110
108
|
}
|
|
111
109
|
renderElement(node, _, templateData) {
|
|
@@ -140,10 +138,10 @@ let ResourceMarkersRenderer = class ResourceMarkersRenderer {
|
|
|
140
138
|
this.disposables.dispose();
|
|
141
139
|
}
|
|
142
140
|
};
|
|
143
|
-
ResourceMarkersRenderer = (
|
|
144
|
-
(
|
|
145
|
-
(
|
|
146
|
-
], ResourceMarkersRenderer))
|
|
141
|
+
ResourceMarkersRenderer = ( __decorate([
|
|
142
|
+
( __param(2, ILabelService)),
|
|
143
|
+
( __param(3, IFileService))
|
|
144
|
+
], ResourceMarkersRenderer));
|
|
147
145
|
let MarkerRenderer = class MarkerRenderer {
|
|
148
146
|
constructor(markersViewState, instantiationService, openerService) {
|
|
149
147
|
this.markersViewState = markersViewState;
|
|
@@ -153,12 +151,12 @@ let MarkerRenderer = class MarkerRenderer {
|
|
|
153
151
|
}
|
|
154
152
|
renderTemplate(container) {
|
|
155
153
|
const data = Object.create(null);
|
|
156
|
-
data.markerWidget = (
|
|
154
|
+
data.markerWidget = ( new MarkerWidget(
|
|
157
155
|
container,
|
|
158
156
|
this.markersViewState,
|
|
159
157
|
this.openerService,
|
|
160
158
|
this.instantiationService
|
|
161
|
-
))
|
|
159
|
+
));
|
|
162
160
|
return data;
|
|
163
161
|
}
|
|
164
162
|
renderElement(node, _, templateData) {
|
|
@@ -168,18 +166,18 @@ let MarkerRenderer = class MarkerRenderer {
|
|
|
168
166
|
templateData.markerWidget.dispose();
|
|
169
167
|
}
|
|
170
168
|
};
|
|
171
|
-
MarkerRenderer = (
|
|
172
|
-
(
|
|
173
|
-
(
|
|
174
|
-
], MarkerRenderer))
|
|
175
|
-
const expandedIcon = registerIcon('markers-view-multi-line-expanded', Codicon.chevronUp, (
|
|
169
|
+
MarkerRenderer = ( __decorate([
|
|
170
|
+
( __param(1, IInstantiationService)),
|
|
171
|
+
( __param(2, IOpenerService))
|
|
172
|
+
], MarkerRenderer));
|
|
173
|
+
const expandedIcon = registerIcon('markers-view-multi-line-expanded', Codicon.chevronUp, ( localize(
|
|
176
174
|
'expandedIcon',
|
|
177
175
|
'Icon indicating that multiple lines are shown in the markers view.'
|
|
178
|
-
)))
|
|
179
|
-
const collapsedIcon = registerIcon('markers-view-multi-line-collapsed', Codicon.chevronDown, (
|
|
176
|
+
)));
|
|
177
|
+
const collapsedIcon = registerIcon('markers-view-multi-line-collapsed', Codicon.chevronDown, ( localize(
|
|
180
178
|
'collapsedIcon',
|
|
181
179
|
'Icon indicating that multiple lines are collapsed in the markers view.'
|
|
182
|
-
)))
|
|
180
|
+
)));
|
|
183
181
|
const toggleMultilineAction = 'problems.action.toggleMultiline';
|
|
184
182
|
class ToggleMultilineActionViewItem extends ActionViewItem {
|
|
185
183
|
render(container) {
|
|
@@ -200,10 +198,10 @@ class MarkerWidget extends Disposable {
|
|
|
200
198
|
this.parent = parent;
|
|
201
199
|
this.markersViewModel = markersViewModel;
|
|
202
200
|
this._openerService = _openerService;
|
|
203
|
-
this.disposables = this._register((
|
|
204
|
-
this.actionBar = this._register((
|
|
201
|
+
this.disposables = this._register(( new DisposableStore()));
|
|
202
|
+
this.actionBar = this._register(( new ActionBar(dom.append(parent, dom.$('.actions')), {
|
|
205
203
|
actionViewItemProvider: (action) => action.id === QuickFixAction.ID ? _instantiationService.createInstance(QuickFixActionViewItem, action) : undefined
|
|
206
|
-
})))
|
|
204
|
+
})));
|
|
207
205
|
this.iconContainer = dom.append(parent, dom.$(''));
|
|
208
206
|
this.icon = dom.append(this.iconContainer, dom.$(''));
|
|
209
207
|
this.messageAndDetailsContainer = dom.append(parent, dom.$('.marker-message-details-container'));
|
|
@@ -212,7 +210,7 @@ class MarkerWidget extends Disposable {
|
|
|
212
210
|
this.actionBar.clear();
|
|
213
211
|
this.disposables.clear();
|
|
214
212
|
dom.clearNode(this.messageAndDetailsContainer);
|
|
215
|
-
this.iconContainer.className = `marker-icon ${(
|
|
213
|
+
this.iconContainer.className = `marker-icon ${( Severity.toString(MarkerSeverity.toSeverity(element.marker.severity)))}`;
|
|
216
214
|
this.icon.className = `codicon ${SeverityIcon.className(MarkerSeverity.toSeverity(element.marker.severity))}`;
|
|
217
215
|
this.renderQuickfixActionbar(element);
|
|
218
216
|
this.renderMessageAndDetails(element, filterData);
|
|
@@ -239,22 +237,20 @@ class MarkerWidget extends Disposable {
|
|
|
239
237
|
}
|
|
240
238
|
}
|
|
241
239
|
renderMultilineActionbar(marker, parent) {
|
|
242
|
-
const multilineActionbar = this.disposables.add((
|
|
240
|
+
const multilineActionbar = this.disposables.add(( new ActionBar(dom.append(parent, dom.$('.multiline-actions')), {
|
|
243
241
|
actionViewItemProvider: (action) => {
|
|
244
242
|
if (action.id === toggleMultilineAction) {
|
|
245
|
-
return (
|
|
246
|
-
(new ToggleMultilineActionViewItem(undefined, action, { icon: true }))
|
|
247
|
-
);
|
|
243
|
+
return ( new ToggleMultilineActionViewItem(undefined, action, { icon: true }));
|
|
248
244
|
}
|
|
249
245
|
return undefined;
|
|
250
246
|
}
|
|
251
|
-
})))
|
|
247
|
+
})));
|
|
252
248
|
this.disposables.add(toDisposable(() => multilineActionbar.dispose()));
|
|
253
249
|
const viewModel = this.markersViewModel.getViewModel(marker);
|
|
254
250
|
const multiline = viewModel && viewModel.multiline;
|
|
255
|
-
const action = (
|
|
251
|
+
const action = ( new Action(toggleMultilineAction));
|
|
256
252
|
action.enabled = !!viewModel && marker.lines.length > 1;
|
|
257
|
-
action.tooltip = multiline ? (
|
|
253
|
+
action.tooltip = multiline ? ( localize('single line', "Show message in single line")) : ( localize('multi line', "Show message in multiple lines"));
|
|
258
254
|
action.class = ThemeIcon.asClassName(multiline ? expandedIcon : collapsedIcon);
|
|
259
255
|
action.run = () => { if (viewModel) {
|
|
260
256
|
viewModel.multiline = !viewModel.multiline;
|
|
@@ -271,7 +267,7 @@ class MarkerWidget extends Disposable {
|
|
|
271
267
|
for (let index = 0; index < (multiline ? lines.length : 1); index++) {
|
|
272
268
|
const lineElement = dom.append(this.messageAndDetailsContainer, dom.$('.marker-message-line'));
|
|
273
269
|
const messageElement = dom.append(lineElement, dom.$('.marker-message'));
|
|
274
|
-
const highlightedLabel = (
|
|
270
|
+
const highlightedLabel = ( new HighlightedLabel(messageElement));
|
|
275
271
|
highlightedLabel.set(lines[index].length > 1000 ? `${lines[index].substring(0, 1000)}...` : lines[index], lineMatches[index]);
|
|
276
272
|
if (lines[index] === '') {
|
|
277
273
|
lineElement.style.height = `${VirtualDelegate.LINE_HEIGHT}px`;
|
|
@@ -284,25 +280,25 @@ class MarkerWidget extends Disposable {
|
|
|
284
280
|
renderDetails(marker, filterData, parent) {
|
|
285
281
|
parent.classList.add('details-container');
|
|
286
282
|
if (marker.source || marker.code) {
|
|
287
|
-
const source = (
|
|
283
|
+
const source = ( new HighlightedLabel(dom.append(parent, dom.$('.marker-source'))));
|
|
288
284
|
const sourceMatches = filterData && filterData.sourceMatches || [];
|
|
289
285
|
source.set(marker.source, sourceMatches);
|
|
290
286
|
if (marker.code) {
|
|
291
287
|
if (typeof marker.code === 'string') {
|
|
292
|
-
const code = (
|
|
288
|
+
const code = ( new HighlightedLabel(dom.append(parent, dom.$('.marker-code'))));
|
|
293
289
|
const codeMatches = filterData && filterData.codeMatches || [];
|
|
294
290
|
code.set(marker.code, codeMatches);
|
|
295
291
|
}
|
|
296
292
|
else {
|
|
297
293
|
const container = dom.$('.marker-code');
|
|
298
|
-
const code = (
|
|
299
|
-
const link = (
|
|
300
|
-
this.disposables.add((
|
|
294
|
+
const code = ( new HighlightedLabel(container));
|
|
295
|
+
const link = ( marker.code.target.toString(true));
|
|
296
|
+
this.disposables.add(( new Link(
|
|
301
297
|
parent,
|
|
302
298
|
{ href: link, label: container, title: link },
|
|
303
299
|
undefined,
|
|
304
300
|
this._openerService
|
|
305
|
-
)))
|
|
301
|
+
)));
|
|
306
302
|
const codeMatches = filterData && filterData.codeMatches || [];
|
|
307
303
|
code.set(marker.code.value, codeMatches);
|
|
308
304
|
}
|
|
@@ -321,12 +317,12 @@ let RelatedInformationRenderer = class RelatedInformationRenderer {
|
|
|
321
317
|
const data = Object.create(null);
|
|
322
318
|
dom.append(container, dom.$('.actions'));
|
|
323
319
|
dom.append(container, dom.$('.icon'));
|
|
324
|
-
data.resourceLabel = (
|
|
320
|
+
data.resourceLabel = ( new HighlightedLabel(dom.append(container, dom.$('.related-info-resource'))));
|
|
325
321
|
data.lnCol = dom.append(container, dom.$('span.marker-line'));
|
|
326
322
|
const separator = dom.append(container, dom.$('span.related-info-resource-separator'));
|
|
327
323
|
separator.textContent = ':';
|
|
328
324
|
separator.style.paddingRight = '4px';
|
|
329
|
-
data.description = (
|
|
325
|
+
data.description = ( new HighlightedLabel(dom.append(container, dom.$('.marker-description'))));
|
|
330
326
|
return data;
|
|
331
327
|
}
|
|
332
328
|
renderElement(node, _, templateData) {
|
|
@@ -342,9 +338,9 @@ let RelatedInformationRenderer = class RelatedInformationRenderer {
|
|
|
342
338
|
disposeTemplate(templateData) {
|
|
343
339
|
}
|
|
344
340
|
};
|
|
345
|
-
RelatedInformationRenderer = (
|
|
346
|
-
(
|
|
347
|
-
], RelatedInformationRenderer))
|
|
341
|
+
RelatedInformationRenderer = ( __decorate([
|
|
342
|
+
( __param(0, ILabelService))
|
|
343
|
+
], RelatedInformationRenderer));
|
|
348
344
|
class Filter {
|
|
349
345
|
constructor(options) {
|
|
350
346
|
this.options = options;
|
|
@@ -361,7 +357,7 @@ class Filter {
|
|
|
361
357
|
}
|
|
362
358
|
}
|
|
363
359
|
filterResourceMarkers(resourceMarkers) {
|
|
364
|
-
if ((
|
|
360
|
+
if (( unsupportedSchemas.has(resourceMarkers.resource.scheme))) {
|
|
365
361
|
return false;
|
|
366
362
|
}
|
|
367
363
|
if (this.options.excludesMatcher.matches(resourceMarkers.resource)) {
|
|
@@ -395,7 +391,7 @@ class Filter {
|
|
|
395
391
|
}
|
|
396
392
|
const sourceMatches = marker.marker.source ? FilterOptions._filter(this.options.textFilter.text, marker.marker.source) : undefined;
|
|
397
393
|
const codeMatches = marker.marker.code ? FilterOptions._filter(this.options.textFilter.text, typeof marker.marker.code === 'string' ? marker.marker.code : marker.marker.code.value) : undefined;
|
|
398
|
-
const matched = sourceMatches || codeMatches || (
|
|
394
|
+
const matched = sourceMatches || codeMatches || ( lineMatches.some(lineMatch => lineMatch.length > 0));
|
|
399
395
|
if (matched && !this.options.textFilter.negate) {
|
|
400
396
|
return { visibility: true, data: { type: 1 , lineMatches, sourceMatches: sourceMatches || [], codeMatches: codeMatches || [] } };
|
|
401
397
|
}
|
|
@@ -434,7 +430,7 @@ let MarkerViewModel = class MarkerViewModel extends Disposable {
|
|
|
434
430
|
this.instantiationService = instantiationService;
|
|
435
431
|
this.editorService = editorService;
|
|
436
432
|
this.languageFeaturesService = languageFeaturesService;
|
|
437
|
-
this._onDidChange = this._register((
|
|
433
|
+
this._onDidChange = this._register(( new Emitter()));
|
|
438
434
|
this.onDidChange = this._onDidChange.event;
|
|
439
435
|
this.modelPromise = null;
|
|
440
436
|
this.codeActionsPromise = null;
|
|
@@ -481,12 +477,12 @@ let MarkerViewModel = class MarkerViewModel extends Disposable {
|
|
|
481
477
|
if (model) {
|
|
482
478
|
if (!this.codeActionsPromise) {
|
|
483
479
|
this.codeActionsPromise = createCancelablePromise(cancellationToken => {
|
|
484
|
-
return getCodeActions(this.languageFeaturesService.codeActionProvider, model, (
|
|
480
|
+
return getCodeActions(this.languageFeaturesService.codeActionProvider, model, ( new Range(
|
|
485
481
|
this.marker.range.startLineNumber,
|
|
486
482
|
this.marker.range.startColumn,
|
|
487
483
|
this.marker.range.endLineNumber,
|
|
488
484
|
this.marker.range.endColumn
|
|
489
|
-
))
|
|
485
|
+
)), {
|
|
490
486
|
type: 1 , triggerAction: CodeActionTriggerSource.ProblemsView, filter: { include: CodeActionKind.QuickFix }
|
|
491
487
|
}, Progress.None, cancellationToken).then(actions => {
|
|
492
488
|
return this._register(actions);
|
|
@@ -499,18 +495,16 @@ let MarkerViewModel = class MarkerViewModel extends Disposable {
|
|
|
499
495
|
});
|
|
500
496
|
}
|
|
501
497
|
toActions(codeActions) {
|
|
502
|
-
return (
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
()
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
)))))
|
|
513
|
-
);
|
|
498
|
+
return ( codeActions.validActions.map(item => ( new Action(
|
|
499
|
+
item.action.command ? item.action.command.id : item.action.title,
|
|
500
|
+
item.action.title,
|
|
501
|
+
undefined,
|
|
502
|
+
true,
|
|
503
|
+
() => {
|
|
504
|
+
return this.openFileAtMarker(this.marker)
|
|
505
|
+
.then(() => this.instantiationService.invokeFunction(applyCodeAction, item, ApplyCodeActionReason.FromProblemsView));
|
|
506
|
+
}
|
|
507
|
+
))));
|
|
514
508
|
}
|
|
515
509
|
openFileAtMarker(element) {
|
|
516
510
|
const { resource, selection } = { resource: element.resource, selection: element.range };
|
|
@@ -532,15 +526,13 @@ let MarkerViewModel = class MarkerViewModel extends Disposable {
|
|
|
532
526
|
if (waitForModel) {
|
|
533
527
|
if (!this.modelPromise) {
|
|
534
528
|
this.modelPromise = createCancelablePromise(cancellationToken => {
|
|
535
|
-
return (
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
}))
|
|
543
|
-
);
|
|
529
|
+
return ( new Promise((c) => {
|
|
530
|
+
this._register(this.modelService.onModelAdded(model => {
|
|
531
|
+
if (isEqual(model.uri, this.marker.resource)) {
|
|
532
|
+
c(model);
|
|
533
|
+
}
|
|
534
|
+
}));
|
|
535
|
+
}));
|
|
544
536
|
});
|
|
545
537
|
}
|
|
546
538
|
return this.modelPromise;
|
|
@@ -548,26 +540,26 @@ let MarkerViewModel = class MarkerViewModel extends Disposable {
|
|
|
548
540
|
return Promise.resolve(null);
|
|
549
541
|
}
|
|
550
542
|
};
|
|
551
|
-
MarkerViewModel = (
|
|
552
|
-
(
|
|
553
|
-
(
|
|
554
|
-
(
|
|
555
|
-
(
|
|
556
|
-
], MarkerViewModel))
|
|
543
|
+
MarkerViewModel = ( __decorate([
|
|
544
|
+
( __param(1, IModelService)),
|
|
545
|
+
( __param(2, IInstantiationService)),
|
|
546
|
+
( __param(3, IEditorService)),
|
|
547
|
+
( __param(4, ILanguageFeaturesService))
|
|
548
|
+
], MarkerViewModel));
|
|
557
549
|
let MarkersViewModel = class MarkersViewModel extends Disposable {
|
|
558
550
|
constructor(multiline = true, viewMode = "tree" , contextKeyService, instantiationService) {
|
|
559
551
|
super();
|
|
560
552
|
this.contextKeyService = contextKeyService;
|
|
561
553
|
this.instantiationService = instantiationService;
|
|
562
|
-
this._onDidChange = this._register((
|
|
554
|
+
this._onDidChange = this._register(( new Emitter()));
|
|
563
555
|
this.onDidChange = this._onDidChange.event;
|
|
564
|
-
this._onDidChangeViewMode = this._register((
|
|
556
|
+
this._onDidChangeViewMode = this._register(( new Emitter()));
|
|
565
557
|
this.onDidChangeViewMode = this._onDidChangeViewMode.event;
|
|
566
|
-
this.markersViewStates = (
|
|
567
|
-
this.markersPerResource = (
|
|
558
|
+
this.markersViewStates = ( new Map());
|
|
559
|
+
this.markersPerResource = ( new Map());
|
|
568
560
|
this.bulkUpdate = false;
|
|
569
561
|
this.hoveredMarker = null;
|
|
570
|
-
this.hoverDelayer = (
|
|
562
|
+
this.hoverDelayer = ( new Delayer(300));
|
|
571
563
|
this._multiline = true;
|
|
572
564
|
this._viewMode = "tree" ;
|
|
573
565
|
this._multiline = multiline;
|
|
@@ -576,7 +568,7 @@ let MarkersViewModel = class MarkersViewModel extends Disposable {
|
|
|
576
568
|
this.viewModeContextKey.set(viewMode);
|
|
577
569
|
}
|
|
578
570
|
add(marker) {
|
|
579
|
-
if (!(
|
|
571
|
+
if (!( this.markersViewStates.has(marker.id))) {
|
|
580
572
|
const viewModel = this.instantiationService.createInstance(MarkerViewModel, marker);
|
|
581
573
|
const disposables = [viewModel];
|
|
582
574
|
viewModel.multiline = this.multiline;
|
|
@@ -586,13 +578,13 @@ let MarkersViewModel = class MarkersViewModel extends Disposable {
|
|
|
586
578
|
}
|
|
587
579
|
}, this, disposables);
|
|
588
580
|
this.markersViewStates.set(marker.id, { viewModel, disposables });
|
|
589
|
-
const markers = this.markersPerResource.get((
|
|
581
|
+
const markers = this.markersPerResource.get(( marker.resource.toString())) || [];
|
|
590
582
|
markers.push(marker);
|
|
591
|
-
this.markersPerResource.set((
|
|
583
|
+
this.markersPerResource.set(( marker.resource.toString()), markers);
|
|
592
584
|
}
|
|
593
585
|
}
|
|
594
586
|
remove(resource) {
|
|
595
|
-
const markers = this.markersPerResource.get((
|
|
587
|
+
const markers = this.markersPerResource.get(( resource.toString())) || [];
|
|
596
588
|
for (const marker of markers) {
|
|
597
589
|
const value = this.markersViewStates.get(marker.id);
|
|
598
590
|
if (value) {
|
|
@@ -603,7 +595,7 @@ let MarkersViewModel = class MarkersViewModel extends Disposable {
|
|
|
603
595
|
this.hoveredMarker = null;
|
|
604
596
|
}
|
|
605
597
|
}
|
|
606
|
-
this.markersPerResource.delete((
|
|
598
|
+
this.markersPerResource.delete(( resource.toString()));
|
|
607
599
|
}
|
|
608
600
|
getViewModel(marker) {
|
|
609
601
|
const value = this.markersViewStates.get(marker.id);
|
|
@@ -664,9 +656,9 @@ let MarkersViewModel = class MarkersViewModel extends Disposable {
|
|
|
664
656
|
super.dispose();
|
|
665
657
|
}
|
|
666
658
|
};
|
|
667
|
-
MarkersViewModel = (
|
|
668
|
-
(
|
|
669
|
-
(
|
|
670
|
-
], MarkersViewModel))
|
|
659
|
+
MarkersViewModel = ( __decorate([
|
|
660
|
+
( __param(2, IContextKeyService)),
|
|
661
|
+
( __param(3, IInstantiationService))
|
|
662
|
+
], MarkersViewModel));
|
|
671
663
|
|
|
672
664
|
export { Filter, MarkerRenderer, MarkerViewModel, MarkersViewModel, MarkersWidgetAccessibilityProvider, RelatedInformationRenderer, ResourceMarkersRenderer, VirtualDelegate };
|