提交 72f1942c 编写于 作者: S Sandeep Somavarapu

Sort markers by line number

上级 39de62df
......@@ -72,7 +72,8 @@ export class MarkersModel {
}
private toResource(entry: Map.Entry<URI, IMarker[]>) {
let markers= entry.value.filter(this.filterMarker.bind(this)).map(this.toMarker);
let markers:Marker[]= entry.value.filter(this.filterMarker.bind(this)).map(this.toMarker);
markers.sort(this.compareMarkers.bind(this));
return markers.length > 0 ? new Resource(entry.key, markers, this.getStatistics(entry.value)) : null;
}
......@@ -80,6 +81,36 @@ export class MarkersModel {
return new Marker(marker.resource.toString() + index, marker);
}
private compareMarkers(a: Marker, b:Marker): number {
let result= this.compare(a.marker.startLineNumber, b.marker.startLineNumber);
if (result !== 0) {
return result;
}
result= this.compare(a.marker.startColumn, b.marker.startColumn);
if (result !== 0) {
return result;
}
result= this.compare(a.marker.endLineNumber, b.marker.endLineNumber);
if (result !== 0) {
return result;
}
result= this.compare(a.marker.endColumn, b.marker.endColumn);
if (result !== 0) {
return result;
}
return a.marker.message.localeCompare(b.marker.message);
}
private compare(a: number, b: number): number {
return a < b ? -1
: a > b ? 1
: 0;
}
private filterMarker(marker: IMarker):boolean {
if (this.filterErrors && Severity.Error !== marker.severity) {
return false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册