UNPKG

sussudio

Version:

An unofficial VS Code Internal API

101 lines (100 loc) 3.04 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 "../../../base/common/event.mjs"; import Severity from "../../../base/common/severity.mjs"; import { URI } from "../../../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>;