/* tslint:disable */ import { URI } from '@vscode-alt/monaco-editor/esm/vs/base/common/uri'; import { ISingleFolderWorkspaceIdentifier, IWorkspaceFolderCreationData } from './workspaces'; import { IWorkspace, WorkbenchState, IWorkspaceFolder, IWorkspaceFoldersChangeEvent } from './workspace'; import { IWorkspaceIdentifier, IWorkspaceData } from '../generated-model'; import { Event } from '@vscode-alt/monaco-editor/esm/vs/base/common/event'; import { IDisposable } from '@vscode-alt/monaco-editor/esm/vs/base/common/lifecycle' import { IWorkspaceInitializationPayload } from '../workspace'; // @sri added Disposable extend export interface IWorkspaceContextService extends IDisposable { /** * An event which fires on workbench state changes. */ onDidChangeWorkbenchState: Event; /** * An event which fires on workspace name changes. */ onDidChangeWorkspaceName: Event; /** * An event which fires on workspace folders change. */ onDidChangeWorkspaceFolders: Event; /** * Provides access to the complete workspace object. */ getCompleteWorkspace(): Promise; /** * Provides access to the workspace object the platform is running with. */ getWorkspace(): IWorkspace; /** * Return the state of the workbench. * * WorkbenchState.EMPTY - if the workbench was opened with empty window or file * WorkbenchState.FOLDER - if the workbench was opened with a folder * WorkbenchState.WORKSPACE - if the workbench was opened with a workspace */ getWorkbenchState(): WorkbenchState; /** * Returns the folder for the given resource from the workspace. * Can be null if there is no workspace or the resource is not inside the workspace. */ getWorkspaceFolder(resource: URI): IWorkspaceFolder; /** * Return `true` if the current workspace has the given identifier otherwise `false`. */ isCurrentWorkspace(workspaceIdentifier: ISingleFolderWorkspaceIdentifier | IWorkspaceIdentifier): boolean; /** * Returns if the provided resource is inside the workspace or not. */ isInsideWorkspace(resource: URI): boolean; //@sri added here as they missing addFolders(foldersToAdd: IWorkspaceFolderCreationData[], index?: number): Promise; removeFolders(foldersToRemove: URI[]): Promise; updateFolders(foldersToAdd: IWorkspaceFolderCreationData[], foldersToRemove: URI[], index?: number): Promise ; initialize(arg: IWorkspaceInitializationPayload): Promise } export interface IClientWorkspaceContextService extends IWorkspaceContextService { extAcceptChangedWorkbenchState(workspace: IWorkspaceData, event: WorkbenchState); extAcceptChangedWorkspaceFolders(data: IWorkspaceData, event: IWorkspaceFoldersChangeEvent); extAcceptChangedWorkspaceName(date: IWorkspaceData); initialize(args); }