UNPKG

sussudio

Version:

An unofficial VS Code Internal API

25 lines (24 loc) 1.69 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { CancellationToken } from "../../../base/common/cancellation.mjs"; import { IDisposable } from "../../../base/common/lifecycle.mjs"; import { IWorkspaceFolder } from "./workspace.mjs"; export interface IEditSessionIdentityProvider { readonly scheme: string; getEditSessionIdentifier(workspaceFolder: IWorkspaceFolder, token: CancellationToken): Promise<string | undefined>; provideEditSessionIdentityMatch(workspaceFolder: IWorkspaceFolder, identity1: string, identity2: string, token: CancellationToken): Promise<EditSessionIdentityMatch | undefined>; } export declare const IEditSessionIdentityService: import("../../instantiation/common/instantiation.mjs").ServiceIdentifier<IEditSessionIdentityService>; export interface IEditSessionIdentityService { readonly _serviceBrand: undefined; registerEditSessionIdentityProvider(provider: IEditSessionIdentityProvider): IDisposable; getEditSessionIdentifier(workspaceFolder: IWorkspaceFolder, cancellationToken: CancellationToken): Promise<string | undefined>; provideEditSessionIdentityMatch(workspaceFolder: IWorkspaceFolder, identity1: string, identity2: string, cancellationToken: CancellationToken): Promise<EditSessionIdentityMatch | undefined>; } export declare enum EditSessionIdentityMatch { Complete = 100, Partial = 50, None = 0 }