@codingame/monaco-vscode-configuration-service-override 11.1.2 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +29 -2
- package/index.js +138 -1
- package/package.json +27 -8
- package/vscode/src/vs/editor/common/services/textResourceConfigurationService.d.ts +26 -0
- package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +13 -11
- package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.d.ts +1 -0
- package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +82 -79
- package/vscode/src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.d.ts +19 -0
- package/vscode/src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.js +31 -32
- package/vscode/src/vs/workbench/services/configuration/browser/configuration.d.ts +130 -0
- package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +18 -16
- package/vscode/src/vs/workbench/services/configuration/browser/configurationService.d.ts +144 -0
- package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +182 -186
- package/vscode/src/vs/workbench/services/configuration/common/configurationCache.d.ts +16 -0
- package/vscode/src/vs/workbench/services/configuration/common/configurationCache.js +3 -1
- package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.d.ts +86 -0
- package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +219 -194
- package/vscode/src/vs/workbench/services/configuration/common/configurationModels.d.ts +43 -0
- package/vscode/src/vs/workbench/services/configuration/common/configurationModels.js +1 -0
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.d.ts +37 -0
- package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +30 -26
- package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.d.ts +13 -0
- package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +3 -1
- package/vscode/src/vs/workbench/services/textresourceProperties/common/textResourcePropertiesService.d.ts +16 -0
- package/vscode/src/vs/workbench/services/textresourceProperties/common/textResourcePropertiesService.js +8 -5
- package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.d.ts +64 -0
- package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +54 -53
- package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.d.ts +39 -0
- package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +15 -11
- package/configuration.js +0 -138
- package/tools.js +0 -44
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IConfigurationModel, IConfigurationOverrides, IConfigurationValue, IConfigurationChange } from "vscode/vscode/vs/platform/configuration/common/configuration";
|
|
2
|
+
import { Configuration as BaseConfiguration, ConfigurationModelParser, ConfigurationModel, ConfigurationParseOptions } from "vscode/vscode/vs/platform/configuration/common/configurationModels";
|
|
3
|
+
import { IStoredWorkspaceFolder } from "@codingame/monaco-vscode-56402b83-4a60-5b15-86f9-71fe99c32744-common/vscode/vs/platform/workspaces/common/workspaces";
|
|
4
|
+
import { Workspace } from "vscode/vscode/vs/platform/workspace/common/workspace";
|
|
5
|
+
import { ResourceMap } from "vscode/vscode/vs/base/common/map";
|
|
6
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
7
|
+
import { ILogService } from "vscode/vscode/vs/platform/log/common/log.service";
|
|
8
|
+
export declare class WorkspaceConfigurationModelParser extends ConfigurationModelParser {
|
|
9
|
+
private _folders;
|
|
10
|
+
private _transient;
|
|
11
|
+
private _settingsModelParser;
|
|
12
|
+
private _launchModel;
|
|
13
|
+
private _tasksModel;
|
|
14
|
+
constructor(name: string, logService: ILogService);
|
|
15
|
+
get folders(): IStoredWorkspaceFolder[];
|
|
16
|
+
get transient(): boolean;
|
|
17
|
+
get settingsModel(): ConfigurationModel;
|
|
18
|
+
get launchModel(): ConfigurationModel;
|
|
19
|
+
get tasksModel(): ConfigurationModel;
|
|
20
|
+
reparseWorkspaceSettings(configurationParseOptions: ConfigurationParseOptions): void;
|
|
21
|
+
getRestrictedWorkspaceSettings(): string[];
|
|
22
|
+
protected doParseRaw(raw: any, configurationParseOptions?: ConfigurationParseOptions): IConfigurationModel;
|
|
23
|
+
private createConfigurationModelFrom;
|
|
24
|
+
}
|
|
25
|
+
export declare class StandaloneConfigurationModelParser extends ConfigurationModelParser {
|
|
26
|
+
private readonly scope;
|
|
27
|
+
constructor(name: string, scope: string, logService: ILogService);
|
|
28
|
+
protected doParseRaw(raw: any, configurationParseOptions?: ConfigurationParseOptions): IConfigurationModel;
|
|
29
|
+
}
|
|
30
|
+
export declare class Configuration extends BaseConfiguration {
|
|
31
|
+
private readonly _workspace;
|
|
32
|
+
constructor(defaults: ConfigurationModel, policy: ConfigurationModel, application: ConfigurationModel, localUser: ConfigurationModel, remoteUser: ConfigurationModel, workspaceConfiguration: ConfigurationModel, folders: ResourceMap<ConfigurationModel>, memoryConfiguration: ConfigurationModel, memoryConfigurationByResource: ResourceMap<ConfigurationModel>, _workspace: Workspace | undefined, logService: ILogService);
|
|
33
|
+
getValue(key: string | undefined, overrides?: IConfigurationOverrides): any;
|
|
34
|
+
inspect<C>(key: string, overrides?: IConfigurationOverrides): IConfigurationValue<C>;
|
|
35
|
+
keys(): {
|
|
36
|
+
default: string[];
|
|
37
|
+
user: string[];
|
|
38
|
+
workspace: string[];
|
|
39
|
+
workspaceFolder: string[];
|
|
40
|
+
};
|
|
41
|
+
compareAndDeleteFolderConfiguration(folder: URI): IConfigurationChange;
|
|
42
|
+
compare(other: Configuration): IConfigurationChange;
|
|
43
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import { equals } from 'vscode/vscode/vs/base/common/objects';
|
|
2
3
|
import { toValuesTree } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
3
4
|
import { ConfigurationModelParser, ConfigurationModel, Configuration as Configuration$1 } from 'vscode/vscode/vs/platform/configuration/common/configurationModels';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { IStringDictionary } from "vscode/vscode/vs/base/common/collections";
|
|
2
|
+
import { IProcessEnvironment } from "vscode/vscode/vs/base/common/platform";
|
|
3
|
+
import { ICommandService } from "vscode/vscode/vs/platform/commands/common/commands.service";
|
|
4
|
+
import { ConfigurationTarget } from "vscode/vscode/vs/platform/configuration/common/configuration";
|
|
5
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
6
|
+
import { ILabelService } from "vscode/vscode/vs/platform/label/common/label.service";
|
|
7
|
+
import { IQuickInputService } from "vscode/vscode/vs/platform/quickinput/common/quickInput.service";
|
|
8
|
+
import { IStorageService } from "vscode/vscode/vs/platform/storage/common/storage.service";
|
|
9
|
+
import { IWorkspaceFolder } from "vscode/vscode/vs/platform/workspace/common/workspace";
|
|
10
|
+
import { IWorkspaceContextService } from "vscode/vscode/vs/platform/workspace/common/workspace.service";
|
|
11
|
+
import { AbstractVariableResolverService } from "vscode/vscode/vs/workbench/services/configurationResolver/common/variableResolver";
|
|
12
|
+
import { IEditorService } from "vscode/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
13
|
+
import { IExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
14
|
+
import { IPathService } from "vscode/vscode/vs/workbench/services/path/common/pathService.service";
|
|
15
|
+
export declare abstract class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
16
|
+
private readonly configurationService;
|
|
17
|
+
private readonly commandService;
|
|
18
|
+
private readonly workspaceContextService;
|
|
19
|
+
private readonly quickInputService;
|
|
20
|
+
private readonly labelService;
|
|
21
|
+
private readonly pathService;
|
|
22
|
+
private readonly storageService;
|
|
23
|
+
static readonly INPUT_OR_COMMAND_VARIABLES_PATTERN: RegExp;
|
|
24
|
+
private userInputAccessQueue;
|
|
25
|
+
constructor(context: {
|
|
26
|
+
getAppRoot: () => string | undefined;
|
|
27
|
+
getExecPath: () => string | undefined;
|
|
28
|
+
}, envVariablesPromise: Promise<IProcessEnvironment>, editorService: IEditorService, configurationService: IConfigurationService, commandService: ICommandService, workspaceContextService: IWorkspaceContextService, quickInputService: IQuickInputService, labelService: ILabelService, pathService: IPathService, extensionService: IExtensionService, storageService: IStorageService);
|
|
29
|
+
resolveWithInteractionReplace(folder: IWorkspaceFolder | undefined, config: any, section?: string, variables?: IStringDictionary<string>, target?: ConfigurationTarget): Promise<any>;
|
|
30
|
+
resolveWithInteraction(folder: IWorkspaceFolder | undefined, config: any, section?: string, variables?: IStringDictionary<string>, target?: ConfigurationTarget): Promise<Map<string, string> | undefined>;
|
|
31
|
+
private updateMapping;
|
|
32
|
+
private resolveWithInputAndCommands;
|
|
33
|
+
private findVariables;
|
|
34
|
+
private showUserInput;
|
|
35
|
+
private storeInputLru;
|
|
36
|
+
private readInputLru;
|
|
37
|
+
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
|
|
1
2
|
import { Queue } from 'vscode/vscode/vs/base/common/async';
|
|
2
3
|
import { LRUCache } from 'vscode/vscode/vs/base/common/map';
|
|
3
4
|
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
4
5
|
import { isUndefinedOrNull, isString } from 'vscode/vscode/vs/base/common/types';
|
|
5
6
|
import { isCodeEditor, isDiffEditor } from 'vscode/vscode/vs/editor/browser/editorBrowser';
|
|
6
7
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
8
|
+
import { ConfigurationTarget } from 'vscode/vscode/vs/platform/configuration/common/configuration';
|
|
9
|
+
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
10
|
+
import { WorkbenchState } from 'vscode/vscode/vs/platform/workspace/common/workspace';
|
|
7
11
|
import { EditorResourceAccessor, SideBySideEditor } from 'vscode/vscode/vs/workbench/common/editor';
|
|
8
12
|
import { AbstractVariableResolverService } from 'vscode/vscode/vs/workbench/services/configurationResolver/common/variableResolver';
|
|
9
13
|
|
|
@@ -93,7 +97,7 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
93
97
|
this.labelService = labelService;
|
|
94
98
|
this.pathService = pathService;
|
|
95
99
|
this.storageService = storageService;
|
|
96
|
-
this.userInputAccessQueue = (
|
|
100
|
+
this.userInputAccessQueue = ( new Queue());
|
|
97
101
|
}
|
|
98
102
|
async resolveWithInteractionReplace(folder, config, section, variables, target) {
|
|
99
103
|
config = await this.resolveAnyAsync(folder, config);
|
|
@@ -134,15 +138,15 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
134
138
|
return Promise.resolve(undefined);
|
|
135
139
|
}
|
|
136
140
|
let inputs = [];
|
|
137
|
-
if (this.workspaceContextService.getWorkbenchState() !==
|
|
141
|
+
if (this.workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY && section) {
|
|
138
142
|
const overrides = folder ? { resource: folder.uri } : {};
|
|
139
143
|
const result = this.configurationService.inspect(section, overrides);
|
|
140
144
|
if (result && (result.userValue || result.workspaceValue || result.workspaceFolderValue)) {
|
|
141
145
|
switch (target) {
|
|
142
|
-
case
|
|
146
|
+
case ConfigurationTarget.USER:
|
|
143
147
|
inputs = result.userValue?.inputs;
|
|
144
148
|
break;
|
|
145
|
-
case
|
|
149
|
+
case ConfigurationTarget.WORKSPACE:
|
|
146
150
|
inputs = result.workspaceValue?.inputs;
|
|
147
151
|
break;
|
|
148
152
|
default: inputs = result.workspaceFolderValue?.inputs;
|
|
@@ -169,8 +173,8 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
169
173
|
const commandId = (variableToCommandMap ? variableToCommandMap[name] : undefined) || name;
|
|
170
174
|
result = await this.commandService.executeCommand(commandId, configuration);
|
|
171
175
|
if (typeof result !== 'string' && !isUndefinedOrNull(result)) {
|
|
172
|
-
throw (
|
|
173
|
-
|
|
176
|
+
throw ( new Error(( localize(
|
|
177
|
+
11305,
|
|
174
178
|
"Cannot substitute command variable '{0}' because command did not return a result of type string.",
|
|
175
179
|
commandId
|
|
176
180
|
))));
|
|
@@ -178,7 +182,7 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
178
182
|
break;
|
|
179
183
|
}
|
|
180
184
|
default:
|
|
181
|
-
if ((
|
|
185
|
+
if (( this._contributedVariables.has(variable))) {
|
|
182
186
|
result = await this._contributedVariables.get(variable)();
|
|
183
187
|
}
|
|
184
188
|
}
|
|
@@ -202,7 +206,7 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
202
206
|
}
|
|
203
207
|
}
|
|
204
208
|
}
|
|
205
|
-
for (const contributed of (
|
|
209
|
+
for (const contributed of ( this._contributedVariables.keys())) {
|
|
206
210
|
if ((variables.indexOf(contributed) < 0) && (object.indexOf('${' + contributed + '}') >= 0)) {
|
|
207
211
|
variables.push(contributed);
|
|
208
212
|
}
|
|
@@ -214,25 +218,25 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
214
218
|
}
|
|
215
219
|
}
|
|
216
220
|
else if (object) {
|
|
217
|
-
for (const value of (
|
|
221
|
+
for (const value of ( Object.values(object))) {
|
|
218
222
|
this.findVariables(value, variables);
|
|
219
223
|
}
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
226
|
showUserInput(section, variable, inputInfos) {
|
|
223
227
|
if (!inputInfos) {
|
|
224
|
-
return Promise.reject((
|
|
225
|
-
|
|
228
|
+
return Promise.reject(( new Error(( localize(
|
|
229
|
+
11306,
|
|
226
230
|
"Variable '{0}' must be defined in an '{1}' section of the debug or task configuration.",
|
|
227
231
|
variable,
|
|
228
232
|
'inputs'
|
|
229
|
-
)))))
|
|
233
|
+
)))));
|
|
230
234
|
}
|
|
231
235
|
const info = inputInfos.filter(item => item.id === variable).pop();
|
|
232
236
|
if (info) {
|
|
233
237
|
const missingAttribute = (attrName) => {
|
|
234
|
-
throw (
|
|
235
|
-
|
|
238
|
+
throw ( new Error(( localize(
|
|
239
|
+
11307,
|
|
236
240
|
"Input variable '{0}' is of type '{1}' and must include '{2}'.",
|
|
237
241
|
variable,
|
|
238
242
|
info.type,
|
|
@@ -275,7 +279,7 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
275
279
|
else {
|
|
276
280
|
missingAttribute('options');
|
|
277
281
|
}
|
|
278
|
-
const picks = (
|
|
282
|
+
const picks = ( new Array());
|
|
279
283
|
for (const pickOption of info.options) {
|
|
280
284
|
const value = isString(pickOption) ? pickOption : pickOption.value;
|
|
281
285
|
const label = isString(pickOption) ? undefined : pickOption.label;
|
|
@@ -284,7 +288,7 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
284
288
|
value: value
|
|
285
289
|
};
|
|
286
290
|
if (value === info.default) {
|
|
287
|
-
item.description = ( localize(
|
|
291
|
+
item.description = ( localize(11308, "(Default)"));
|
|
288
292
|
picks.unshift(item);
|
|
289
293
|
}
|
|
290
294
|
else if (!info.default && value === previousPickedValue) {
|
|
@@ -312,8 +316,8 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
312
316
|
if (typeof result === 'string' || isUndefinedOrNull(result)) {
|
|
313
317
|
return result;
|
|
314
318
|
}
|
|
315
|
-
throw (
|
|
316
|
-
|
|
319
|
+
throw ( new Error(( localize(
|
|
320
|
+
11309,
|
|
317
321
|
"Cannot substitute input variable '{0}' because command '{1}' did not return a result of type string.",
|
|
318
322
|
variable,
|
|
319
323
|
info.command
|
|
@@ -321,25 +325,25 @@ class BaseConfigurationResolverService extends AbstractVariableResolverService {
|
|
|
321
325
|
});
|
|
322
326
|
}
|
|
323
327
|
default:
|
|
324
|
-
throw (
|
|
325
|
-
|
|
328
|
+
throw ( new Error(( localize(
|
|
329
|
+
11310,
|
|
326
330
|
"Input variable '{0}' can only be of type 'promptString', 'pickString', or 'command'.",
|
|
327
331
|
variable
|
|
328
332
|
))));
|
|
329
333
|
}
|
|
330
334
|
}
|
|
331
|
-
return Promise.reject((
|
|
332
|
-
|
|
335
|
+
return Promise.reject(( new Error(( localize(
|
|
336
|
+
11311,
|
|
333
337
|
"Undefined input variable '{0}' encountered. Remove or define '{0}' to continue.",
|
|
334
338
|
variable
|
|
335
|
-
)))))
|
|
339
|
+
)))));
|
|
336
340
|
}
|
|
337
341
|
storeInputLru(lru) {
|
|
338
|
-
this.storageService.store(LAST_INPUT_STORAGE_KEY, JSON.stringify(lru.toJSON()),
|
|
342
|
+
this.storageService.store(LAST_INPUT_STORAGE_KEY, JSON.stringify(lru.toJSON()), StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
339
343
|
}
|
|
340
344
|
readInputLru() {
|
|
341
|
-
const contents = this.storageService.get(LAST_INPUT_STORAGE_KEY,
|
|
342
|
-
const lru = (
|
|
345
|
+
const contents = this.storageService.get(LAST_INPUT_STORAGE_KEY, StorageScope.WORKSPACE);
|
|
346
|
+
const lru = ( new LRUCache(LAST_INPUT_CACHE_SIZE));
|
|
343
347
|
try {
|
|
344
348
|
if (contents) {
|
|
345
349
|
lru.fromJSON(JSON.parse(contents));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ICommandService } from "vscode/vscode/vs/platform/commands/common/commands.service";
|
|
2
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { ILabelService } from "vscode/vscode/vs/platform/label/common/label.service";
|
|
4
|
+
import { IQuickInputService } from "vscode/vscode/vs/platform/quickinput/common/quickInput.service";
|
|
5
|
+
import { IStorageService } from "vscode/vscode/vs/platform/storage/common/storage.service";
|
|
6
|
+
import { IWorkspaceContextService } from "vscode/vscode/vs/platform/workspace/common/workspace.service";
|
|
7
|
+
import { BaseConfigurationResolverService } from "./baseConfigurationResolverService.js";
|
|
8
|
+
import { IEditorService } from "vscode/vscode/vs/workbench/services/editor/common/editorService.service";
|
|
9
|
+
import { IExtensionService } from "vscode/vscode/vs/workbench/services/extensions/common/extensions.service";
|
|
10
|
+
import { IPathService } from "vscode/vscode/vs/workbench/services/path/common/pathService.service";
|
|
11
|
+
export declare class ConfigurationResolverService extends BaseConfigurationResolverService {
|
|
12
|
+
constructor(editorService: IEditorService, configurationService: IConfigurationService, commandService: ICommandService, workspaceContextService: IWorkspaceContextService, quickInputService: IQuickInputService, labelService: ILabelService, pathService: IPathService, extensionService: IExtensionService, storageService: IStorageService);
|
|
13
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
|
|
3
4
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
5
|
+
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
4
6
|
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
|
|
5
7
|
import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput.service';
|
|
6
8
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
2
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { ITextResourcePropertiesService } from "vscode/vscode/vs/editor/common/services/textResourceConfiguration";
|
|
4
|
+
import { IStorageService } from "vscode/vscode/vs/platform/storage/common/storage.service";
|
|
5
|
+
import { IWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
6
|
+
import { IRemoteAgentService } from "vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service";
|
|
7
|
+
export declare class TextResourcePropertiesService implements ITextResourcePropertiesService {
|
|
8
|
+
private readonly configurationService;
|
|
9
|
+
private readonly environmentService;
|
|
10
|
+
private readonly storageService;
|
|
11
|
+
readonly _serviceBrand: undefined;
|
|
12
|
+
private remoteEnvironment;
|
|
13
|
+
constructor(configurationService: IConfigurationService, remoteAgentService: IRemoteAgentService, environmentService: IWorkbenchEnvironmentService, storageService: IStorageService);
|
|
14
|
+
getEOL(resource?: URI, language?: string): string;
|
|
15
|
+
private getOS;
|
|
16
|
+
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
3
4
|
import 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
4
|
-
import { OS } from 'vscode/vscode/vs/base/common/platform';
|
|
5
|
+
import { OperatingSystem, OS } from 'vscode/vscode/vs/base/common/platform';
|
|
5
6
|
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
7
|
+
import { StorageScope, StorageTarget } from 'vscode/vscode/vs/platform/storage/common/storage';
|
|
6
8
|
import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
|
|
7
9
|
import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService.service';
|
|
10
|
+
import 'vscode/vscode/vs/platform/instantiation/common/extensions';
|
|
8
11
|
import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService.service';
|
|
9
12
|
|
|
10
13
|
let TextResourcePropertiesService = class TextResourcePropertiesService {
|
|
@@ -21,7 +24,7 @@ let TextResourcePropertiesService = class TextResourcePropertiesService {
|
|
|
21
24
|
return eol;
|
|
22
25
|
}
|
|
23
26
|
const os = this.getOS(resource);
|
|
24
|
-
return os ===
|
|
27
|
+
return os === OperatingSystem.Linux || os === OperatingSystem.Macintosh ? '\n' : '\r\n';
|
|
25
28
|
}
|
|
26
29
|
getOS(resource) {
|
|
27
30
|
let os = OS;
|
|
@@ -29,8 +32,8 @@ let TextResourcePropertiesService = class TextResourcePropertiesService {
|
|
|
29
32
|
if (remoteAuthority) {
|
|
30
33
|
if (resource && resource.scheme !== Schemas.file) {
|
|
31
34
|
const osCacheKey = `resource.authority.os.${remoteAuthority}`;
|
|
32
|
-
os = this.remoteEnvironment ? this.remoteEnvironment.os : this.storageService.getNumber(osCacheKey,
|
|
33
|
-
this.storageService.store(osCacheKey, os,
|
|
35
|
+
os = this.remoteEnvironment ? this.remoteEnvironment.os : this.storageService.getNumber(osCacheKey, StorageScope.WORKSPACE, OS);
|
|
36
|
+
this.storageService.store(osCacheKey, os, StorageScope.WORKSPACE, StorageTarget.MACHINE);
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
return os;
|
package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.d.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { IWorkspaceEditingService } from "vscode/vscode/vs/workbench/services/workspaces/common/workspaceEditing.service";
|
|
2
|
+
import { URI } from "vscode/vscode/vs/base/common/uri";
|
|
3
|
+
import { IWorkspaceIdentifier } from "vscode/vscode/vs/platform/workspace/common/workspace";
|
|
4
|
+
import { IJSONEditingService } from "vscode/vscode/vs/workbench/services/configuration/common/jsonEditing.service";
|
|
5
|
+
import { IWorkspaceFolderCreationData, IEnterWorkspaceResult } from "@codingame/monaco-vscode-56402b83-4a60-5b15-86f9-71fe99c32744-common/vscode/vs/platform/workspaces/common/workspaces";
|
|
6
|
+
import { IWorkspacesService } from "vscode/vscode/vs/platform/workspaces/common/workspaces.service";
|
|
7
|
+
import { WorkspaceService } from "../../configuration/browser/configurationService.js";
|
|
8
|
+
import { ICommandService } from "vscode/vscode/vs/platform/commands/common/commands.service";
|
|
9
|
+
import { INotificationService } from "vscode/vscode/vs/platform/notification/common/notification.service";
|
|
10
|
+
import { IFileService } from "vscode/vscode/vs/platform/files/common/files.service";
|
|
11
|
+
import { IWorkbenchEnvironmentService } from "vscode/vscode/vs/workbench/services/environment/common/environmentService.service";
|
|
12
|
+
import { IFileDialogService } from "vscode/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
13
|
+
import { IDialogService } from "vscode/vscode/vs/platform/dialogs/common/dialogs.service";
|
|
14
|
+
import { ITextFileService } from "vscode/vscode/vs/workbench/services/textfile/common/textfiles.service";
|
|
15
|
+
import { IHostService } from "vscode/vscode/vs/workbench/services/host/browser/host.service";
|
|
16
|
+
import { IUriIdentityService } from "vscode/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
|
|
17
|
+
import { IWorkspaceTrustManagementService } from "vscode/vscode/vs/platform/workspace/common/workspaceTrust.service";
|
|
18
|
+
import { IWorkbenchConfigurationService } from "@codingame/monaco-vscode-422642f2-7e3a-5c1c-9e1e-1d3ef1817346-common/vscode/vs/workbench/services/configuration/common/configuration.service";
|
|
19
|
+
import { IUserDataProfilesService } from "vscode/vscode/vs/platform/userDataProfile/common/userDataProfile.service";
|
|
20
|
+
import { IUserDataProfileService } from "vscode/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.service";
|
|
21
|
+
import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
22
|
+
export declare abstract class AbstractWorkspaceEditingService extends Disposable implements IWorkspaceEditingService {
|
|
23
|
+
private readonly jsonEditingService;
|
|
24
|
+
protected readonly contextService: WorkspaceService;
|
|
25
|
+
protected readonly configurationService: IWorkbenchConfigurationService;
|
|
26
|
+
private readonly notificationService;
|
|
27
|
+
private readonly commandService;
|
|
28
|
+
private readonly fileService;
|
|
29
|
+
private readonly textFileService;
|
|
30
|
+
protected readonly workspacesService: IWorkspacesService;
|
|
31
|
+
protected readonly environmentService: IWorkbenchEnvironmentService;
|
|
32
|
+
private readonly fileDialogService;
|
|
33
|
+
protected readonly dialogService: IDialogService;
|
|
34
|
+
protected readonly hostService: IHostService;
|
|
35
|
+
protected readonly uriIdentityService: IUriIdentityService;
|
|
36
|
+
private readonly workspaceTrustManagementService;
|
|
37
|
+
private readonly userDataProfilesService;
|
|
38
|
+
private readonly userDataProfileService;
|
|
39
|
+
readonly _serviceBrand: undefined;
|
|
40
|
+
constructor(jsonEditingService: IJSONEditingService, contextService: WorkspaceService, configurationService: IWorkbenchConfigurationService, notificationService: INotificationService, commandService: ICommandService, fileService: IFileService, textFileService: ITextFileService, workspacesService: IWorkspacesService, environmentService: IWorkbenchEnvironmentService, fileDialogService: IFileDialogService, dialogService: IDialogService, hostService: IHostService, uriIdentityService: IUriIdentityService, workspaceTrustManagementService: IWorkspaceTrustManagementService, userDataProfilesService: IUserDataProfilesService, userDataProfileService: IUserDataProfileService);
|
|
41
|
+
pickNewWorkspacePath(): Promise<URI | undefined>;
|
|
42
|
+
private getNewWorkspaceName;
|
|
43
|
+
updateFolders(index: number, deleteCount?: number, foldersToAddCandidates?: IWorkspaceFolderCreationData[], donotNotifyError?: boolean): Promise<void>;
|
|
44
|
+
private doUpdateFolders;
|
|
45
|
+
addFolders(foldersToAddCandidates: IWorkspaceFolderCreationData[], donotNotifyError?: boolean): Promise<void>;
|
|
46
|
+
private doAddFolders;
|
|
47
|
+
removeFolders(foldersToRemove: URI[], donotNotifyError?: boolean): Promise<void>;
|
|
48
|
+
private includesSingleFolderWorkspace;
|
|
49
|
+
createAndEnterWorkspace(folders: IWorkspaceFolderCreationData[], path?: URI): Promise<void>;
|
|
50
|
+
saveAndEnterWorkspace(workspaceUri: URI): Promise<void>;
|
|
51
|
+
isValidTargetWorkspacePath(workspaceUri: URI): Promise<boolean>;
|
|
52
|
+
protected saveWorkspaceAs(workspace: IWorkspaceIdentifier, targetConfigPathURI: URI): Promise<void>;
|
|
53
|
+
protected saveWorkspace(workspace: IWorkspaceIdentifier): Promise<void>;
|
|
54
|
+
private handleWorkspaceConfigurationEditingError;
|
|
55
|
+
private onInvalidWorkspaceConfigurationFileError;
|
|
56
|
+
private askToOpenWorkspaceConfigurationFile;
|
|
57
|
+
abstract enterWorkspace(workspaceUri: URI): Promise<void>;
|
|
58
|
+
protected doEnterWorkspace(workspaceUri: URI): Promise<IEnterWorkspaceResult | undefined>;
|
|
59
|
+
private migrateWorkspaceSettings;
|
|
60
|
+
copyWorkspaceSettings(toWorkspace: IWorkspaceIdentifier): Promise<void>;
|
|
61
|
+
private doCopyWorkspaceSettings;
|
|
62
|
+
private trustWorkspaceConfiguration;
|
|
63
|
+
protected getCurrentWorkspaceIdentifier(): IWorkspaceIdentifier | undefined;
|
|
64
|
+
}
|