@codingame/monaco-vscode-api 1.85.1 → 1.85.3

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.
Files changed (67) hide show
  1. package/README.md +18 -5
  2. package/missing-services.js +324 -64
  3. package/monaco-editor-treemending.patch +946 -946
  4. package/package.json +8 -7
  5. package/service-override/tools/editor.js +1 -1
  6. package/services.js +10 -6
  7. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +14 -0
  8. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +140 -0
  9. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1062 -93
  10. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +220 -0
  11. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +102 -0
  12. package/vscode/src/vs/platform/userDataSync/common/content.js +9 -0
  13. package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +514 -0
  14. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +154 -2
  15. package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.js +43 -1
  16. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +177 -0
  17. package/vscode/src/vs/platform/workspace/common/virtualWorkspace.js +4 -1
  18. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -1
  19. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +1 -1
  20. package/vscode/src/vs/workbench/api/common/extHostWebview.js +2 -2
  21. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +105 -0
  22. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +4 -0
  23. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +1614 -0
  24. package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +7 -7
  25. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +73 -2
  26. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +6 -6
  27. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +12 -2
  28. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +712 -0
  29. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +130 -0
  30. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +2 -1
  31. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +20 -1
  32. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +205 -0
  33. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +11 -0
  34. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +9 -9
  35. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +1 -1
  36. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +2 -2
  37. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.js +24 -1
  38. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +41 -0
  39. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +588 -0
  40. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +43 -0
  41. package/vscode/src/vs/workbench/services/search/common/search.js +3 -3
  42. package/vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.js +75 -1
  43. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +240 -1
  44. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.js +31 -1
  45. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +25 -1
  46. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +75 -1
  47. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +74 -4
  48. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +708 -0
  49. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistory.js +4 -0
  50. package/vscode/src/vs/base/parts/request/browser/request.js +0 -60
  51. package/vscode/src/vs/platform/request/browser/requestService.js +0 -28
  52. package/vscode/src/vs/platform/request/common/requestIpc.js +0 -17
  53. package/vscode/src/vs/platform/url/common/urlService.js +0 -17
  54. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +0 -120
  55. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +0 -319
  56. package/vscode/src/vs/workbench/services/files/browser/elevatedFileService.js +0 -9
  57. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +0 -408
  58. package/vscode/src/vs/workbench/services/request/browser/requestService.js +0 -48
  59. package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +0 -56
  60. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +0 -639
  61. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +0 -402
  62. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +0 -62
  63. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +0 -38
  64. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +0 -295
  65. package/vscode/src/vs/workbench/services/url/browser/urlService.js +0 -47
  66. package/vscode/src/vs/workbench/services/views/common/treeViewsService.js +0 -20
  67. package/vscode/src/vs/workbench/services/workspaces/common/canonicalUriService.js +0 -19
@@ -1,3 +1,45 @@
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';
1
4
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
5
+ import { IUserDataSyncStoreService, IUserDataSyncLogService } from './userDataSync.js';
2
6
  const IUserDataSyncAccountService = ( createDecorator('IUserDataSyncAccountService'));
