mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-17 09:23:32 +01:00
switch to enum
This commit is contained in:
@@ -47,27 +47,20 @@ export class MarkerList {
|
||||
this._resourceFilter = resourceFilter;
|
||||
}
|
||||
|
||||
const sortOrder = this._configService.getValue<string[]>('problems.sortOrder');
|
||||
const compareOrder = this._configService.getValue<string>('problems.compareOrder');
|
||||
const compareMarker = (a: IMarker, b: IMarker): number => {
|
||||
let res = 0;
|
||||
for (let i = 0; i < sortOrder.length; i++) {
|
||||
let res = compare(a.resource.toString(), b.resource.toString());
|
||||
const compareSeverity = () => { res = MarkerSeverity.compare(a.severity, b.severity); };
|
||||
const comparePosition = () => { res = Range.compareRangesUsingStarts(a, b); };
|
||||
let runnables = [compareSeverity, comparePosition];
|
||||
if (compareOrder === 'position') {
|
||||
runnables = [comparePosition, compareSeverity];
|
||||
}
|
||||
for (let i = 0; i < runnables.length; i++) {
|
||||
if (res !== 0) {
|
||||
break;
|
||||
}
|
||||
switch (sortOrder[i]) {
|
||||
case 'resource':
|
||||
res = compare(a.resource.toString(), b.resource.toString());
|
||||
break;
|
||||
case 'severity':
|
||||
res = MarkerSeverity.compare(a.severity, b.severity);
|
||||
break;
|
||||
case 'starts':
|
||||
res = Range.compareRangesUsingStarts(a, b);
|
||||
break;
|
||||
case 'ends':
|
||||
res = Range.compareRangesUsingEnds(a, b);
|
||||
break;
|
||||
}
|
||||
runnables[i]();
|
||||
}
|
||||
return res;
|
||||
};
|
||||
|
||||
@@ -101,10 +101,10 @@ Registry.as<IConfigurationRegistry>(Extensions.Configuration).registerConfigurat
|
||||
'type': 'boolean',
|
||||
'default': false
|
||||
},
|
||||
'problems.sortOrder': {
|
||||
'description': 'TODO',
|
||||
'type': 'array',
|
||||
'default': ['resource', 'severity', 'starts'],
|
||||
'problems.compareOrder': {
|
||||
'type': 'string',
|
||||
'default': ['severity'],
|
||||
'enum': ['severity', 'position'],
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user