sussudio
Version:
An unofficial VS Code Internal API
25 lines (24 loc) • 1.69 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* 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
}