3
- export { IUserDataSyncAccountService };
7
+ let UserDataSyncAccountService = class UserDataSyncAccountService extends Disposable {
8
+ get account() { return this._account; }
9
+ constructor(userDataSyncStoreService, logService) {
10
+ super();
11
+ this.userDataSyncStoreService = userDataSyncStoreService;
12
+ this.logService = logService;
13
+ this._onDidChangeAccount = this._register(( new Emitter()));
14
+ this.onDidChangeAccount = this._onDidChangeAccount.event;
15
+ this._onTokenFailed = this._register(( new Emitter()));
16
+ this.onTokenFailed = this._onTokenFailed.event;
17
+ this.wasTokenFailed = false;
18
+ this._register(userDataSyncStoreService.onTokenFailed(code => {
19
+ this.logService.info('Settings Sync auth token failed', this.account?.authenticationProviderId, this.wasTokenFailed, code);
20
+ this.updateAccount(undefined);
21
+ if (code === "Forbidden" ) {
22
+ this._onTokenFailed.fire(true );
23
+ }
24
+ else {
25
+ this._onTokenFailed.fire(this.wasTokenFailed );
26
+ }
27
+ this.wasTokenFailed = true;
28
+ }));
29
+ this._register(userDataSyncStoreService.onTokenSucceed(() => this.wasTokenFailed = false));
30
+ }
31
+ async updateAccount(account) {
32
+ if (account && this._account ? account.token !== this._account.token || account.authenticationProviderId !== this._account.authenticationProviderId : account !== this._account) {
33
+ this._account = account;
34
+ if (this._account) {
35
+ this.userDataSyncStoreService.setAuthToken(this._account.token, this._account.authenticationProviderId);
36
+ }
37
+ this._onDidChangeAccount.fire(account);
38
+ }
39
+ }
40
+ };
41
+ UserDataSyncAccountService = ( __decorate([
42
+ ( __param(0, IUserDataSyncStoreService)),
43
+ ( __param(1, IUserDataSyncLogService))
44
+ ], UserDataSyncAccountService));
45
+ export { IUserDataSyncAccountService, UserDataSyncAccountService };
@@ -0,0 +1,177 @@
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 { isSafari, isChrome, isEdge, isFirefox, isAndroid, PlatformToString, isWeb, platform } from 'monaco-editor/esm/vs/base/common/platform.js';
5
+ import { escapeRegExpCharacters } from 'monaco-editor/esm/vs/base/common/strings.js';
6
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
7
+ import { IEnvironmentService } from 'monaco-editor/esm/vs/platform/environment/common/environment.js';
8
+ import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
9
+ import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
10
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
11
+ import { getServiceMachineId } from '../../externalServices/common/serviceMachineId.js';
12
+ import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
13
+ import { IUserDataSyncStoreService, IUserDataSyncLogService } from './userDataSync.js';
14
+ var UserDataSyncMachinesService_1;
15
+ const IUserDataSyncMachinesService = ( createDecorator('IUserDataSyncMachinesService'));
16
+ const currentMachineNameKey = 'sync.currentMachineName';
17
+ const Safari = 'Safari';
18
+ const Chrome = 'Chrome';
19
+ const Edge = 'Edge';
20
+ const Firefox = 'Firefox';
21
+ const Android = 'Android';
22
+ function isWebPlatform(platform) {
23
+ switch (platform) {
24
+ case Safari:
25
+ case Chrome:
26
+ case Edge:
27
+ case Firefox:
28
+ case Android:
29
+ case PlatformToString(0 ):
30
+ return true;
31
+ }
32
+ return false;
33
+ }
34
+ function getPlatformName() {
35
+ if (isSafari) {
36
+ return Safari;
37
+ }
38
+ if (isChrome) {
39
+ return Chrome;
40
+ }
41
+ if (isEdge) {
42
+ return Edge;
43
+ }
44
+ if (isFirefox) {
45
+ return Firefox;
46
+ }
47
+ if (isAndroid) {
48
+ return Android;
49
+ }
50
+ return PlatformToString(isWeb ? 0 : platform);
51
+ }
52
+ let UserDataSyncMachinesService = class UserDataSyncMachinesService extends Disposable {
53
+ static { UserDataSyncMachinesService_1 = this; }
54
+ static { this.VERSION = 1; }
55
+ static { this.RESOURCE = 'machines'; }
56
+ constructor(environmentService, fileService, storageService, userDataSyncStoreService, logService, productService) {
57
+ super();
58
+ this.storageService = storageService;
59
+ this.userDataSyncStoreService = userDataSyncStoreService;
60
+ this.logService = logService;
61
+ this.productService = productService;
62
+ this._onDidChange = this._register(( new Emitter()));
63
+ this.onDidChange = this._onDidChange.event;
64
+ this.userData = null;
65
+ this.currentMachineIdPromise = getServiceMachineId(environmentService, fileService, storageService);
66
+ }
67
+ async getMachines(manifest) {
68
+ const currentMachineId = await this.currentMachineIdPromise;
69
+ const machineData = await this.readMachinesData(manifest);
70
+ return ( machineData.machines.map(
71
+ machine => ({ ...machine, ...{ isCurrent: machine.id === currentMachineId } })
72
+ ));
73
+ }
74
+ async addCurrentMachine(manifest) {
75
+ const currentMachineId = await this.currentMachineIdPromise;
76
+ const machineData = await this.readMachinesData(manifest);
77
+ if (!( machineData.machines.some(({ id }) => id === currentMachineId))) {
78
+ machineData.machines.push({ id: currentMachineId, name: this.computeCurrentMachineName(machineData.machines), platform: getPlatformName() });
79
+ await this.writeMachinesData(machineData);
80
+ }
81
+ }
82
+ async removeCurrentMachine(manifest) {
83
+ const currentMachineId = await this.currentMachineIdPromise;
84
+ const machineData = await this.readMachinesData(manifest);
85
+ const updatedMachines = machineData.machines.filter(({ id }) => id !== currentMachineId);
86
+ if (updatedMachines.length !== machineData.machines.length) {
87
+ machineData.machines = updatedMachines;
88
+ await this.writeMachinesData(machineData);
89
+ }
90
+ }
91
+ async renameMachine(machineId, name, manifest) {
92
+ const machineData = await this.readMachinesData(manifest);
93
+ const machine = machineData.machines.find(({ id }) => id === machineId);
94
+ if (machine) {
95
+ machine.name = name;
96
+ await this.writeMachinesData(machineData);
97
+ const currentMachineId = await this.currentMachineIdPromise;
98
+ if (machineId === currentMachineId) {
99
+ this.storageService.store(currentMachineNameKey, name, -1 , 1 );
100
+ }
101
+ }
102
+ }
103
+ async setEnablements(enablements) {
104
+ const machineData = await this.readMachinesData();
105
+ for (const [machineId, enabled] of enablements) {
106
+ const machine = machineData.machines.find(machine => machine.id === machineId);
107
+ if (machine) {
108
+ machine.disabled = enabled ? undefined : true;
109
+ }
110
+ }
111
+ await this.writeMachinesData(machineData);
112
+ }
113
+ computeCurrentMachineName(machines) {
114
+ const previousName = this.storageService.get(currentMachineNameKey, -1 );
115
+ if (previousName) {
116
+ return previousName;
117
+ }
118
+ const namePrefix = `${this.productService.embedderIdentifier ? `${this.productService.embedderIdentifier} - ` : ''}${getPlatformName()} (${this.productService.nameShort})`;
119
+ const nameRegEx = ( new RegExp(`${escapeRegExpCharacters(namePrefix)}\\s#(\\d+)`));
120
+ let nameIndex = 0;
121
+ for (const machine of machines) {
122
+ const matches = nameRegEx.exec(machine.name);
123
+ const index = matches ? parseInt(matches[1]) : 0;
124
+ nameIndex = index > nameIndex ? index : nameIndex;
125
+ }
126
+ return `${namePrefix} #${nameIndex + 1}`;
127
+ }
128
+ async readMachinesData(manifest) {
129
+ this.userData = await this.readUserData(manifest);
130
+ const machinesData = this.parse(this.userData);
131
+ if (machinesData.version !== UserDataSyncMachinesService_1.VERSION) {
132
+ throw new Error(localizeWithPath('vs/platform/userDataSync/common/userDataSyncMachines', 'error incompatible', "Cannot read machines data as the current version is incompatible. Please update {0} and try again.", this.productService.nameLong));
133
+ }
134
+ return machinesData;
135
+ }
136
+ async writeMachinesData(machinesData) {
137
+ const content = JSON.stringify(machinesData);
138
+ const ref = await this.userDataSyncStoreService.writeResource(UserDataSyncMachinesService_1.RESOURCE, content, this.userData?.ref || null);
139
+ this.userData = { ref, content };
140
+ this._onDidChange.fire();
141
+ }
142
+ async readUserData(manifest) {
143
+ if (this.userData) {
144
+ const latestRef = manifest && manifest.latest ? manifest.latest[UserDataSyncMachinesService_1.RESOURCE] : undefined;
145
+ if (this.userData.ref === latestRef) {
146
+ return this.userData;
147
+ }
148
+ if (latestRef === undefined && this.userData.content === null) {
149
+ return this.userData;
150
+ }
151
+ }
152
+ return this.userDataSyncStoreService.readResource(UserDataSyncMachinesService_1.RESOURCE, this.userData);
153
+ }
154
+ parse(userData) {
155
+ if (userData.content !== null) {
156
+ try {
157
+ return JSON.parse(userData.content);
158
+ }
159
+ catch (e) {
160
+ this.logService.error(e);
161
+ }
162
+ }
163
+ return {
164
+ version: UserDataSyncMachinesService_1.VERSION,
165
+ machines: []
166
+ };
167
+ }
168
+ };
169
+ UserDataSyncMachinesService = UserDataSyncMachinesService_1 = ( __decorate([
170
+ ( __param(0, IEnvironmentService)),
171
+ ( __param(1, IFileService)),
172
+ ( __param(2, IStorageService)),
173
+ ( __param(3, IUserDataSyncStoreService)),
174
+ ( __param(4, IUserDataSyncLogService)),
175
+ ( __param(5, IProductService))
176
+ ], UserDataSyncMachinesService));
177
+ export { IUserDataSyncMachinesService, UserDataSyncMachinesService, isWebPlatform };
@@ -14,7 +14,10 @@ function getVirtualWorkspaceLocation(workspace) {
14
14
  function getVirtualWorkspaceScheme(workspace) {
15
15
  return getVirtualWorkspaceLocation(workspace)?.scheme;
16
16
  }
17
+ function getVirtualWorkspaceAuthority(workspace) {
18
+ return getVirtualWorkspaceLocation(workspace)?.authority;
19
+ }
17
20
  function isVirtualWorkspace(workspace) {
18
21
  return getVirtualWorkspaceLocation(workspace) !== undefined;
19
22
  }
20
- export { getVirtualWorkspaceLocation, getVirtualWorkspaceScheme, isVirtualResource, isVirtualWorkspace };
23
+ export { getVirtualWorkspaceAuthority, getVirtualWorkspaceLocation, getVirtualWorkspaceScheme, isVirtualResource, isVirtualWorkspace };
@@ -5,7 +5,7 @@ import * as languages from 'monaco-editor/esm/vs/editor/common/languages.js';
5
5
  import { decodeSemanticTokensDto } from 'monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js';
6
6
  import { validateWhenClauses } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
7
7
  import { ApiCommand, ApiCommandArgument, ApiCommandResult } from './extHostCommands.js';
8
- import { Position as Position$1, Range, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, WorkspaceEdit, DocumentLink, SignatureHelp, Selection as Selection$1, Color, ColorPresentation, InlayHint, FoldingRange, InlineValueContext, InlineValue, ViewColumn, TextEditorOpenOptions, TypeHierarchyItem, MappedEditsContext, DefinitionLink, location, DocumentHighlight, SymbolKind, TextEdit, Hover, CompletionItem, NotebookExclusiveDocumentPattern } from './extHostTypeConverters.js';
8
+ import { Position as Position$1, Range, WorkspaceSymbol, CallHierarchyItem, CallHierarchyIncomingCall, CallHierarchyOutgoingCall, WorkspaceEdit, DocumentLink, CompletionItem, SignatureHelp, Selection as Selection$1, Color, ColorPresentation, InlayHint, FoldingRange, InlineValueContext, InlineValue, ViewColumn, TextEditorOpenOptions, TypeHierarchyItem, MappedEditsContext, DefinitionLink, location, DocumentHighlight, SymbolKind, TextEdit, Hover, NotebookExclusiveDocumentPattern } from './extHostTypeConverters.js';
9
9
  import { Position, SelectionRange, SemanticTokensLegend, SemanticTokens, CompletionList, Range as Range$1, Selection, ColorInformation, Color as Color$1, SymbolInformation, Location, CodeLens, CodeAction, CodeActionKind } from './extHostTypes.js';
10
10
  const newCommands = [
11
11
  (
@@ -19,7 +19,7 @@ import { CellKind, NotebookCellExecutionState as NotebookCellExecutionState$1 }
19
19
  import { TestId } from '../../contrib/testing/common/testId.js';
20
20
  import { namespaceTestTag, denamespaceTestTag } from '../../contrib/testing/common/testTypes.js';
21
21
  import { SIDE_GROUP, ACTIVE_GROUP } from '../../services/editor/common/editorService.js';
22
- import { Position as Position$1, Selection as Selection$1, Range as Range$1, Diagnostic as Diagnostic$1, ViewColumn as ViewColumn$1, MarkdownString as MarkdownString$1, TextEdit as TextEdit$1, WorkspaceEdit as WorkspaceEdit$1, SnippetTextEdit, SnippetString, SymbolKind as SymbolKind$1, SymbolInformation, CallHierarchyItem as CallHierarchyItem$1, CallHierarchyIncomingCall as CallHierarchyIncomingCall$1, CallHierarchyOutgoingCall as CallHierarchyOutgoingCall$1, Location, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineValueContext as InlineValueContext$1, InlayHint as InlayHint$1, DocumentLink as DocumentLink$1, ColorPresentation as ColorPresentation$1, Color as Color$1, NotebookRange as NotebookRange$1, NotebookCellData as NotebookCellData$1, NotebookCellOutputItem as NotebookCellOutputItem$1, NotebookCellOutput as NotebookCellOutput$1, TestTag as TestTag$1, CodeActionTriggerKind as CodeActionTriggerKind$1, TypeHierarchyItem as TypeHierarchyItem$1, ChatMessage as ChatMessage$1, InteractiveEditorResponseFeedbackKind as InteractiveEditorResponseFeedbackKind$1, DiagnosticRelatedInformation as DiagnosticRelatedInformation$1, DiagnosticSeverity as DiagnosticSeverity$1, SymbolTag as SymbolTag$1, DocumentSymbol as DocumentSymbol$1, Hover as Hover$1, EvaluatableExpression as EvaluatableExpression$1, DocumentHighlight as DocumentHighlight$1, MultiDocumentHighlight as MultiDocumentHighlight$1, CompletionItemTag as CompletionItemTag$1, CompletionItemKind as CompletionItemKind$1, CompletionItem as CompletionItem$1, InlayHintLabelPart as InlayHintLabelPart$1, SelectionRange as SelectionRange$1, EndOfLine as EndOfLine$1, FoldingRangeKind as FoldingRangeKind$1, RelativePattern, NotebookData as NotebookData$1, NotebookCellStatusBarAlignment, DataTransfer as DataTransfer$1, ChatMessageRole as ChatMessageRole$1, ChatVariableLevel as ChatVariableLevel$1, DiagnosticTag as DiagnosticTag$1, DecorationRangeBehavior as DecorationRangeBehavior$1, NotebookCellKind as NotebookCellKind$1, StandardTokenType, CompletionTriggerKind as CompletionTriggerKind$1, TextDocumentSaveReason as TextDocumentSaveReason$1, TextEditorLineNumbersStyle as TextEditorLineNumbersStyle$1, ProgressLocation as ProgressLocation$1, NotebookCellExecutionState as NotebookCellExecutionState$2, TestMessage as TestMessage$1, InternalFileDataTransferItem, DataTransferFile, InternalDataTransferItem, NotebookRendererScript as NotebookRendererScript$1 } from './extHostTypes.js';
22
+ import { Position as Position$1, Selection as Selection$1, Range as Range$1, Diagnostic as Diagnostic$1, ViewColumn as ViewColumn$1, MarkdownString as MarkdownString$1, TextEdit as TextEdit$1, WorkspaceEdit as WorkspaceEdit$1, SnippetTextEdit, SnippetString, SymbolKind as SymbolKind$1, SymbolInformation, CallHierarchyItem as CallHierarchyItem$1, CallHierarchyIncomingCall as CallHierarchyIncomingCall$1, CallHierarchyOutgoingCall as CallHierarchyOutgoingCall$1, Location, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineValueContext as InlineValueContext$1, CompletionItem as CompletionItem$1, InlayHint as InlayHint$1, DocumentLink as DocumentLink$1, ColorPresentation as ColorPresentation$1, Color as Color$1, NotebookRange as NotebookRange$1, NotebookCellData as NotebookCellData$1, NotebookCellOutputItem as NotebookCellOutputItem$1, NotebookCellOutput as NotebookCellOutput$1, TestTag as TestTag$1, CodeActionTriggerKind as CodeActionTriggerKind$1, TypeHierarchyItem as TypeHierarchyItem$1, ChatMessage as ChatMessage$1, InteractiveEditorResponseFeedbackKind as InteractiveEditorResponseFeedbackKind$1, DiagnosticRelatedInformation as DiagnosticRelatedInformation$1, DiagnosticSeverity as DiagnosticSeverity$1, SymbolTag as SymbolTag$1, DocumentSymbol as DocumentSymbol$1, Hover as Hover$1, EvaluatableExpression as EvaluatableExpression$1, DocumentHighlight as DocumentHighlight$1, MultiDocumentHighlight as MultiDocumentHighlight$1, CompletionItemTag as CompletionItemTag$1, CompletionItemKind as CompletionItemKind$1, InlayHintLabelPart as InlayHintLabelPart$1, SelectionRange as SelectionRange$1, EndOfLine as EndOfLine$1, FoldingRangeKind as FoldingRangeKind$1, RelativePattern, NotebookData as NotebookData$1, NotebookCellStatusBarAlignment, DataTransfer as DataTransfer$1, ChatMessageRole as ChatMessageRole$1, ChatVariableLevel as ChatVariableLevel$1, DiagnosticTag as DiagnosticTag$1, DecorationRangeBehavior as DecorationRangeBehavior$1, NotebookCellKind as NotebookCellKind$1, StandardTokenType, CompletionTriggerKind as CompletionTriggerKind$1, TextDocumentSaveReason as TextDocumentSaveReason$1, TextEditorLineNumbersStyle as TextEditorLineNumbersStyle$1, ProgressLocation as ProgressLocation$1, NotebookCellExecutionState as NotebookCellExecutionState$2, TestMessage as TestMessage$1, InternalFileDataTransferItem, DataTransferFile, InternalDataTransferItem, NotebookRendererScript as NotebookRendererScript$1 } from './extHostTypes.js';
23
23
  import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
24
24
  var Selection;
25
25
  ( (function(Selection) {
@@ -1,7 +1,7 @@
1
1
  import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
2
2
  import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
3
  import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
4
- import * as objects from 'monaco-editor/esm/vs/base/common/objects.js';
4
+ import * as Objects from 'monaco-editor/esm/vs/base/common/objects.js';
5
5
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
6
6
  import { normalizeVersion, parseVersion } from '../../../platform/extensions/common/extensionValidator.js';
7
7
  import { deserializeWebviewMessage, serializeWebviewMessage } from './extHostWebviewMessaging.js';
@@ -81,7 +81,7 @@ class ExtHostWebview {
81
81
  }
82
82
  set options(newOptions) {
83
83
  this.assertNotDisposed();
84
- if (!objects.equals(this.#options, newOptions)) {
84
+ if (!Objects.equals(this.#options, newOptions)) {
85
85
  this.#proxy.$setOptions(this.#handle, serializeWebviewOptions(this.#extension, this.#workspace, newOptions));
86
86
  }
87
87
  this.#options = newOptions;
@@ -0,0 +1,105 @@
1
+ import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
2
+ import { setupCustomHover } from 'monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js';
3
+ import { Toggle } from 'monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js';
4
+ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
5
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
6
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
7
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
8
+ import { defaultToggleStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
9
+ class CheckboxStateHandler extends Disposable {
10
+ constructor() {
11
+ super(...arguments);
12
+ this._onDidChangeCheckboxState = this._register(( new Emitter()));
13
+ this.onDidChangeCheckboxState = this._onDidChangeCheckboxState.event;
14
+ }
15
+ setCheckboxState(node) {
16
+ this._onDidChangeCheckboxState.fire([node]);
17
+ }
18
+ }
19
+ class TreeItemCheckbox extends Disposable {
20
+ static { this.checkboxClass = 'custom-view-tree-node-item-checkbox'; }
21
+ constructor(container, checkboxStateHandler, hoverDelegate) {
22
+ super();
23
+ this.checkboxStateHandler = checkboxStateHandler;
24
+ this.hoverDelegate = hoverDelegate;
25
+ this.isDisposed = false;
26
+ this._onDidChangeState = ( new Emitter());
27
+ this.onDidChangeState = this._onDidChangeState.event;
28
+ this.checkboxContainer = container;
29
+ }
30
+ render(node) {
31
+ if (node.checkbox) {
32
+ if (!this.toggle) {
33
+ this.createCheckbox(node);
34
+ }
35
+ else {
36
+ this.toggle.checked = node.checkbox.isChecked;
37
+ this.toggle.setIcon(this.toggle.checked ? Codicon.check : undefined);
38
+ }
39
+ }
40
+ }
41
+ createCheckbox(node) {
42
+ if (node.checkbox) {
43
+ this.toggle = ( new Toggle({
44
+ isChecked: node.checkbox.isChecked,
45
+ title: '',
46
+ icon: node.checkbox.isChecked ? Codicon.check : undefined,
47
+ ...defaultToggleStyles
48
+ }));
49
+ this.setHover(node.checkbox);
50
+ this.setAccessibilityInformation(node.checkbox);
51
+ this.toggle.domNode.classList.add(TreeItemCheckbox.checkboxClass);
52
+ this.toggle.domNode.tabIndex = 1;
53
+ dom.append(this.checkboxContainer, this.toggle.domNode);
54
+ this.registerListener(node);
55
+ }
56
+ }
57
+ registerListener(node) {
58
+ if (this.toggle) {
59
+ this._register({ dispose: () => this.removeCheckbox() });
60
+ this._register(this.toggle);
61
+ this._register(this.toggle.onChange(() => {
62
+ this.setCheckbox(node);
63
+ }));
64
+ }
65
+ }
66
+ setHover(checkbox) {
67
+ if (this.toggle) {
68
+ if (!this.hover) {
69
+ this.hover = setupCustomHover(this.hoverDelegate, this.toggle.domNode, this.checkboxHoverContent(checkbox));
70
+ this._register(this.hover);
71
+ }
72
+ else {
73
+ this.hover.update(checkbox.tooltip);
74
+ }
75
+ }
76
+ }
77
+ setCheckbox(node) {
78
+ if (this.toggle && node.checkbox) {
79
+ node.checkbox.isChecked = this.toggle.checked;
80
+ this.toggle.setIcon(this.toggle.checked ? Codicon.check : undefined);
81
+ this.setHover(node.checkbox);
82
+ this.setAccessibilityInformation(node.checkbox);
83
+ this.checkboxStateHandler.setCheckboxState(node);
84
+ }
85
+ }
86
+ checkboxHoverContent(checkbox) {
87
+ return checkbox.tooltip ? checkbox.tooltip :
88
+ checkbox.isChecked ? ( localizeWithPath('vs/workbench/browser/parts/views/checkbox', 'checked', 'Checked')) : ( localizeWithPath('vs/workbench/browser/parts/views/checkbox', 'unchecked', 'Unchecked'));
89
+ }
90
+ setAccessibilityInformation(checkbox) {
91
+ if (this.toggle && checkbox.accessibilityInformation) {
92
+ this.toggle.domNode.ariaLabel = checkbox.accessibilityInformation.label;
93
+ if (checkbox.accessibilityInformation.role) {
94
+ this.toggle.domNode.role = checkbox.accessibilityInformation.role;
95
+ }
96
+ }
97
+ }
98
+ removeCheckbox() {
99
+ const children = this.checkboxContainer.children;
100
+ for (const child of children) {
101
+ this.checkboxContainer.removeChild(child);
102
+ }
103
+ }
104
+ }
105
+ export { CheckboxStateHandler, TreeItemCheckbox };
@@ -0,0 +1,4 @@
1
+ import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+ var css = ".file-icon-themable-tree .align-icon-with-twisty .monaco-tl-twistie:not(.force-twistie):not(.collapsible),.file-icon-themable-tree .monaco-tl-twistie.force-no-twistie,.file-icon-themable-tree.align-icons-and-twisties .monaco-tl-twistie:not(.force-twistie):not(.collapsible),.file-icon-themable-tree.hide-arrows .monaco-tl-twistie:not(.force-twistie){background-image:none!important;padding-right:0!important;visibility:hidden;width:0!important}.file-icon-themable-tree .monaco-list-row .content .monaco-highlighted-label .highlight,.monaco-tl-contents .monaco-highlighted-label .highlight{background-color:var(--vscode-list-filterMatchBackground);color:unset!important;outline:1px dotted var(--vscode-list-filterMatchBorder);outline-offset:-1px}.monaco-workbench .tree-explorer-viewlet-tree-view{height:100%}.monaco-workbench .tree-explorer-viewlet-tree-view .message{display:flex;padding:4px 12px 4px 18px;user-select:text;-webkit-user-select:text}.monaco-workbench .tree-explorer-viewlet-tree-view .message p{margin-bottom:0;margin-top:0;padding-bottom:4px}.monaco-workbench .tree-explorer-viewlet-tree-view .message ul{padding-left:24px}.monaco-workbench .tree-explorer-viewlet-tree-view .message a{color:var(--vscode-textLink-foreground)}.monaco-workbench .tree-explorer-viewlet-tree-view .message.hide{display:none}.monaco-workbench .tree-explorer-viewlet-tree-view .customview-tree{height:100%}.monaco-workbench .tree-explorer-viewlet-tree-view .customview-tree.hide{display:none}.monaco-workbench .pane>.pane-body>.welcome-view{box-sizing:border-box;display:flex;flex-direction:column;height:100%;width:100%}.monaco-workbench .pane>.pane-body.welcome>:not(.welcome-view),.monaco-workbench .pane>.pane-body:not(.welcome)>.welcome-view{display:none}.monaco-workbench .pane>.pane-body .welcome-view-content{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;padding:0 20px 1em}.monaco-workbench .pane>.pane-body .welcome-view-content>.button-container{max-width:300px;width:100%}.monaco-workbench:not(.reduce-motion) .pane>.pane-body .welcome-view-content>.button-container{transition:max-width .2s ease-out}.monaco-workbench .pane>.pane-body .welcome-view-content.wide>.button-container{max-width:100%}.monaco-workbench .pane>.pane-body .welcome-view-content>.button-container>.monaco-button{max-width:300px}.monaco-workbench .pane>.pane-body .welcome-view-content>p{width:100%}.monaco-workbench .pane>.pane-body .welcome-view-content>*{margin-block-end:0;margin-block-start:1em;margin-inline-end:0;margin-inline-start:0}.customview-tree .monaco-list-row .monaco-tl-contents.align-icon-with-twisty:before{display:none}.customview-tree .monaco-list-row .monaco-tl-contents:not(.align-icon-with-twisty):before{display:inline-block}.customview-tree .monaco-list .monaco-list-row{padding-left:0;padding-right:12px}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item{display:flex;flex:1;flex-wrap:nowrap;height:22px;line-height:22px;overflow:hidden;padding-left:3px;text-overflow:ellipsis}.customview-tree .monaco-list .monaco-list-row.selected .custom-view-tree-node-item .custom-view-tree-node-item-checkbox{background-color:var(--vscode-checkbox-selectBackground);border:1px solid var(--vscode-checkbox-selectBorder)}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .custom-view-tree-node-item-checkbox{background-color:var(--vscode-checkbox-background);border:1px solid var(--vscode-checkbox-border);height:16px;margin:3px 6px 3px 0;opacity:1;padding:0;width:16px}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .custom-view-tree-node-item-checkbox.codicon{font-size:13px;line-height:15px}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .monaco-inputbox{flex:1;line-height:normal}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .custom-view-tree-node-item-resourceLabel{flex:1;overflow:hidden;text-overflow:ellipsis}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .monaco-icon-label-container:after{content:\"\";display:block}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item>.custom-view-tree-node-item-resourceLabel>.custom-view-tree-node-item-icon,.timeline-tree-view .monaco-list .monaco-list-row .custom-view-tree-node-item>.custom-view-tree-node-item-icon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background-position:0;background-repeat:no-repeat;background-size:16px;display:flex;height:22px;justify-content:center;padding-right:6px;width:16px}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item>.custom-view-tree-node-item-resourceLabel>.custom-view-tree-node-item-icon.disabled{opacity:.6}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item>.custom-view-tree-node-item-resourceLabel>.custom-view-tree-node-item-icon.codicon.codicon-modifier-spin{margin-left:-6px;padding-left:6px}.customview-tree .monaco-list .monaco-list-row.selected .custom-view-tree-node-item>.custom-view-tree-node-item-resourceLabel>.custom-view-tree-node-item-icon.codicon{color:currentColor!important}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .custom-view-tree-node-item-resourceLabel .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .custom-view-tree-node-item-resourceLabel:after{margin-right:4px;padding-right:0}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .actions{display:none}.customview-tree .monaco-list .monaco-list-row .custom-view-tree-node-item .actions .action-label{padding:2px}.customview-tree .monaco-list .monaco-list-row.focused .custom-view-tree-node-item .actions,.customview-tree .monaco-list .monaco-list-row.selected .custom-view-tree-node-item .actions,.customview-tree .monaco-list .monaco-list-row:hover .custom-view-tree-node-item .actions{display:block}.viewpane-filter-container{cursor:default;display:flex}.viewpane-filter-container.grow{flex:1}.viewpane-filter-container>.viewpane-filter{align-items:center;display:flex;flex:1;position:relative}.viewpane-filter-container>.viewpane-filter .monaco-inputbox{flex:1;font-size:12px;height:24px}.pane-header .viewpane-filter-container>.viewpane-filter .monaco-inputbox .monaco-inputbox{height:20px;line-height:18px}.monaco-workbench.vs .viewpane-filter-container>.viewpane-filter .monaco-inputbox{height:25px}.viewpane-filter-container>.viewpane-filter>.viewpane-filter-controls{align-items:center;bottom:0;display:flex;position:absolute;right:0;top:0}.viewpane-filter-container>.viewpane-filter>.viewpane-filter-controls>.viewpane-filter-badge{border-radius:2px;margin:4px 0;padding:0 8px}.viewpane-filter.small>.viewpane-filter-controls>.viewpane-filter-badge,.viewpane-filter>.viewpane-filter-controls>.viewpane-filter-badge.hidden{display:none}.viewpane-filter>.viewpane-filter-controls>.monaco-action-bar .action-item .action-label.codicon.filter{padding:2px}.panel>.title .monaco-action-bar .action-item.viewpane-filter-container{margin-right:10px;max-width:400px;min-width:150px}.pane-body .viewpane-filter-container:not(:empty){flex:1;height:auto;margin:10px 20px}.pane-body .viewpane-filter-container>.viewpane-filter>.viewpane-filter-controls .monaco-action-bar .action-item{margin-right:4px}.viewpane-filter>.viewpane-filter-controls .monaco-action-bar .action-label.codicon.codicon-filter.checked{background-color:var(--vscode-inputOption-activeBackground);border-color:var(--vscode-inputOption-activeBorder);color:var(--vscode-inputOption-activeForeground)}";
3
+ n(css,{});
4
+ export { css, css as default };