UNPKG

@sussudio/platform

Version:

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

84 lines (82 loc) 4.25 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 { Disposable } from '@sussudio/base/common/lifecycle.mjs'; import { URI } from '@sussudio/base/common/uri.mjs'; import { IBackupMainService } from '../../backup/electron-main/backup.mjs'; import { IDialogMainService } from '../../dialogs/electron-main/dialogMainService.mjs'; import { IEnvironmentMainService } from '../../environment/electron-main/environmentMainService.mjs'; import { ILogService } from '../../log/common/log.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IUserDataProfilesMainService } from '../../userDataProfile/electron-main/userDataProfile.mjs'; import { ICodeWindow } from '../../window/electron-main/window.mjs'; import { IWorkspaceIdentifier, IResolvedWorkspace } from '../../workspace/common/workspace.mjs'; import { IEnterWorkspaceResult, IUntitledWorkspaceInfo, IWorkspaceFolderCreationData } from '../common/workspaces.mjs'; export declare const IWorkspacesManagementMainService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IWorkspacesManagementMainService>; export interface IWorkspaceEnteredEvent { readonly window: ICodeWindow; readonly workspace: IWorkspaceIdentifier; } export interface IWorkspacesManagementMainService { readonly _serviceBrand: undefined; readonly onDidDeleteUntitledWorkspace: Event<IWorkspaceIdentifier>; readonly onDidEnterWorkspace: Event<IWorkspaceEnteredEvent>; enterWorkspace( intoWindow: ICodeWindow, openedWindows: ICodeWindow[], path: URI, ): Promise<IEnterWorkspaceResult | undefined>; createUntitledWorkspace( folders?: IWorkspaceFolderCreationData[], remoteAuthority?: string, ): Promise<IWorkspaceIdentifier>; deleteUntitledWorkspace(workspace: IWorkspaceIdentifier): Promise<void>; getUntitledWorkspaces(): IUntitledWorkspaceInfo[]; isUntitledWorkspace(workspace: IWorkspaceIdentifier): boolean; resolveLocalWorkspace(path: URI): Promise<IResolvedWorkspace | undefined>; getWorkspaceIdentifier(workspacePath: URI): Promise<IWorkspaceIdentifier>; } export declare class WorkspacesManagementMainService extends Disposable implements IWorkspacesManagementMainService { private readonly environmentMainService; private readonly logService; private readonly userDataProfilesMainService; private readonly backupMainService; private readonly dialogMainService; private readonly productService; readonly _serviceBrand: undefined; private readonly _onDidDeleteUntitledWorkspace; readonly onDidDeleteUntitledWorkspace: Event<IWorkspaceIdentifier>; private readonly _onDidEnterWorkspace; readonly onDidEnterWorkspace: Event<IWorkspaceEnteredEvent>; private readonly untitledWorkspacesHome; private untitledWorkspaces; constructor( environmentMainService: IEnvironmentMainService, logService: ILogService, userDataProfilesMainService: IUserDataProfilesMainService, backupMainService: IBackupMainService, dialogMainService: IDialogMainService, productService: IProductService, ); initialize(): Promise<void>; resolveLocalWorkspace(uri: URI): Promise<IResolvedWorkspace | undefined>; private doResolveLocalWorkspace; private isWorkspacePath; private doResolveWorkspace; private doParseStoredWorkspace; createUntitledWorkspace( folders?: IWorkspaceFolderCreationData[], remoteAuthority?: string, ): Promise<IWorkspaceIdentifier>; private newUntitledWorkspace; getWorkspaceIdentifier(configPath: URI): Promise<IWorkspaceIdentifier>; isUntitledWorkspace(workspace: IWorkspaceIdentifier): boolean; deleteUntitledWorkspace(workspace: IWorkspaceIdentifier): Promise<void>; private doDeleteUntitledWorkspace; getUntitledWorkspaces(): IUntitledWorkspaceInfo[]; enterWorkspace(window: ICodeWindow, windows: ICodeWindow[], path: URI): Promise<IEnterWorkspaceResult | undefined>; private isValidTargetWorkspacePath; private doEnterWorkspace; }