@codingame/monaco-vscode-configuration-service-override 3.2.3 → 4.1.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.
@@ -1,134 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { localize2WithPath, localizeWithPath } from 'vscode/vscode/vs/nls';
3
- import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
4
- import { Extensions } from 'vscode/vscode/vs/workbench/common/contributions';
5
- import { WORKSPACE_SUFFIX, IWorkspaceContextService, hasWorkspaceFileExtension } from 'vscode/vscode/vs/platform/workspace/common/workspace';
6
- import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
7
- import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
8
- import { INotificationService, NeverShowAgainScope, Severity, NotificationPriority } from 'vscode/vscode/vs/platform/notification/common/notification';
9
- import { isEqual, joinPath } from 'vscode/vscode/vs/base/common/resources';
10
- import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/host';
11
- import { IQuickInputService } from 'vscode/vscode/vs/platform/quickinput/common/quickInput';
12
- import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
13
- import { isVirtualWorkspace } from 'vscode/vscode/vs/platform/workspace/common/virtualWorkspace';
14
- import { registerAction2, Action2, MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
15
- import { ResourceContextKey, ActiveEditorContext, TemporaryWorkspaceContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
16
- import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
17
- import { TEXT_FILE_EDITOR_ID } from 'vscode/vscode/vs/workbench/contrib/files/common/files';
18
-
19
- let WorkspacesFinderContribution = class WorkspacesFinderContribution extends Disposable {
20
- constructor(contextService, notificationService, fileService, quickInputService, hostService, storageService) {
21
- super();
22
- this.contextService = contextService;
23
- this.notificationService = notificationService;
24
- this.fileService = fileService;
25
- this.quickInputService = quickInputService;
26
- this.hostService = hostService;
27
- this.storageService = storageService;
28
- this.findWorkspaces();
29
- }
30
- async findWorkspaces() {
31
- const folder = this.contextService.getWorkspace().folders[0];
32
- if (!folder || this.contextService.getWorkbenchState() !== 2 || isVirtualWorkspace(this.contextService.getWorkspace())) {
33
- return;
34
- }
35
- const rootFileNames = (await this.fileService.resolve(folder.uri)).children?.map(child => child.name);
36
- if (Array.isArray(rootFileNames)) {
37
- const workspaceFiles = rootFileNames.filter(hasWorkspaceFileExtension);
38
- if (workspaceFiles.length > 0) {
39
- this.doHandleWorkspaceFiles(folder.uri, workspaceFiles);
40
- }
41
- }
42
- }
43
- doHandleWorkspaceFiles(folder, workspaces) {
44
- const neverShowAgain = { id: 'workspaces.dontPromptToOpen', scope: NeverShowAgainScope.WORKSPACE, isSecondary: true };
45
- if (workspaces.length === 1) {
46
- const workspaceFile = workspaces[0];
47
- this.notificationService.prompt(Severity.Info, ( localizeWithPath('vs/workbench/contrib/workspaces/browser/workspaces.contribution', {
48
- key: 'foundWorkspace',
49
- comment: ['{Locked="]({1})"}']
50
- }, "This folder contains a workspace file '{0}'. Do you want to open it? [Learn more]({1}) about workspace files.", workspaceFile, 'https://go.microsoft.com/fwlink/?linkid=2025315')), [{
51
- label: ( localizeWithPath(
52
- 'vs/workbench/contrib/workspaces/browser/workspaces.contribution',
53
- 'openWorkspace',
54
- "Open Workspace"
55
- )),
56
- run: () => this.hostService.openWindow([{ workspaceUri: joinPath(folder, workspaceFile) }])
57
- }], {
58
- neverShowAgain,
59
- priority: !this.storageService.isNew(1 ) ? NotificationPriority.SILENT : undefined
60
- });
61
- }
62
- else if (workspaces.length > 1) {
63
- this.notificationService.prompt(Severity.Info, ( localizeWithPath('vs/workbench/contrib/workspaces/browser/workspaces.contribution', {
64
- key: 'foundWorkspaces',
65
- comment: ['{Locked="]({0})"}']
66
- }, "This folder contains multiple workspace files. Do you want to open one? [Learn more]({0}) about workspace files.", 'https://go.microsoft.com/fwlink/?linkid=2025315')), [{
67
- label: ( localizeWithPath(
68
- 'vs/workbench/contrib/workspaces/browser/workspaces.contribution',
69
- 'selectWorkspace',
70
- "Select Workspace"
71
- )),
72
- run: () => {
73
- this.quickInputService.pick(( workspaces.map(workspace => ({ label: workspace }))), { placeHolder: ( localizeWithPath(
74
- 'vs/workbench/contrib/workspaces/browser/workspaces.contribution',
75
- 'selectToOpen',
76
- "Select a workspace to open"
77
- )) }).then(pick => {
78
- if (pick) {
79
- this.hostService.openWindow([{ workspaceUri: joinPath(folder, pick.label) }]);
80
- }
81
- });
82
- }
83
- }], {
84
- neverShowAgain,
85
- priority: !this.storageService.isNew(1 ) ? NotificationPriority.SILENT : undefined
86
- });
87
- }
88
- }
89
- };
90
- WorkspacesFinderContribution = ( __decorate([
91
- ( __param(0, IWorkspaceContextService)),
92
- ( __param(1, INotificationService)),
93
- ( __param(2, IFileService)),
94
- ( __param(3, IQuickInputService)),
95
- ( __param(4, IHostService)),
96
- ( __param(5, IStorageService))
97
- ], WorkspacesFinderContribution));
98
- ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(WorkspacesFinderContribution, 4 );
99
- registerAction2(class extends Action2 {
100
- constructor() {
101
- super({
102
- id: 'workbench.action.openWorkspaceFromEditor',
103
- title: ( localize2WithPath(
104
- 'vs/workbench/contrib/workspaces/browser/workspaces.contribution',
105
- 'openWorkspace',
106
- "Open Workspace"
107
- )),
108
- f1: false,
109
- menu: {
110
- id: MenuId.EditorContent,
111
- when: ( ContextKeyExpr.and(( ResourceContextKey.Extension.isEqualTo(WORKSPACE_SUFFIX)), ( ActiveEditorContext.isEqualTo(TEXT_FILE_EDITOR_ID)), ( TemporaryWorkspaceContext.toNegated())))
112
- }
113
- });
114
- }
115
- async run(accessor, uri) {
116
- const hostService = accessor.get(IHostService);
117
- const contextService = accessor.get(IWorkspaceContextService);
118
- const notificationService = accessor.get(INotificationService);
119
- if (contextService.getWorkbenchState() === 3 ) {
120
- const workspaceConfiguration = contextService.getWorkspace().configuration;
121
- if (workspaceConfiguration && isEqual(workspaceConfiguration, uri)) {
122
- notificationService.info(( localizeWithPath(
123
- 'vs/workbench/contrib/workspaces/browser/workspaces.contribution',
124
- 'alreadyOpen',
125
- "This workspace is already open."
126
- )));
127
- return;
128
- }
129
- }
130
- return hostService.openWindow([{ workspaceUri: uri }]);
131
- }
132
- });
133
-
134
- export { WorkspacesFinderContribution };