UNPKG

@sussudio/platform

Version:

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

39 lines (37 loc) 1.7 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 '@sussudio/base/common/cancellation.mjs'; import { IDisposable } from '@sussudio/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, }