@codingame/monaco-vscode-api 1.85.1 → 1.85.2
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/README.md +14 -5
- package/missing-services.js +305 -63
- package/monaco-editor-treemending.patch +946 -946
- package/package.json +8 -7
- package/service-override/tools/editor.js +1 -1
- package/services.js +10 -6
- package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +14 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +140 -0
- package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1062 -93
- package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +220 -0
- package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +102 -0
- package/vscode/src/vs/platform/userDataSync/common/content.js +9 -0
- package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +514 -0
- package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +154 -2
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.js +43 -1
- package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +177 -0
- package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +1 -1
- package/vscode/src/vs/workbench/api/common/extHostWebview.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +105 -0
- package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +4 -0
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +1614 -0
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +7 -7
- package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +73 -2
- package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +6 -6
- package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +12 -2
- package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +712 -0
- package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +130 -0
- package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +20 -1
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +205 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +11 -0
- package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +9 -9
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +1 -1
- package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +2 -2
- package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.js +24 -1
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +41 -0
- package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +588 -0
- package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +43 -0
- package/vscode/src/vs/workbench/services/search/common/search.js +3 -3
- package/vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.js +75 -1
- package/vscode/src/vs/workbench/services/timer/browser/timerService.js +240 -1
- package/vscode/src/vs/workbench/services/userData/browser/userDataInit.js +31 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +25 -1
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +75 -1
- package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +74 -4
- package/vscode/src/vs/base/parts/request/browser/request.js +0 -60
- package/vscode/src/vs/platform/request/browser/requestService.js +0 -28
- package/vscode/src/vs/platform/request/common/requestIpc.js +0 -17
- package/vscode/src/vs/platform/url/common/urlService.js +0 -17
- package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +0 -120
- package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +0 -319
- package/vscode/src/vs/workbench/services/files/browser/elevatedFileService.js +0 -9
- package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +0 -408
- package/vscode/src/vs/workbench/services/request/browser/requestService.js +0 -48
- package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +0 -56
- package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +0 -639
- package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +0 -402
- package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +0 -62
- package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +0 -38
- package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +0 -295
- package/vscode/src/vs/workbench/services/url/browser/urlService.js +0 -47
- package/vscode/src/vs/workbench/services/views/common/treeViewsService.js +0 -20
- package/vscode/src/vs/workbench/services/workspaces/common/canonicalUriService.js +0 -19
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
3
|
+
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
4
|
+
import { ITerminalService } from './terminal.js';
|
|
5
|
+
let TerminalProcessExtHostProxy = class TerminalProcessExtHostProxy extends Disposable {
|
|
6
|
+
get onProcessReady() { return this._onProcessReady.event; }
|
|
7
|
+
constructor(instanceId, _cols, _rows, _terminalService) {
|
|
8
|
+
super();
|
|
9
|
+
this.instanceId = instanceId;
|
|
10
|
+
this._cols = _cols;
|
|
11
|
+
this._rows = _rows;
|
|
12
|
+
this._terminalService = _terminalService;
|
|
13
|
+
this.id = 0;
|
|
14
|
+
this.shouldPersist = false;
|
|
15
|
+
this._onProcessData = this._register(( new Emitter()));
|
|
16
|
+
this.onProcessData = this._onProcessData.event;
|
|
17
|
+
this._onProcessReady = this._register(( new Emitter()));
|
|
18
|
+
this._onStart = this._register(( new Emitter()));
|
|
19
|
+
this.onStart = this._onStart.event;
|
|
20
|
+
this._onInput = this._register(( new Emitter()));
|
|
21
|
+
this.onInput = this._onInput.event;
|
|
22
|
+
this._onBinary = this._register(( new Emitter()));
|
|
23
|
+
this.onBinary = this._onBinary.event;
|
|
24
|
+
this._onResize = this._register(( new Emitter()));
|
|
25
|
+
this.onResize = this._onResize.event;
|
|
26
|
+
this._onAcknowledgeDataEvent = this._register(( new Emitter()));
|
|
27
|
+
this.onAcknowledgeDataEvent = this._onAcknowledgeDataEvent.event;
|
|
28
|
+
this._onShutdown = this._register(( new Emitter()));
|
|
29
|
+
this.onShutdown = this._onShutdown.event;
|
|
30
|
+
this._onRequestInitialCwd = this._register(( new Emitter()));
|
|
31
|
+
this.onRequestInitialCwd = this._onRequestInitialCwd.event;
|
|
32
|
+
this._onRequestCwd = this._register(( new Emitter()));
|
|
33
|
+
this.onRequestCwd = this._onRequestCwd.event;
|
|
34
|
+
this._onDidChangeProperty = this._register(( new Emitter()));
|
|
35
|
+
this.onDidChangeProperty = this._onDidChangeProperty.event;
|
|
36
|
+
this._onProcessExit = this._register(( new Emitter()));
|
|
37
|
+
this.onProcessExit = this._onProcessExit.event;
|
|
38
|
+
this._pendingInitialCwdRequests = [];
|
|
39
|
+
this._pendingCwdRequests = [];
|
|
40
|
+
}
|
|
41
|
+
emitData(data) {
|
|
42
|
+
this._onProcessData.fire(data);
|
|
43
|
+
}
|
|
44
|
+
emitTitle(title) {
|
|
45
|
+
this._onDidChangeProperty.fire({ type: "title" , value: title });
|
|
46
|
+
}
|
|
47
|
+
emitReady(pid, cwd) {
|
|
48
|
+
this._onProcessReady.fire({ pid, cwd, windowsPty: undefined });
|
|
49
|
+
}
|
|
50
|
+
emitProcessProperty({ type, value }) {
|
|
51
|
+
switch (type) {
|
|
52
|
+
case "cwd" :
|
|
53
|
+
this.emitCwd(value);
|
|
54
|
+
break;
|
|
55
|
+
case "initialCwd" :
|
|
56
|
+
this.emitInitialCwd(value);
|
|
57
|
+
break;
|
|
58
|
+
case "title" :
|
|
59
|
+
this.emitTitle(value);
|
|
60
|
+
break;
|
|
61
|
+
case "overrideDimensions" :
|
|
62
|
+
this.emitOverrideDimensions(value);
|
|
63
|
+
break;
|
|
64
|
+
case "resolvedShellLaunchConfig" :
|
|
65
|
+
this.emitResolvedShellLaunchConfig(value);
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
emitExit(exitCode) {
|
|
70
|
+
this._onProcessExit.fire(exitCode);
|
|
71
|
+
this.dispose();
|
|
72
|
+
}
|
|
73
|
+
emitOverrideDimensions(dimensions) {
|
|
74
|
+
this._onDidChangeProperty.fire({ type: "overrideDimensions" , value: dimensions });
|
|
75
|
+
}
|
|
76
|
+
emitResolvedShellLaunchConfig(shellLaunchConfig) {
|
|
77
|
+
this._onDidChangeProperty.fire({ type: "resolvedShellLaunchConfig" , value: shellLaunchConfig });
|
|
78
|
+
}
|
|
79
|
+
emitInitialCwd(initialCwd) {
|
|
80
|
+
while (this._pendingInitialCwdRequests.length > 0) {
|
|
81
|
+
this._pendingInitialCwdRequests.pop()(initialCwd);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
emitCwd(cwd) {
|
|
85
|
+
while (this._pendingCwdRequests.length > 0) {
|
|
86
|
+
this._pendingCwdRequests.pop()(cwd);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
async start() {
|
|
90
|
+
return this._terminalService.requestStartExtensionTerminal(this, this._cols, this._rows);
|
|
91
|
+
}
|
|
92
|
+
shutdown(immediate) {
|
|
93
|
+
this._onShutdown.fire(immediate);
|
|
94
|
+
}
|
|
95
|
+
input(data) {
|
|
96
|
+
this._onInput.fire(data);
|
|
97
|
+
}
|
|
98
|
+
resize(cols, rows) {
|
|
99
|
+
this._onResize.fire({ cols, rows });
|
|
100
|
+
}
|
|
101
|
+
clearBuffer() {
|
|
102
|
+
}
|
|
103
|
+
acknowledgeDataEvent() {
|
|
104
|
+
}
|
|
105
|
+
async setUnicodeVersion(version) {
|
|
106
|
+
}
|
|
107
|
+
async processBinary(data) {
|
|
108
|
+
this._onBinary.fire(data);
|
|
109
|
+
}
|
|
110
|
+
getInitialCwd() {
|
|
111
|
+
return ( new Promise(resolve => {
|
|
112
|
+
this._onRequestInitialCwd.fire();
|
|
113
|
+
this._pendingInitialCwdRequests.push(resolve);
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
getCwd() {
|
|
117
|
+
return ( new Promise(resolve => {
|
|
118
|
+
this._onRequestCwd.fire();
|
|
119
|
+
this._pendingCwdRequests.push(resolve);
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
async refreshProperty(type) {
|
|
123
|
+
}
|
|
124
|
+
async updateProperty(type, value) {
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
TerminalProcessExtHostProxy = ( __decorate([
|
|
128
|
+
( __param(3, ITerminalService))
|
|
129
|
+
], TerminalProcessExtHostProxy));
|
|
130
|
+
export { TerminalProcessExtHostProxy };
|
|
@@ -3,6 +3,7 @@ import { flatten } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
|
3
3
|
import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
4
4
|
import { Disposable, MutableDisposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
5
5
|
import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
|
|
6
|
+
import { isString } from 'monaco-editor/esm/vs/base/common/types.js';
|
|
6
7
|
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
7
8
|
import { MenuRegistry, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
|
|
8
9
|
import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
@@ -56,6 +57,24 @@ function addAccountUsage(storageService, providerId, accountName, extensionId, e
|
|
|
56
57
|
}
|
|
57
58
|
storageService.store(accountKey, JSON.stringify(usages), -1 , 1 );
|
|
58
59
|
}
|
|
60
|
+
async function getCurrentAuthenticationSessionInfo(secretStorageService, productService) {
|
|
61
|
+
const authenticationSessionValue = await secretStorageService.get(`${productService.urlProtocol}.loginAccount`);
|
|
62
|
+
if (authenticationSessionValue) {
|
|
63
|
+
try {
|
|
64
|
+
const authenticationSessionInfo = JSON.parse(authenticationSessionValue);
|
|
65
|
+
if (authenticationSessionInfo
|
|
66
|
+
&& isString(authenticationSessionInfo.id)
|
|
67
|
+
&& isString(authenticationSessionInfo.accessToken)
|
|
68
|
+
&& isString(authenticationSessionInfo.providerId)) {
|
|
69
|
+
return authenticationSessionInfo;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
console.error(`Failed parsing current auth session value: ${e}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
59
78
|
function readAllowedExtensions(storageService, providerId, accountName) {
|
|
60
79
|
let trustedExtensions = [];
|
|
61
80
|
try {
|
|
@@ -660,4 +679,4 @@ AuthenticationService = ( __decorate([
|
|
|
660
679
|
( __param(4, IQuickInputService)),
|
|
661
680
|
( __param(5, IProductService))
|
|
662
681
|
], AuthenticationService));
|
|
663
|
-
export { AuthenticationService, addAccountUsage, getAuthenticationProviderActivationEvent, readAccountUsages, readAllowedExtensions, removeAccountUsage };
|
|
682
|
+
export { AuthenticationService, addAccountUsage, getAuthenticationProviderActivationEvent, getCurrentAuthenticationSessionInfo, readAccountUsages, readAllowedExtensions, removeAccountUsage };
|
package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
2
|
+
const idDescription = ( nls.localizeWithPath(
|
|
3
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
4
|
+
'JsonSchema.input.id',
|
|
5
|
+
"The input's id is used to associate an input with a variable of the form ${input:id}."
|
|
6
|
+
));
|
|
7
|
+
const typeDescription = ( nls.localizeWithPath(
|
|
8
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
9
|
+
'JsonSchema.input.type',
|
|
10
|
+
"The type of user input prompt to use."
|
|
11
|
+
));
|
|
12
|
+
const descriptionDescription = ( nls.localizeWithPath(
|
|
13
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
14
|
+
'JsonSchema.input.description',
|
|
15
|
+
"The description is shown when the user is prompted for input."
|
|
16
|
+
));
|
|
17
|
+
const defaultDescription = ( nls.localizeWithPath(
|
|
18
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
19
|
+
'JsonSchema.input.default',
|
|
20
|
+
"The default value for the input."
|
|
21
|
+
));
|
|
22
|
+
const inputsSchema = {
|
|
23
|
+
definitions: {
|
|
24
|
+
inputs: {
|
|
25
|
+
type: 'array',
|
|
26
|
+
description: ( nls.localizeWithPath(
|
|
27
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
28
|
+
'JsonSchema.inputs',
|
|
29
|
+
'User inputs. Used for defining user input prompts, such as free string input or a choice from several options.'
|
|
30
|
+
)),
|
|
31
|
+
items: {
|
|
32
|
+
oneOf: [
|
|
33
|
+
{
|
|
34
|
+
type: 'object',
|
|
35
|
+
required: ['id', 'type', 'description'],
|
|
36
|
+
additionalProperties: false,
|
|
37
|
+
properties: {
|
|
38
|
+
id: {
|
|
39
|
+
type: 'string',
|
|
40
|
+
description: idDescription
|
|
41
|
+
},
|
|
42
|
+
type: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: typeDescription,
|
|
45
|
+
enum: ['promptString'],
|
|
46
|
+
enumDescriptions: [
|
|
47
|
+
( nls.localizeWithPath(
|
|
48
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
49
|
+
'JsonSchema.input.type.promptString',
|
|
50
|
+
"The 'promptString' type opens an input box to ask the user for input."
|
|
51
|
+
)),
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
description: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description: descriptionDescription
|
|
57
|
+
},
|
|
58
|
+
default: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: defaultDescription
|
|
61
|
+
},
|
|
62
|
+
password: {
|
|
63
|
+
type: 'boolean',
|
|
64
|
+
description: ( nls.localizeWithPath(
|
|
65
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
66
|
+
'JsonSchema.input.password',
|
|
67
|
+
"Controls if a password input is shown. Password input hides the typed text."
|
|
68
|
+
)),
|
|
69
|
+
},
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: 'object',
|
|
74
|
+
required: ['id', 'type', 'description', 'options'],
|
|
75
|
+
additionalProperties: false,
|
|
76
|
+
properties: {
|
|
77
|
+
id: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: idDescription
|
|
80
|
+
},
|
|
81
|
+
type: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: typeDescription,
|
|
84
|
+
enum: ['pickString'],
|
|
85
|
+
enumDescriptions: [
|
|
86
|
+
( nls.localizeWithPath(
|
|
87
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
88
|
+
'JsonSchema.input.type.pickString',
|
|
89
|
+
"The 'pickString' type shows a selection list."
|
|
90
|
+
)),
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
description: {
|
|
94
|
+
type: 'string',
|
|
95
|
+
description: descriptionDescription
|
|
96
|
+
},
|
|
97
|
+
default: {
|
|
98
|
+
type: 'string',
|
|
99
|
+
description: defaultDescription
|
|
100
|
+
},
|
|
101
|
+
options: {
|
|
102
|
+
type: 'array',
|
|
103
|
+
description: ( nls.localizeWithPath(
|
|
104
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
105
|
+
'JsonSchema.input.options',
|
|
106
|
+
"An array of strings that defines the options for a quick pick."
|
|
107
|
+
)),
|
|
108
|
+
items: {
|
|
109
|
+
oneOf: [
|
|
110
|
+
{
|
|
111
|
+
type: 'string'
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'object',
|
|
115
|
+
required: ['value'],
|
|
116
|
+
additionalProperties: false,
|
|
117
|
+
properties: {
|
|
118
|
+
label: {
|
|
119
|
+
type: 'string',
|
|
120
|
+
description: ( nls.localizeWithPath(
|
|
121
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
122
|
+
'JsonSchema.input.pickString.optionLabel',
|
|
123
|
+
"Label for the option."
|
|
124
|
+
))
|
|
125
|
+
},
|
|
126
|
+
value: {
|
|
127
|
+
type: 'string',
|
|
128
|
+
description: ( nls.localizeWithPath(
|
|
129
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
130
|
+
'JsonSchema.input.pickString.optionValue',
|
|
131
|
+
"Value for the option."
|
|
132
|
+
))
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'object',
|
|
143
|
+
required: ['id', 'type', 'command'],
|
|
144
|
+
additionalProperties: false,
|
|
145
|
+
properties: {
|
|
146
|
+
id: {
|
|
147
|
+
type: 'string',
|
|
148
|
+
description: idDescription
|
|
149
|
+
},
|
|
150
|
+
type: {
|
|
151
|
+
type: 'string',
|
|
152
|
+
description: typeDescription,
|
|
153
|
+
enum: ['command'],
|
|
154
|
+
enumDescriptions: [
|
|
155
|
+
( nls.localizeWithPath(
|
|
156
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
157
|
+
'JsonSchema.input.type.command',
|
|
158
|
+
"The 'command' type executes a command."
|
|
159
|
+
)),
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
command: {
|
|
163
|
+
type: 'string',
|
|
164
|
+
description: ( nls.localizeWithPath(
|
|
165
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
166
|
+
'JsonSchema.input.command.command',
|
|
167
|
+
"The command to execute for this input variable."
|
|
168
|
+
))
|
|
169
|
+
},
|
|
170
|
+
args: {
|
|
171
|
+
oneOf: [
|
|
172
|
+
{
|
|
173
|
+
type: 'object',
|
|
174
|
+
description: ( nls.localizeWithPath(
|
|
175
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
176
|
+
'JsonSchema.input.command.args',
|
|
177
|
+
"Optional arguments passed to the command."
|
|
178
|
+
))
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
type: 'array',
|
|
182
|
+
description: ( nls.localizeWithPath(
|
|
183
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
184
|
+
'JsonSchema.input.command.args',
|
|
185
|
+
"Optional arguments passed to the command."
|
|
186
|
+
))
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
type: 'string',
|
|
190
|
+
description: ( nls.localizeWithPath(
|
|
191
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverSchema',
|
|
192
|
+
'JsonSchema.input.command.args',
|
|
193
|
+
"Optional arguments passed to the command."
|
|
194
|
+
))
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
export { inputsSchema };
|
package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
2
|
+
function applyDeprecatedVariableMessage(schema) {
|
|
3
|
+
schema.pattern = schema.pattern || '^(?!.*\\$\\{(env|config|command)\\.)';
|
|
4
|
+
schema.patternErrorMessage = schema.patternErrorMessage ||
|
|
5
|
+
( nls.localizeWithPath(
|
|
6
|
+
'vs/workbench/services/configurationResolver/common/configurationResolverUtils',
|
|
7
|
+
'deprecatedVariables',
|
|
8
|
+
"'env.', 'config.' and 'command.' are deprecated, use 'env:', 'config:' and 'command:' instead."
|
|
9
|
+
));
|
|
10
|
+
}
|
|
11
|
+
export { applyDeprecatedVariableMessage };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as path from 'monaco-editor/esm/vs/base/common/path.js';
|
|
2
2
|
import * as process from 'monaco-editor/esm/vs/base/common/process.js';
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
3
|
+
import * as Types from 'monaco-editor/esm/vs/base/common/types.js';
|
|
4
|
+
import * as Objects from 'monaco-editor/esm/vs/base/common/objects.js';
|
|
5
5
|
import { isWindows, isMacintosh, isLinux } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
6
6
|
import { normalizeDriveLetter } from 'monaco-editor/esm/vs/base/common/labels.js';
|
|
7
7
|
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
@@ -42,7 +42,7 @@ class AbstractVariableResolverService {
|
|
|
42
42
|
return this.recursiveResolve(environment, root ? root.uri : undefined, value);
|
|
43
43
|
}
|
|
44
44
|
async resolveAnyBase(workspaceFolder, config, commandValueMapping, resolvedVariables) {
|
|
45
|
-
const result =
|
|
45
|
+
const result = Objects.deepClone(config);
|
|
46
46
|
if (isWindows && result.windows) {
|
|
47
47
|
( Object.keys(result.windows)).forEach(key => result[key] = result.windows[key]);
|
|
48
48
|
}
|
|
@@ -84,7 +84,7 @@ class AbstractVariableResolverService {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
async recursiveResolve(environment, folderUri, value, commandValueMapping, resolvedVariables) {
|
|
87
|
-
if (
|
|
87
|
+
if (Types.isString(value)) {
|
|
88
88
|
return this.resolveString(environment, folderUri, value, commandValueMapping, resolvedVariables);
|
|
89
89
|
}
|
|
90
90
|
else if (Array.isArray(value)) {
|
|
@@ -92,7 +92,7 @@ class AbstractVariableResolverService {
|
|
|
92
92
|
s => this.recursiveResolve(environment, folderUri, s, commandValueMapping, resolvedVariables)
|
|
93
93
|
)));
|
|
94
94
|
}
|
|
95
|
-
else if (
|
|
95
|
+
else if (Types.isObject(value)) {
|
|
96
96
|
const result = Object.create(null);
|
|
97
97
|
const replaced = await Promise.all(( ( Object.keys(value)).map(async (key) => {
|
|
98
98
|
const replaced = await this.resolveString(environment, folderUri, key, commandValueMapping, resolvedVariables);
|
|
@@ -112,7 +112,7 @@ class AbstractVariableResolverService {
|
|
|
112
112
|
}
|
|
113
113
|
let resolvedValue = await this.evaluateSingleVariable(environment, match, variable, folderUri, commandValueMapping);
|
|
114
114
|
resolvedVariables?.set(variable, resolvedValue);
|
|
115
|
-
if ((resolvedValue !== match) &&
|
|
115
|
+
if ((resolvedValue !== match) && Types.isString(resolvedValue) && resolvedValue.match(AbstractVariableResolverService.VARIABLE_REGEXP)) {
|
|
116
116
|
resolvedValue = await this.resolveString(environment, folderUri, resolvedValue, commandValueMapping, resolvedVariables);
|
|
117
117
|
}
|
|
118
118
|
return resolvedValue;
|
|
@@ -166,7 +166,7 @@ class AbstractVariableResolverService {
|
|
|
166
166
|
if (argument) {
|
|
167
167
|
if (environment.env) {
|
|
168
168
|
const env = environment.env[isWindows ? argument.toLowerCase() : argument];
|
|
169
|
-
if (
|
|
169
|
+
if (Types.isString(env)) {
|
|
170
170
|
return env;
|
|
171
171
|
}
|
|
172
172
|
}
|
|
@@ -176,10 +176,10 @@ class AbstractVariableResolverService {
|
|
|
176
176
|
case 'config':
|
|
177
177
|
if (argument) {
|
|
178
178
|
const config = this._context.getConfigurationValue(folderUri, argument);
|
|
179
|
-
if (
|
|
179
|
+
if (Types.isUndefinedOrNull(config)) {
|
|
180
180
|
throw new VariableError(VariableKind.Config, localizeWithPath('vs/workbench/services/configurationResolver/common/variableResolver', 'configNotFound', "Variable {0} can not be resolved because setting '{1}' not found.", match, argument));
|
|
181
181
|
}
|
|
182
|
-
if (
|
|
182
|
+
if (Types.isObject(config)) {
|
|
183
183
|
throw new VariableError(VariableKind.Config, localizeWithPath('vs/workbench/services/configurationResolver/common/variableResolver', 'configNoString', "Variable {0} can not be resolved because '{1}' is a structured value.", match, argument));
|
|
184
184
|
}
|
|
185
185
|
return config;
|
|
@@ -2,7 +2,7 @@ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.e
|
|
|
2
2
|
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
3
3
|
import { Queue } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
4
4
|
import * as json from 'monaco-editor/esm/vs/base/common/json.js';
|
|
5
|
-
import * as
|
|
5
|
+
import * as Objects from 'monaco-editor/esm/vs/base/common/objects.js';
|
|
6
6
|
import { setProperty } from '../../../../base/common/jsonEdit.js';
|
|
7
7
|
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
8
8
|
import { EditOperation } from 'monaco-editor/esm/vs/editor/common/core/editOperation.js';
|
|
@@ -181,7 +181,7 @@ let KeybindingsEditingService = class KeybindingsEditingService extends Disposab
|
|
|
181
181
|
if (whenA && whenB && !whenA.equals(whenB)) {
|
|
182
182
|
return false;
|
|
183
183
|
}
|
|
184
|
-
if (!
|
|
184
|
+
if (!Objects.equals(a.args, b.args)) {
|
|
185
185
|
return false;
|
|
186
186
|
}
|
|
187
187
|
return true;
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
import { compare } from 'monaco-editor/esm/vs/base/common/strings.js';
|
|
2
|
+
import { LanguageFeatureRegistry } from 'monaco-editor/esm/vs/editor/common/languageFeatureRegistry.js';
|
|
1
3
|
import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
2
4
|
const ILanguageStatusService = ( createDecorator('ILanguageStatusService'));
|
|
3
|
-
|
|
5
|
+
class LanguageStatusServiceImpl {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._provider = ( new LanguageFeatureRegistry());
|
|
8
|
+
this.onDidChange = this._provider.onDidChange;
|
|
9
|
+
}
|
|
10
|
+
addStatus(status) {
|
|
11
|
+
return this._provider.register(status.selector, status);
|
|
12
|
+
}
|
|
13
|
+
getLanguageStatus(model) {
|
|
14
|
+
return this._provider.ordered(model).sort((a, b) => {
|
|
15
|
+
let res = b.severity - a.severity;
|
|
16
|
+
if (res === 0) {
|
|
17
|
+
res = compare(a.source, b.source);
|
|
18
|
+
}
|
|
19
|
+
if (res === 0) {
|
|
20
|
+
res = compare(a.id, b.id);
|
|
21
|
+
}
|
|
22
|
+
return res;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export { ILanguageStatusService, LanguageStatusServiceImpl };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { OS } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
3
|
+
import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
4
|
+
import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
|
|
5
|
+
import { EditorInput } from '../../../common/editor/editorInput.js';
|
|
6
|
+
import { KeybindingsEditorModel } from './keybindingsEditorModel.js';
|
|
7
|
+
var KeybindingsEditorInput_1;
|
|
8
|
+
let KeybindingsEditorInput = class KeybindingsEditorInput extends EditorInput {
|
|
9
|
+
static { KeybindingsEditorInput_1 = this; }
|
|
10
|
+
static { this.ID = 'workbench.input.keybindings'; }
|
|
11
|
+
constructor(instantiationService) {
|
|
12
|
+
super();
|
|
13
|
+
this.searchOptions = null;
|
|
14
|
+
this.resource = undefined;
|
|
15
|
+
this.keybindingsModel = instantiationService.createInstance(KeybindingsEditorModel, OS);
|
|
16
|
+
}
|
|
17
|
+
get typeId() {
|
|
18
|
+
return KeybindingsEditorInput_1.ID;
|
|
19
|
+
}
|
|
20
|
+
getName() {
|
|
21
|
+
return ( nls.localizeWithPath(
|
|
22
|
+
'vs/workbench/services/preferences/browser/keybindingsEditorInput',
|
|
23
|
+
'keybindingsInputName',
|
|
24
|
+
"Keyboard Shortcuts"
|
|
25
|
+
));
|
|
26
|
+
}
|
|
27
|
+
async resolve() {
|
|
28
|
+
return this.keybindingsModel;
|
|
29
|
+
}
|
|
30
|
+
matches(otherInput) {
|
|
31
|
+
return otherInput instanceof KeybindingsEditorInput_1;
|
|
32
|
+
}
|
|
33
|
+
dispose() {
|
|
34
|
+
this.keybindingsModel.dispose();
|
|
35
|
+
super.dispose();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
KeybindingsEditorInput = KeybindingsEditorInput_1 = ( __decorate([
|
|
39
|
+
( __param(0, IInstantiationService))
|
|
40
|
+
], KeybindingsEditorInput));
|
|
41
|
+
export { KeybindingsEditorInput };
|