UNPKG

@sussudio/platform

Version:

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

62 lines (60 loc) 3.08 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 as CommonEvent } from '@sussudio/base/common/event.mjs'; import { Disposable } from '@sussudio/base/common/lifecycle.mjs'; import { URI } from '@sussudio/base/common/uri.mjs'; import { ILifecycleMainService } from '../../lifecycle/electron-main/lifecycleMainService.mjs'; import { ILogService } from '../../log/common/log.mjs'; import { IApplicationStorageMainService } from '../../storage/electron-main/storageMainService.mjs'; import { IRecent, IRecentlyOpened } from '../common/workspaces.mjs'; import { IWorkspacesManagementMainService } from './workspacesManagementMainService.mjs'; export declare const IWorkspacesHistoryMainService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IWorkspacesHistoryMainService>; export interface IWorkspacesHistoryMainService { readonly _serviceBrand: undefined; readonly onDidChangeRecentlyOpened: CommonEvent<void>; addRecentlyOpened(recents: IRecent[]): Promise<void>; getRecentlyOpened(): Promise<IRecentlyOpened>; removeRecentlyOpened(paths: URI[]): Promise<void>; clearRecentlyOpened(): Promise<void>; } export declare class WorkspacesHistoryMainService extends Disposable implements IWorkspacesHistoryMainService { private readonly logService; private readonly workspacesManagementMainService; private readonly lifecycleMainService; private readonly applicationStorageMainService; private static readonly MAX_TOTAL_RECENT_ENTRIES; private static readonly RECENTLY_OPENED_STORAGE_KEY; readonly _serviceBrand: undefined; private readonly _onDidChangeRecentlyOpened; readonly onDidChangeRecentlyOpened: CommonEvent<void>; constructor( logService: ILogService, workspacesManagementMainService: IWorkspacesManagementMainService, lifecycleMainService: ILifecycleMainService, applicationStorageMainService: IApplicationStorageMainService, ); private registerListeners; addRecentlyOpened(recentToAdd: IRecent[]): Promise<void>; removeRecentlyOpened(recentToRemove: URI[]): Promise<void>; clearRecentlyOpened(): Promise<void>; getRecentlyOpened(): Promise<IRecentlyOpened>; private mergeEntriesFromStorage; private getRecentlyOpenedFromStorage; private saveRecentlyOpened; private location; private containsWorkspace; private containsFolder; private containsFile; private static readonly MAX_MACOS_DOCK_RECENT_WORKSPACES; private static readonly MAX_MACOS_DOCK_RECENT_ENTRIES_TOTAL; private static readonly MAX_WINDOWS_JUMP_LIST_ENTRIES; private static readonly COMMON_FILES_FILTER; private readonly macOSRecentDocumentsUpdater; private handleWindowsJumpList; private updateWindowsJumpList; private getWindowsJumpListLabel; private renderJumpListPathDescription; private updateMacOSRecentDocuments; }