55'use strict' ;
66
77import URI from 'vs/base/common/uri' ;
8- import Severity from 'vs/base/common/severity' ;
98import Event from 'vs/base/common/event' ;
109import { createDecorator } from 'vs/platform/instantiation/common/instantiation' ;
10+ import { localize } from 'vs/nls' ;
11+ import Severity from 'vs/base/common/severity' ;
1112
1213export interface IMarkerService {
1314 _serviceBrand : any ;
@@ -37,12 +38,44 @@ export interface IRelatedInformation {
3738 endColumn : number ;
3839}
3940
41+ export enum MarkerSeverity {
42+ Hint = 1 ,
43+ Info = 2 ,
44+ Warning = 4 ,
45+ Error = 8 ,
46+ }
47+
48+ export namespace MarkerSeverity {
49+
50+ export function compare ( a : MarkerSeverity , b : MarkerSeverity ) : number {
51+ return b - a ;
52+ }
53+
54+ const _displayStrings : { [ value : number ] : string ; } = Object . create ( null ) ;
55+ _displayStrings [ MarkerSeverity . Error ] = localize ( 'sev.error' , "Error" ) ;
56+ _displayStrings [ MarkerSeverity . Warning ] = localize ( 'sev.warning' , "Warning" ) ;
57+ _displayStrings [ MarkerSeverity . Info ] = localize ( 'sev.info' , "Info" ) ;
58+
59+ export function toString ( a : MarkerSeverity ) : string {
60+ return _displayStrings [ a ] || '' ;
61+ }
62+
63+ export function fromSeverity ( severity : Severity ) : MarkerSeverity {
64+ switch ( severity ) {
65+ case Severity . Error : return MarkerSeverity . Error ;
66+ case Severity . Warning : return MarkerSeverity . Warning ;
67+ case Severity . Info : return MarkerSeverity . Info ;
68+ case Severity . Ignore : return MarkerSeverity . Hint ;
69+ }
70+ }
71+ }
72+
4073/**
4174 * A structure defining a problem/warning/etc.
4275 */
4376export interface IMarkerData {
4477 code ?: string ;
45- severity : Severity ;
78+ severity : MarkerSeverity ;
4679 message : string ;
4780 source ?: string ;
4881 startLineNumber : number ;
@@ -60,7 +93,7 @@ export interface IResourceMarker {
6093export interface IMarker {
6194 owner : string ;
6295 resource : URI ;
63- severity : Severity ;
96+ severity : MarkerSeverity ;
6497 code ?: string ;
6598 message : string ;
6699 source ?: string ;
@@ -93,7 +126,7 @@ export namespace IMarkerData {
93126 result . push ( emptyString ) ;
94127 }
95128 if ( markerData . severity !== void 0 && markerData . severity !== null ) {
96- result . push ( Severity . toString ( markerData . severity ) ) ;
129+ result . push ( MarkerSeverity . toString ( markerData . severity ) ) ;
97130 } else {
98131 result . push ( emptyString ) ;
99132 }
0 commit comments