UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

101 lines (99 loc) 2.84 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Event } from '@sussudio/base/common/event.mjs'; import Severity from '@sussudio/base/common/severity.mjs'; import { URI } from '@sussudio/base/common/uri.mjs'; export interface IMarkerService { readonly _serviceBrand: undefined; getStatistics(): MarkerStatistics; changeOne(owner: string, resource: URI, markers: IMarkerData[]): void; changeAll(owner: string, data: IResourceMarker[]): void; remove(owner: string, resources: URI[]): void; read(filter?: { owner?: string; resource?: URI; severities?: number; take?: number }): IMarker[]; readonly onMarkerChanged: Event<readonly URI[]>; } /** * */ export interface IRelatedInformation { resource: URI; message: string; startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; } export declare const enum MarkerTag { Unnecessary = 1, Deprecated = 2, } export declare enum MarkerSeverity { Hint = 1, Info = 2, Warning = 4, Error = 8, } export declare namespace MarkerSeverity { function compare(a: MarkerSeverity, b: MarkerSeverity): number; function toString(a: MarkerSeverity): string; function fromSeverity(severity: Severity): MarkerSeverity; function toSeverity(severity: MarkerSeverity): Severity; } /** * A structure defining a problem/warning/etc. */ export interface IMarkerData { code?: | string | { value: string; target: URI; }; severity: MarkerSeverity; message: string; source?: string; startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; modelVersionId?: number; relatedInformation?: IRelatedInformation[]; tags?: MarkerTag[]; } export interface IResourceMarker { resource: URI; marker: IMarkerData; } export interface IMarker { owner: string; resource: URI; severity: MarkerSeverity; code?: | string | { value: string; target: URI; }; message: string; source?: string; startLineNumber: number; startColumn: number; endLineNumber: number; endColumn: number; modelVersionId?: number; relatedInformation?: IRelatedInformation[]; tags?: MarkerTag[]; } export interface MarkerStatistics { errors: number; warnings: number; infos: number; unknowns: number; } export declare namespace IMarkerData { function makeKey(markerData: IMarkerData): string; function makeKeyOptionalMessage(markerData: IMarkerData, useMessage: boolean): string; } export declare const IMarkerService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IMarkerService>;