33 * Licensed under the MIT License. See License.txt in the project root for license information.
44 *--------------------------------------------------------------------------------------------*/
55
6- import { IWorkspacesMainService , IWorkspaceIdentifier , hasWorkspaceFileExtension , UNTITLED_WORKSPACE_NAME , IResolvedWorkspace , IStoredWorkspaceFolder , isStoredWorkspaceFolder , IWorkspaceFolderCreationData , IUntitledWorkspaceInfo , getStoredWorkspaceFolder } from 'vs/platform/workspaces/common/workspaces' ;
6+ import { IWorkspaceIdentifier , hasWorkspaceFileExtension , UNTITLED_WORKSPACE_NAME , IResolvedWorkspace , IStoredWorkspaceFolder , isStoredWorkspaceFolder , IWorkspaceFolderCreationData , IUntitledWorkspaceInfo , getStoredWorkspaceFolder } from 'vs/platform/workspaces/common/workspaces' ;
77import { IEnvironmentService } from 'vs/platform/environment/common/environment' ;
88import { join , dirname } from 'vs/base/common/path' ;
99import { mkdirp , writeFile , rimrafSync , readdirSync , writeFileSync } from 'vs/base/node/pfs' ;
@@ -18,12 +18,38 @@ import { URI } from 'vs/base/common/uri';
1818import { Schemas } from 'vs/base/common/network' ;
1919import { Disposable } from 'vs/base/common/lifecycle' ;
2020import { originalFSPath , isEqualOrParent , joinPath } from 'vs/base/common/resources' ;
21+ import { createDecorator } from 'vs/platform/instantiation/common/instantiation' ;
2122
2223export interface IStoredWorkspace {
2324 folders : IStoredWorkspaceFolder [ ] ;
2425 remoteAuthority ?: string ;
2526}
2627
28+ export const IWorkspacesMainService = createDecorator < IWorkspacesMainService > ( 'workspacesMainService' ) ;
29+
30+ export interface IWorkspacesMainService {
31+
32+ _serviceBrand : undefined ;
33+
34+ onUntitledWorkspaceDeleted : Event < IWorkspaceIdentifier > ;
35+
36+ createUntitledWorkspaceSync ( folders ?: IWorkspaceFolderCreationData [ ] ) : IWorkspaceIdentifier ;
37+
38+ resolveLocalWorkspaceSync ( path : URI ) : IResolvedWorkspace | null ;
39+
40+ isUntitledWorkspace ( workspace : IWorkspaceIdentifier ) : boolean ;
41+
42+ deleteUntitledWorkspaceSync ( workspace : IWorkspaceIdentifier ) : void ;
43+
44+ getUntitledWorkspacesSync ( ) : IUntitledWorkspaceInfo [ ] ;
45+
46+ createUntitledWorkspace ( folders ?: IWorkspaceFolderCreationData [ ] , remoteAuthority ?: string ) : Promise < IWorkspaceIdentifier > ;
47+
48+ deleteUntitledWorkspace ( workspace : IWorkspaceIdentifier ) : Promise < void > ;
49+
50+ getWorkspaceIdentifier ( workspacePath : URI ) : Promise < IWorkspaceIdentifier > ;
51+ }
52+
2753export class WorkspacesMainService extends Disposable implements IWorkspacesMainService {
2854
2955 _serviceBrand : undefined ;
0 commit comments