@codingame/monaco-vscode-extension-gallery-service-override 1.83.9
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/extensionGallery.d.ts +12 -0
- package/extensionGallery.js +76 -0
- package/external/rollup-plugin-styles/dist/runtime/inject-css.js +3 -0
- package/external/tslib/tslib.es6.js +11 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/override/vs/platform/dialogs/common/dialogs.js +8 -0
- package/package.json +30 -0
- package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js +784 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +142 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryService.js +855 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementIpc.js +119 -0
- package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +57 -0
- package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +58 -0
- package/vscode/src/vs/platform/externalServices/common/marketplace.js +17 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +492 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +28 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +78 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker.js +87 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +60 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +1868 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +52 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +437 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +17 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +221 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +2063 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +13 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +46 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +65 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +98 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +224 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +121 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +285 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +912 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +1270 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +824 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +1730 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +324 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +28 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +28 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsWidgets.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +29 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +26 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +38 -0
- package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +88 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +67 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +43 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +104 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +31 -0
- package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +41 -0
- package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +207 -0
- package/vscode/src/vs/workbench/contrib/update/common/update.js +3 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.js +84 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +634 -0
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +883 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementChannelClient.js +109 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +62 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +633 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/remoteExtensionManagementService.js +58 -0
- package/vscode/src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.js +269 -0
- package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionIgnoredRecommendationsService.js +83 -0
- package/vscode/src/vs/workbench/services/remote/common/remoteExtensionsScanner.js +73 -0
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ExtensionRecommendations } from './extensionRecommendations.js';
|
|
3
|
+
import { IExtensionIgnoredRecommendationsService } from 'vscode/vscode/vs/workbench/services/extensionRecommendations/common/extensionRecommendations';
|
|
4
|
+
import { IExtensionsWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions';
|
|
5
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
6
|
+
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
7
|
+
import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
|
|
8
|
+
import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
9
|
+
import { extname, basename } from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
10
|
+
import { match } from 'monaco-editor/esm/vs/base/common/glob.js';
|
|
11
|
+
import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
|
|
12
|
+
import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
|
|
13
|
+
import { IExtensionRecommendationNotificationService } from 'vscode/vscode/vs/platform/extensionRecommendations/common/extensionRecommendations';
|
|
14
|
+
import { distinct } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
15
|
+
import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
16
|
+
import { CellUri } from 'vscode/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
|
|
17
|
+
import { disposableTimeout } from 'monaco-editor/esm/vs/base/common/async.js';
|
|
18
|
+
import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
|
|
19
|
+
import { areSameExtensions } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagementUtil';
|
|
20
|
+
import { isEmptyObject } from 'monaco-editor/esm/vs/base/common/types.js';
|
|
21
|
+
import { PLAINTEXT_LANGUAGE_ID } from 'monaco-editor/esm/vs/editor/common/languages/modesRegistry.js';
|
|
22
|
+
|
|
23
|
+
const promptedRecommendationsStorageKey = 'fileBasedRecommendations/promptedRecommendations';
|
|
24
|
+
const recommendationsStorageKey = 'extensionsAssistant/recommendations';
|
|
25
|
+
const milliSecondsInADay = 1000 * 60 * 60 * 24;
|
|
26
|
+
let FileBasedRecommendations = class FileBasedRecommendations extends ExtensionRecommendations {
|
|
27
|
+
get recommendations() {
|
|
28
|
+
const recommendations = [];
|
|
29
|
+
[...( this.fileBasedRecommendations.keys())]
|
|
30
|
+
.sort((a, b) => {
|
|
31
|
+
if (this.fileBasedRecommendations.get(a).recommendedTime === this.fileBasedRecommendations.get(b).recommendedTime) {
|
|
32
|
+
if (( this.fileBasedImportantRecommendations.has(a))) {
|
|
33
|
+
return -1;
|
|
34
|
+
}
|
|
35
|
+
if (( this.fileBasedImportantRecommendations.has(b))) {
|
|
36
|
+
return 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return this.fileBasedRecommendations.get(a).recommendedTime > this.fileBasedRecommendations.get(b).recommendedTime ? -1 : 1;
|
|
40
|
+
})
|
|
41
|
+
.forEach(extensionId => {
|
|
42
|
+
recommendations.push({
|
|
43
|
+
extensionId,
|
|
44
|
+
reason: {
|
|
45
|
+
reasonId: 1 ,
|
|
46
|
+
reasonText: ( localizeWithPath(
|
|
47
|
+
'vs/workbench/contrib/extensions/browser/fileBasedRecommendations',
|
|
48
|
+
'fileBasedRecommendation',
|
|
49
|
+
"This extension is recommended based on the files you recently opened."
|
|
50
|
+
))
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
return recommendations;
|
|
55
|
+
}
|
|
56
|
+
get importantRecommendations() {
|
|
57
|
+
return this.recommendations.filter(e => ( this.fileBasedImportantRecommendations.has(e.extensionId)));
|
|
58
|
+
}
|
|
59
|
+
get otherRecommendations() {
|
|
60
|
+
return this.recommendations.filter(e => !( this.fileBasedImportantRecommendations.has(e.extensionId)));
|
|
61
|
+
}
|
|
62
|
+
constructor(extensionsWorkbenchService, modelService, languageService, productService, storageService, extensionRecommendationNotificationService, extensionIgnoredRecommendationsService, workspaceContextService) {
|
|
63
|
+
super();
|
|
64
|
+
this.extensionsWorkbenchService = extensionsWorkbenchService;
|
|
65
|
+
this.modelService = modelService;
|
|
66
|
+
this.languageService = languageService;
|
|
67
|
+
this.storageService = storageService;
|
|
68
|
+
this.extensionRecommendationNotificationService = extensionRecommendationNotificationService;
|
|
69
|
+
this.extensionIgnoredRecommendationsService = extensionIgnoredRecommendationsService;
|
|
70
|
+
this.workspaceContextService = workspaceContextService;
|
|
71
|
+
this.recommendationsByPattern = ( new Map());
|
|
72
|
+
this.fileBasedRecommendations = ( new Map());
|
|
73
|
+
this.fileBasedImportantRecommendations = ( new Set());
|
|
74
|
+
this.fileOpenRecommendations = {};
|
|
75
|
+
if (productService.extensionRecommendations) {
|
|
76
|
+
for (const [extensionId, recommendation] of Object.entries(productService.extensionRecommendations)) {
|
|
77
|
+
if (recommendation.onFileOpen) {
|
|
78
|
+
this.fileOpenRecommendations[extensionId.toLowerCase()] = recommendation.onFileOpen;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async doActivate() {
|
|
84
|
+
if (isEmptyObject(this.fileOpenRecommendations)) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
await this.extensionsWorkbenchService.whenInitialized;
|
|
88
|
+
const cachedRecommendations = this.getCachedRecommendations();
|
|
89
|
+
const now = Date.now();
|
|
90
|
+
Object.entries(cachedRecommendations).forEach(([key, value]) => {
|
|
91
|
+
const diff = (now - value) / milliSecondsInADay;
|
|
92
|
+
if (diff <= 7 && this.fileOpenRecommendations[key]) {
|
|
93
|
+
this.fileBasedRecommendations.set(key.toLowerCase(), { recommendedTime: value });
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
this._register(this.modelService.onModelAdded(model => this.onModelAdded(model)));
|
|
97
|
+
this.modelService.getModels().forEach(model => this.onModelAdded(model));
|
|
98
|
+
}
|
|
99
|
+
onModelAdded(model) {
|
|
100
|
+
const uri = model.uri.scheme === Schemas.vscodeNotebookCell ? CellUri.parse(model.uri)?.notebook : model.uri;
|
|
101
|
+
if (!uri) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const supportedSchemes = distinct([Schemas.untitled, Schemas.file, Schemas.vscodeRemote, ...( this.workspaceContextService.getWorkspace().folders.map(folder => folder.uri.scheme))]);
|
|
105
|
+
if (!uri || !supportedSchemes.includes(uri.scheme)) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
disposableTimeout(() => this.promptImportantRecommendations(uri, model), 0, this._store);
|
|
109
|
+
}
|
|
110
|
+
promptImportantRecommendations(uri, model, extensionRecommendations) {
|
|
111
|
+
const pattern = extname(uri).toLowerCase();
|
|
112
|
+
extensionRecommendations = extensionRecommendations ?? this.recommendationsByPattern.get(pattern) ?? this.fileOpenRecommendations;
|
|
113
|
+
const extensionRecommendationEntries = Object.entries(extensionRecommendations);
|
|
114
|
+
if (extensionRecommendationEntries.length === 0) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const processedPathGlobs = ( new Map());
|
|
118
|
+
const installed = this.extensionsWorkbenchService.local;
|
|
119
|
+
const recommendationsByPattern = {};
|
|
120
|
+
const matchedRecommendations = {};
|
|
121
|
+
const unmatchedRecommendations = {};
|
|
122
|
+
let listenOnLanguageChange = false;
|
|
123
|
+
for (const [extensionId, conditions] of extensionRecommendationEntries) {
|
|
124
|
+
const conditionsByPattern = [];
|
|
125
|
+
const matchedConditions = [];
|
|
126
|
+
const unmatchedConditions = [];
|
|
127
|
+
for (const condition of conditions) {
|
|
128
|
+
let languageMatched = false;
|
|
129
|
+
let pathGlobMatched = false;
|
|
130
|
+
const isLanguageCondition = !!condition.languages;
|
|
131
|
+
const isFileContentCondition = !!condition.contentPattern;
|
|
132
|
+
if (isLanguageCondition || isFileContentCondition) {
|
|
133
|
+
conditionsByPattern.push(condition);
|
|
134
|
+
}
|
|
135
|
+
if (isLanguageCondition) {
|
|
136
|
+
if (condition.languages.includes(model.getLanguageId())) {
|
|
137
|
+
languageMatched = true;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (condition.pathGlob) {
|
|
141
|
+
const pathGlob = condition.pathGlob;
|
|
142
|
+
if (processedPathGlobs.get(pathGlob) ?? match(condition.pathGlob, ( uri.with({ fragment: '' }).toString()))) {
|
|
143
|
+
pathGlobMatched = true;
|
|
144
|
+
}
|
|
145
|
+
processedPathGlobs.set(pathGlob, pathGlobMatched);
|
|
146
|
+
}
|
|
147
|
+
if (!languageMatched && !pathGlobMatched) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
let matched = true;
|
|
151
|
+
if (matched && condition.whenInstalled) {
|
|
152
|
+
if (!condition.whenInstalled.every(id => ( installed.some(local => areSameExtensions({ id }, local.identifier))))) {
|
|
153
|
+
matched = false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (matched && condition.whenNotInstalled) {
|
|
157
|
+
if (( installed.some(
|
|
158
|
+
local => condition.whenNotInstalled?.some(id => areSameExtensions({ id }, local.identifier))
|
|
159
|
+
))) {
|
|
160
|
+
matched = false;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (matched && isFileContentCondition) {
|
|
164
|
+
if (!model.findMatches(condition.contentPattern, false, true, false, null, false).length) {
|
|
165
|
+
matched = false;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (matched) {
|
|
169
|
+
matchedConditions.push(condition);
|
|
170
|
+
conditionsByPattern.pop();
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
if (isLanguageCondition || isFileContentCondition) {
|
|
174
|
+
unmatchedConditions.push(condition);
|
|
175
|
+
if (isLanguageCondition) {
|
|
176
|
+
listenOnLanguageChange = true;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (matchedConditions.length) {
|
|
182
|
+
matchedRecommendations[extensionId] = matchedConditions;
|
|
183
|
+
}
|
|
184
|
+
if (unmatchedConditions.length) {
|
|
185
|
+
unmatchedRecommendations[extensionId] = unmatchedConditions;
|
|
186
|
+
}
|
|
187
|
+
if (conditionsByPattern.length) {
|
|
188
|
+
recommendationsByPattern[extensionId] = conditionsByPattern;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
this.recommendationsByPattern.set(pattern, recommendationsByPattern);
|
|
192
|
+
if (( Object.keys(unmatchedRecommendations)).length) {
|
|
193
|
+
if (listenOnLanguageChange) {
|
|
194
|
+
const disposables = ( new DisposableStore());
|
|
195
|
+
disposables.add(model.onDidChangeLanguage(() => {
|
|
196
|
+
disposableTimeout(() => {
|
|
197
|
+
if (!disposables.isDisposed) {
|
|
198
|
+
this.promptImportantRecommendations(uri, model, unmatchedRecommendations);
|
|
199
|
+
disposables.dispose();
|
|
200
|
+
}
|
|
201
|
+
}, 0, disposables);
|
|
202
|
+
}));
|
|
203
|
+
disposables.add(model.onWillDispose(() => disposables.dispose()));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (( Object.keys(matchedRecommendations)).length) {
|
|
207
|
+
this.promptFromRecommendations(uri, model, matchedRecommendations);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
promptFromRecommendations(uri, model, extensionRecommendations) {
|
|
211
|
+
let isImportantRecommendationForLanguage = false;
|
|
212
|
+
const importantRecommendations = ( new Set());
|
|
213
|
+
const fileBasedRecommendations = ( new Set());
|
|
214
|
+
for (const [extensionId, conditions] of Object.entries(extensionRecommendations)) {
|
|
215
|
+
for (const condition of conditions) {
|
|
216
|
+
fileBasedRecommendations.add(extensionId);
|
|
217
|
+
if (condition.important) {
|
|
218
|
+
importantRecommendations.add(extensionId);
|
|
219
|
+
this.fileBasedImportantRecommendations.add(extensionId);
|
|
220
|
+
}
|
|
221
|
+
if (condition.languages) {
|
|
222
|
+
isImportantRecommendationForLanguage = true;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
for (const recommendation of fileBasedRecommendations) {
|
|
227
|
+
const filedBasedRecommendation = this.fileBasedRecommendations.get(recommendation) || { recommendedTime: Date.now(), sources: [] };
|
|
228
|
+
filedBasedRecommendation.recommendedTime = Date.now();
|
|
229
|
+
this.fileBasedRecommendations.set(recommendation, filedBasedRecommendation);
|
|
230
|
+
}
|
|
231
|
+
this.storeCachedRecommendations();
|
|
232
|
+
if (this.extensionRecommendationNotificationService.hasToIgnoreRecommendationNotifications()) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const language = model.getLanguageId();
|
|
236
|
+
const languageName = this.languageService.getLanguageName(language);
|
|
237
|
+
if (importantRecommendations.size &&
|
|
238
|
+
this.promptRecommendedExtensionForFileType(languageName && isImportantRecommendationForLanguage && language !== PLAINTEXT_LANGUAGE_ID ? ( localizeWithPath(
|
|
239
|
+
'vs/workbench/contrib/extensions/browser/fileBasedRecommendations',
|
|
240
|
+
'languageName',
|
|
241
|
+
"the {0} language",
|
|
242
|
+
languageName
|
|
243
|
+
)) : basename(uri), language, [...importantRecommendations])) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
promptRecommendedExtensionForFileType(name, language, recommendations) {
|
|
248
|
+
recommendations = this.filterIgnoredOrNotAllowed(recommendations);
|
|
249
|
+
if (recommendations.length === 0) {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
recommendations = this.filterInstalled(recommendations, this.extensionsWorkbenchService.local)
|
|
253
|
+
.filter(extensionId => ( this.fileBasedImportantRecommendations.has(extensionId)));
|
|
254
|
+
const promptedRecommendations = language !== PLAINTEXT_LANGUAGE_ID ? this.getPromptedRecommendations()[language] : undefined;
|
|
255
|
+
if (promptedRecommendations) {
|
|
256
|
+
recommendations = recommendations.filter(extensionId => promptedRecommendations.includes(extensionId));
|
|
257
|
+
}
|
|
258
|
+
if (recommendations.length === 0) {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
this.promptImportantExtensionsInstallNotification(recommendations, name, language);
|
|
262
|
+
return true;
|
|
263
|
+
}
|
|
264
|
+
async promptImportantExtensionsInstallNotification(extensions, name, language) {
|
|
265
|
+
try {
|
|
266
|
+
const result = await this.extensionRecommendationNotificationService.promptImportantExtensionsInstallNotification({ extensions, name, source: 1 });
|
|
267
|
+
if (result === "reacted" ) {
|
|
268
|
+
this.addToPromptedRecommendations(language, extensions);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch (error) { }
|
|
272
|
+
}
|
|
273
|
+
getPromptedRecommendations() {
|
|
274
|
+
return JSON.parse(this.storageService.get(promptedRecommendationsStorageKey, 0 , '{}'));
|
|
275
|
+
}
|
|
276
|
+
addToPromptedRecommendations(language, extensions) {
|
|
277
|
+
const promptedRecommendations = this.getPromptedRecommendations();
|
|
278
|
+
promptedRecommendations[language] = distinct([...(promptedRecommendations[language] ?? []), ...extensions]);
|
|
279
|
+
this.storageService.store(promptedRecommendationsStorageKey, JSON.stringify(promptedRecommendations), 0 , 0 );
|
|
280
|
+
}
|
|
281
|
+
filterIgnoredOrNotAllowed(recommendationsToSuggest) {
|
|
282
|
+
const ignoredRecommendations = [...this.extensionIgnoredRecommendationsService.ignoredRecommendations, ...this.extensionRecommendationNotificationService.ignoredRecommendations];
|
|
283
|
+
return recommendationsToSuggest.filter(id => !ignoredRecommendations.includes(id));
|
|
284
|
+
}
|
|
285
|
+
filterInstalled(recommendationsToSuggest, installed) {
|
|
286
|
+
const installedExtensionsIds = installed.reduce((result, i) => {
|
|
287
|
+
if (i.enablementState !== 1 ) {
|
|
288
|
+
result.add(i.identifier.id.toLowerCase());
|
|
289
|
+
}
|
|
290
|
+
return result;
|
|
291
|
+
}, ( new Set()));
|
|
292
|
+
return recommendationsToSuggest.filter(id => !( installedExtensionsIds.has(id.toLowerCase())));
|
|
293
|
+
}
|
|
294
|
+
getCachedRecommendations() {
|
|
295
|
+
let storedRecommendations = JSON.parse(this.storageService.get(recommendationsStorageKey, 0 , '[]'));
|
|
296
|
+
if (Array.isArray(storedRecommendations)) {
|
|
297
|
+
storedRecommendations = storedRecommendations.reduce((result, id) => { result[id] = Date.now(); return result; }, {});
|
|
298
|
+
}
|
|
299
|
+
const result = {};
|
|
300
|
+
Object.entries(storedRecommendations).forEach(([key, value]) => {
|
|
301
|
+
if (typeof value === 'number') {
|
|
302
|
+
result[key.toLowerCase()] = value;
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
return result;
|
|
306
|
+
}
|
|
307
|
+
storeCachedRecommendations() {
|
|
308
|
+
const storedRecommendations = {};
|
|
309
|
+
this.fileBasedRecommendations.forEach((value, key) => storedRecommendations[key] = value.recommendedTime);
|
|
310
|
+
this.storageService.store(recommendationsStorageKey, JSON.stringify(storedRecommendations), 0 , 1 );
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
FileBasedRecommendations = ( __decorate([
|
|
314
|
+
( __param(0, IExtensionsWorkbenchService)),
|
|
315
|
+
( __param(1, IModelService)),
|
|
316
|
+
( __param(2, ILanguageService)),
|
|
317
|
+
( __param(3, IProductService)),
|
|
318
|
+
( __param(4, IStorageService)),
|
|
319
|
+
( __param(5, IExtensionRecommendationNotificationService)),
|
|
320
|
+
( __param(6, IExtensionIgnoredRecommendationsService)),
|
|
321
|
+
( __param(7, IWorkspaceContextService))
|
|
322
|
+
], FileBasedRecommendations));
|
|
323
|
+
|
|
324
|
+
export { FileBasedRecommendations };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ExtensionRecommendations } from './extensionRecommendations.js';
|
|
3
|
+
import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
|
|
4
|
+
|
|
5
|
+
let KeymapRecommendations = class KeymapRecommendations extends ExtensionRecommendations {
|
|
6
|
+
get recommendations() { return this._recommendations; }
|
|
7
|
+
constructor(productService) {
|
|
8
|
+
super();
|
|
9
|
+
this.productService = productService;
|
|
10
|
+
this._recommendations = [];
|
|
11
|
+
}
|
|
12
|
+
async doActivate() {
|
|
13
|
+
if (this.productService.keymapExtensionTips) {
|
|
14
|
+
this._recommendations = ( this.productService.keymapExtensionTips.map(extensionId => ({
|
|
15
|
+
extensionId: extensionId.toLowerCase(),
|
|
16
|
+
reason: {
|
|
17
|
+
reasonId: 6 ,
|
|
18
|
+
reasonText: ''
|
|
19
|
+
}
|
|
20
|
+
})));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
KeymapRecommendations = ( __decorate([
|
|
25
|
+
( __param(0, IProductService))
|
|
26
|
+
], KeymapRecommendations));
|
|
27
|
+
|
|
28
|
+
export { KeymapRecommendations };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ExtensionRecommendations } from './extensionRecommendations.js';
|
|
3
|
+
import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
|
|
4
|
+
|
|
5
|
+
let LanguageRecommendations = class LanguageRecommendations extends ExtensionRecommendations {
|
|
6
|
+
get recommendations() { return this._recommendations; }
|
|
7
|
+
constructor(productService) {
|
|
8
|
+
super();
|
|
9
|
+
this.productService = productService;
|
|
10
|
+
this._recommendations = [];
|
|
11
|
+
}
|
|
12
|
+
async doActivate() {
|
|
13
|
+
if (this.productService.languageExtensionTips) {
|
|
14
|
+
this._recommendations = ( this.productService.languageExtensionTips.map(extensionId => ({
|
|
15
|
+
extensionId: extensionId.toLowerCase(),
|
|
16
|
+
reason: {
|
|
17
|
+
reasonId: 6 ,
|
|
18
|
+
reasonText: ''
|
|
19
|
+
}
|
|
20
|
+
})));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
LanguageRecommendations = ( __decorate([
|
|
25
|
+
( __param(0, IProductService))
|
|
26
|
+
], LanguageRecommendations));
|
|
27
|
+
|
|
28
|
+
export { LanguageRecommendations };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
|
|
3
|
+
var css = ".extension-bookmark-container{position:relative}.extension-bookmark-container>.extension-bookmark{position:absolute}.extension-list-item{box-sizing:border-box;display:flex;height:100%;overflow:hidden;padding:0 0 0 16px;width:100%}.extension-list-item>.icon-container{align-items:center;display:flex;position:relative}.extension-list-item>.icon-container>.icon{flex-shrink:0;height:42px;object-fit:contain;padding-right:14px;width:42px}.extension-list-item>.icon-container .extension-badge{bottom:5px;position:absolute}.extension-list-item>.icon-container .extension-badge.extension-remote-badge{align-items:center;border-radius:20px;display:flex;height:22px;justify-content:center;line-height:22px;right:5px;width:22px}.extension-list-item>.icon-container .extension-remote-badge .codicon{color:currentColor}.extension-list-item>.details{display:flex;flex:1;flex-direction:column;justify-content:center;overflow:hidden}.extension-list-item>.details>.header-container{display:flex;height:19px;overflow:hidden;padding-right:11px}.extension-list-item>.details>.header-container>.header{align-items:center;display:flex;flex:1;flex-wrap:nowrap;min-width:0;overflow:hidden}.extension-list-item>.details>.header-container>.header>.name{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-list-item.deprecated>.details>.header-container>.header>.name{text-decoration:line-through}.extension-list-item>.details>.header-container>.header>.activation-status,.extension-list-item>.details>.header-container>.header>.install-count,.extension-list-item>.details>.header-container>.header>.ratings{align-items:center;display:flex}.extension-list-item>.details>.header-container>.header>.install-count:not(:empty){font-size:80%;margin:0 6px}.extension-list-item>.details>.header-container>.header>.activation-status:not(:empty){font-size:80%;margin-left:2px}.extension-list-item>.details>.header-container>.header>.activation-status .activationTime,.extension-list-item>.details>.header-container>.header>.activation-status:not(:empty) .codicon{margin-right:2px}.extension-list-item>.details>.header-container>.header .codicon{font-size:120%;margin-right:3px;-webkit-mask:inherit}.extension-list-item>.details>.header-container>.header>.ratings{text-align:right}.extension-list-item>.details>.header-container>.header>.extension-remote-badge-container{display:none;margin-left:6px}.extension-list-item>.details>.header-container>.header .extension-remote-badge .codicon{margin-right:0}.extension-list-item>.details>.header-container>.header .extension-remote-badge{align-items:center;border-radius:20px;display:flex;height:14px;justify-content:center;line-height:14px;text-align:center;width:14px}.extension-list-item>.details>.header-container>.header .extension-remote-badge>.codicon{color:currentColor;font-size:12px}.extension-list-item>.details>.header-container>.header .sync-ignored{display:flex}.extension-list-item>.details>.header-container>.header .sync-ignored>.codicon{font-size:100%}.extension-list-item>.details>.description{color:var(--vscode-descriptionForeground);line-height:normal;padding-right:11px}.hc-black .extension-list-item>.details>.description,.hc-light .extension-list-item>.details>.description,.monaco-list-row.selected .extension-list-item>.details>.description{color:unset}.extension-list-item>.details>.footer{display:flex;height:18px;justify-content:flex-end;overflow:hidden;padding-right:7px}.extension-list-item>.details>.footer>.author{align-items:center;display:flex;flex:1}.extension-list-item>.details>.footer>.author>.publisher-name{color:var(--vscode-descriptionForeground);font-size:90%;font-weight:600}.monaco-list-row.disabled .extension-list-item>.details>.footer>.author>.publisher-name{color:var(--vscode-disabledForeground)}.monaco-list-row.disabled.selected .extension-list-item>.details>.footer>.author>.publisher-name,.monaco-list-row.selected .extension-list-item>.details>.footer>.author>.publisher-name{color:unset}.extension-list-item>.details>.footer>.author>.publisher-name:not(:first-child){padding-left:1px}.extension-list-item .ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-list-item>.details>.footer>.monaco-action-bar>.actions-container{flex-wrap:wrap-reverse}.extension-list-item>.details>.footer>.monaco-action-bar>.actions-container .action-label:not(.icon){border-radius:2px}.extension-list-item>.details>.footer>.monaco-action-bar>.actions-container .extension-action.label{line-height:16px;max-width:150px}.extension-list-item .footer .monaco-action-bar .action-item.action-dropdown-item.empty>.action-label{margin-right:4px}.extension-list-item .footer .monaco-action-bar .action-item.action-dropdown-item.empty>.action-dropdown-item-separator{display:none}.extension-list-item .monaco-action-bar>.actions-container>.action-item.disabled{min-width:0}.monaco-list-row.disabled .extension-list-item{color:var(--vscode-disabledForeground)}.monaco-list-row.disabled.selected .extension-list-item .details .description,.monaco-list-row.disabled.selected .extension-list-item .details .header .name{color:unset}.extension-list-item .monaco-action-bar .action-label.icon{padding:1px 2px}.hc-black .extension-list-item .monaco-action-bar .action-label.icon,.hc-light .extension-list-item .monaco-action-bar .action-label.icon{padding:0 2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item,.extension-list-item .monaco-action-bar>.actions-container>.action-item:not(.action-dropdown-item)>.extension-action{margin-left:6px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.extension-action.label{border-right-width:0}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator{height:16px;margin-top:2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator>div{height:10px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action.label{border-left-width:0}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.extension-action{border-radius:2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item:not(.empty)>.extension-action.label:not(.dropdown){border-radius:2px 0 0 2px}.extension-list-item .monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action{border-radius:0 2px 2px 0}";
|
|
4
|
+
n(css,{});
|
|
5
|
+
|
|
6
|
+
export { css, css as default };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
|
|
3
|
+
var css = ".extension-editor{display:flex;flex-direction:column;height:100%;margin:0 auto;max-width:80%;overflow:hidden}.extension-editor .clickable{cursor:pointer}.extension-editor>.header{display:flex;font-size:14px;overflow:hidden;padding:20px 20px 14px}.extension-editor>.header>.icon-container{position:relative}.extension-editor>.header>.icon-container .icon{height:128px;object-fit:contain;width:128px}.extension-editor>.header>.icon-container .extension-remote-badge{align-items:center;border-radius:20px;display:flex;height:38px;justify-content:center;line-height:38px;position:absolute;right:0;text-align:center;top:88px;width:38px}.extension-editor>.header>.icon-container .extension-remote-badge .codicon{color:currentColor;font-size:28px}.extension-editor>.header>.details{overflow:hidden;padding-left:20px;user-select:text;-webkit-user-select:text}.extension-editor>.header>.details>.title{align-items:center;display:flex}.extension-editor>.header>.details>.title>.name{flex:0;font-size:26px;font-weight:600;line-height:30px;white-space:nowrap}.extension-editor>.header>.details>.title>.name.deprecated{text-decoration:line-through}.extension-editor>.header>.details>.title>.version{margin-left:10px;user-select:text;-webkit-user-select:text;white-space:nowrap}.extension-editor>.header>.details>.title>.builtin{font-size:10px;font-style:italic;margin-left:10px}.extension-editor>.header>.details>.title>.pre-release{align-items:center;background-color:var(--vscode-extensionIcon-preReleaseForeground);border-radius:4px;color:#fff;display:flex;margin-left:10px;padding:0 4px}.extension-editor>.header>.details>.title>.pre-release>.codicon.codicon-extensions-pre-release{color:#fff;font-size:14px}.extension-editor>.header>.details>.title>.pre-release>.pre-release-text{font-size:10px;padding-left:3px}.monaco-workbench.vs .extension-editor>.header>.details>.title>.preview{color:#fff}.extension-editor>.header>.details>.title>.preview{background:#d63f26;border-radius:4px;font-size:10px;font-style:italic;margin-left:10px;padding:0 4px;user-select:none;-webkit-user-select:none}.extension-editor>.header>.details>.subtitle{height:20px;line-height:20px;padding-top:6px;white-space:nowrap}.extension-editor>.header>.details>.subtitle .hide{display:none}.extension-editor>.header>.details>.subtitle .publisher{align-items:center;display:flex}.extension-editor>.header>.details>.subtitle .publisher .verified-publisher:not(:empty){margin-left:4px}.extension-editor>.header>.details>.subtitle,.extension-editor>.header>.details>.subtitle .install,.extension-editor>.header>.details>.subtitle .rating,.extension-editor>.header>.details>.subtitle .sponsor{align-items:center;display:flex}.extension-editor>.header>.details>.subtitle .sponsor .codicon{padding-right:3px}.extension-editor>.header>.details>.subtitle .install>.count{margin-left:6px}.extension-editor>.header>.details>.subtitle>div:not(:first-child):not(:empty){border-left:1px solid hsla(0,0%,50%,.7);margin-left:14px;padding-left:14px}.extension-editor>.header>.details>.description{margin-top:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-editor>.header>.details>.actions-status-container{display:flex;margin-top:10px}.extension-editor>.header>.details>.actions-status-container.list-layout{display:inherit}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar{text-align:initial}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item{flex-shrink:0;margin-right:0;overflow:hidden}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.disabled{min-width:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item .extension-action{margin-bottom:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action:not(.icon){margin-left:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action.action-dropdown{margin-right:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item .extension-action:not(.icon){border-radius:0;padding-bottom:0;padding-top:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.monaco-dropdown .extension-action.action-dropdown,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action{line-height:22px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item:not(.action-dropdown-item)>.extension-action{margin-right:6px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item .extension-action.label,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action.label{font-weight:600;max-width:300px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.extension-action.label{border-right-width:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator{height:22px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item>.action-dropdown-item-separator>div{height:16px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.extension-action.label{margin-right:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.action-dropdown-item-separator{display:none}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item.empty>.extension-action.label,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.extension-action.label{border-radius:2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item:not(.empty)>.extension-action.label{border-radius:2px 0 0 2px}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item.action-dropdown-item:not(.empty)>.monaco-dropdown .extension-action.label{border-left-width:0;border-radius:0 2px 2px 0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar>.actions-container>.action-item>.action-label.extension-status{margin-right:0}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.disable-status,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.extension-status-label{font-weight:400}.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.disable-status:hover,.extension-editor>.header>.details>.actions-status-container>.monaco-action-bar .action-item .action-label.extension-status-label:hover{opacity:.9}.extension-editor>.header>.details>.actions-status-container>.status{font-size:90%;line-height:22px;margin-top:3px}.extension-editor>.header>.details>.actions-status-container.list-layout>.status{margin-top:5px}.extension-editor>.header>.details>.actions-status-container>.status .codicon{vertical-align:text-bottom}.extension-editor>.header>.details>.actions-status-container>.status p,.extension-editor>.header>.details>.pre-release-text p{margin-bottom:0;margin-top:0}.extension-editor>.header>.details>.actions-status-container>.status a,.extension-editor>.header>.details>.pre-release-text a{color:var(--vscode-textLink-foreground)}.extension-editor>.header>.details>.actions-status-container>.status a:hover,.extension-editor>.header>.details>.pre-release-text a:hover{color:var(--vscode-textLink-activeForeground);text-decoration:underline}.extension-editor>.header>.details>.actions-status-container>.status a:active,.extension-editor>.header>.details>.pre-release-text a:active{color:var(--vscode-textLink-activeForeground)}.extension-editor>.header>.details>.pre-release-text:not(:empty){display:flex;font-size:90%;margin-top:5px}.extension-editor>.header>.details>.recommendation{display:flex;margin-top:5px}.extension-editor>.header>.details>.recommendation .codicon{font-size:inherit;margin-right:5px}.extension-editor>.header>.details>.recommendation .recommendation-text{font-size:90%;vertical-align:text-bottom}.extension-editor>.body{flex:1;overflow:hidden}.extension-editor>.body>.navbar{border-bottom:1px solid var(--vscode-panelSection-border);font-size:14px;font-weight:700;height:36px;line-height:36px;padding-left:20px}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container{justify-content:normal}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item{height:100%}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item>.action-label{background:none!important;border-radius:0!important;color:var(--vscode-panelTitle-inactiveForeground);font-size:11px;font-weight:400;padding:0 10px;text-transform:uppercase}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item>.action-label.checked{border-bottom:1px solid var(--vscode-panelTitle-activeBorder);color:var(--vscode-panelTitle-activeForeground)}.extension-editor>.body>.navbar>.monaco-action-bar>.actions-container>.action-item>.action-label:hover{color:var(--vscode-panelTitle-activeForeground)}.extension-editor>.body>.content{height:calc(100% - 36px);overflow:hidden;position:relative;user-select:text;-webkit-user-select:text}.extension-editor>.body>.content.loading{background:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvc3ZnPg==\") 50% no-repeat}.extension-editor>.body>.content>.monaco-scrollable-element{height:100%}.extension-editor>.body>.content>.nocontent{margin-left:20px}.extension-editor>.body>.content>.details{display:flex;height:100%}.extension-editor>.body>.content>.details>.readme-container{flex:1;height:100%;margin:0 auto;max-width:75%}.extension-editor>.body>.content>.details.narrow>.readme-container{margin:inherit;max-width:inherit}.extension-editor>.body>.content>.details>.additional-details-container{height:100%;min-width:175px;width:25%}.extension-editor>.body>.content>.details.narrow>.additional-details-container{display:none}.extension-editor>.body>.content>.details>.additional-details-container>.monaco-scrollable-element{height:100%}.extension-editor>.body>.content>.details>.additional-details-container>.monaco-scrollable-element>.additional-details-content{box-sizing:border-box;height:100%;overflow-y:scroll;padding:20px}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element:not(:first-child){padding-top:15px}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element{padding-bottom:15px}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element:not(:last-child){border-bottom:1px solid hsla(0,0%,50%,.22)}.extension-editor>.body>.content>.details>.additional-details-container .additional-details-element>.additional-details-title{font-size:120%;padding-bottom:15px}.extension-editor>.body>.content>.details>.additional-details-container .categories-container>.categories>.category,.extension-editor>.body>.content>.details>.additional-details-container .tags-container>.tags>.tag{border:1px solid hsla(0,0%,53%,.45);border-radius:2px;cursor:pointer;display:inline-block;font-size:90%;margin:0 6px 3px 0;padding:2px 4px}.extension-editor>.body>.content>.details>.additional-details-container .resources-container>.resources>.resource{cursor:pointer;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extension-editor>.body>.content>.details>.additional-details-container .resources-container>.resources>.resource:hover{text-decoration:underline}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry{display:flex;font-size:90%}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry :first-child{width:40%}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry :last-child{width:60%}.extension-editor>.body>.content>.details>.additional-details-container .more-info-container>.more-info>.more-info-entry code{background-color:transparent;padding:0}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme{height:100%}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack{height:224px;padding-left:20px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.one-row>.extension-pack{height:142px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.two-rows>.extension-pack{height:224px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.three-rows>.extension-pack{height:306px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.more-rows>.extension-pack{height:326px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.one-row>.readme-content{height:calc(100% - 142px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.two-rows>.readme-content{height:calc(100% - 224px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.three-rows>.readme-content{height:calc(100% - 306px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme.more-rows>.readme-content{height:calc(100% - 326px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.footer,.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.header{border-bottom:1px solid hsla(0,0%,50%,.22);font-size:120%;font-weight:700;line-height:22px;margin-bottom:10px;margin-right:30px;padding:4px 6px}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.extension-pack-content{height:calc(100% - 60px)}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.extension-pack-content>.monaco-scrollable-element{height:100%}.extension-editor>.body>.content>.details>.readme-container>.extension-pack-readme>.extension-pack>.extension-pack-content>.monaco-scrollable-element>.subcontent{box-sizing:border-box;height:100%;overflow-y:scroll}.extension-editor>.body>.content>.monaco-scrollable-element>.subcontent{box-sizing:border-box;height:100%;overflow-y:scroll;padding:20px}.extension-editor>.body>.content table{border-collapse:separate;border-spacing:0;width:100%}.extension-editor>.body>.content details:not(:first-child){margin-top:20px}.extension-editor>.body>.content details>summary{border-bottom:1px solid hsla(0,0%,50%,.22);cursor:pointer;font-size:120%;font-weight:700;line-height:22px;margin-bottom:10px;padding:3px 6px}.extension-editor>.body>.content table tr:nth-child(odd){background-color:hsla(0,0%,51%,.04)}.extension-editor>.body>.content table tr:not(:first-child):hover{background-color:hsla(0,0%,50%,.15)}.extension-editor>.body>.content table td,.extension-editor>.body>.content table th{padding:2px 16px 2px 4px}.extension-editor>.body>.content table td:last-child,.extension-editor>.body>.content table th:last-child{padding:2px 4px}.extension-editor>.body>.content table th{text-align:left;word-break:keep-all}.extension-editor>.body>.content table td>div,.extension-editor>.body>.content table td>div>p{margin:0;padding:0}.extension-editor code:not(:empty){background-color:hsla(0,0%,50%,.17);border-radius:4px;font-family:var(--monaco-monospace-font);font-size:90%;padding:1px 4px}.extension-editor>.body>.content table .colorBox{border:.1em solid #000;box-sizing:border-box;display:inline-block;height:.8em;margin:0 .2em;vertical-align:middle;width:.8em}.monaco-workbench.hc-black .extension-editor>.body>.content table .colorBox,.monaco-workbench.vs-dark .extension-editor>.body>.content table .colorBox{border-color:#eee}.extension-editor .subcontent .monaco-list-row .content .unknown-extension{line-height:62px}.extension-editor .subcontent .monaco-list-row .content .unknown-extension>.error-marker{background-color:#be1100;color:#ccc;font-size:11px;font-weight:700;padding:2px 4px}.extension-editor .subcontent .monaco-list-row .unknown-extension>.message{font-size:14px;font-weight:700;padding-left:10px}.extension-editor .subcontent .monaco-list-row .extension{align-items:center;display:flex}.extension-editor .subcontent .monaco-list-row .extension>.details{flex:1;overflow:hidden;padding-left:10px}.extension-editor .subcontent .monaco-list-row .extension>.details>.header{align-items:center;display:flex;line-height:19px;overflow:hidden}.extension-editor .subcontent .monaco-list-row .extension>.icon{height:40px;object-fit:contain;width:40px}.extension-editor .subcontent .monaco-list-row .extension>.details>.header>.name{font-size:16px;font-weight:700}.extension-editor .subcontent .monaco-list-row .extension>.details>.header>.name:hover{text-decoration:underline}.extension-editor .subcontent .monaco-list-row .extension>.details>.header>.identifier{background:hsla(0,0%,68%,.31);border-radius:4px;font-size:90%;margin-left:10px;opacity:.6;padding:0 4px}.extension-editor .subcontent .monaco-list-row .extension>.details>.footer{display:flex;line-height:19px;overflow:hidden;padding-top:5px}.extension-editor .subcontent .monaco-list-row .extension>.details>.footer>.author{font-size:90%;font-weight:600;opacity:.6}.extension-editor .extensions-grid-view{display:flex;flex-wrap:wrap}.extension-editor .extensions-grid-view>.extension-container{margin:0 10px 20px 0;width:350px}.extension-editor .extensions-grid-view .extension-list-item{cursor:default}.extension-editor .extensions-grid-view .extension-list-item>.details .header>.name{cursor:pointer}.extension-editor .extensions-grid-view .extension-list-item>.details>.header-container>.header>.install-count,.extension-editor .extensions-grid-view .extension-list-item>.details>.header-container>.header>.ratings,.extension-editor .extensions-grid-view .extension-list-item>.details>.header-container>.header>.version{display:none}.extension-editor .extensions-grid-view>.extension-container:focus>.extension-list-item>.details .header>.name,.extension-editor .extensions-grid-view>.extension-container:hover>.extension-list-item>.details .header>.name{text-decoration:underline}.monaco-workbench.vs .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.icon-container>.icon,.monaco-workbench.vs-dark .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs-dark .extension-editor .extensions-grid-view>.extension-container.disabled>.extension-list-item>.icon-container>.icon{opacity:.5}.extension-editor>.body>.content .runtime-status .activation-details>.activation-element-entry>.activation-message-title{padding-right:10px}.extension-editor>.body>.content .runtime-status .message-entry{align-items:center;display:flex;margin:5px}.extension-editor>.body>.content .runtime-status .message-entry .codicon{padding-right:2px}.monaco-workbench .extension-editor>.header>.details>.recommendation .codicon{color:var(--vscode-extensionButton-prominentBackground)}";
|
|
4
|
+
n(css,{});
|
|
5
|
+
|
|
6
|
+
export { css, css as default };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
|
|
3
|
+
var css = ".extensions-viewlet{height:100%;position:relative}.extensions-viewlet>.overlay{bottom:0;left:0;position:absolute;right:0;top:0;z-index:2}.extensions-viewlet>.header{box-sizing:border-box;height:41px;padding:5px 12px 6px 20px}.extensions-viewlet>.header>.search-box{-webkit-appearance:textfield;-moz-appearance:textfield;border:1px solid transparent;box-sizing:border-box;height:28px;line-height:18px;padding:4px;width:100%}.extensions-viewlet>.extensions{height:calc(100% - 41px)}.extensions-viewlet>.extensions .extension-list-item .monaco-action-bar,.extensions-viewlet>.extensions .extension-view-header .monaco-action-bar{margin-right:4px}.extensions-viewlet>.extensions .extension-view-header .count-badge-wrapper{margin-right:12px}.extensions-viewlet>.extensions .extension-view-header .monaco-action-bar .action-item>.action-label.icon.codicon{line-height:22px;vertical-align:middle}.extensions-viewlet>.extensions .extension-view-header .monaco-action-bar .action-item.disabled{display:none}.extensions-viewlet>.extensions .extensions-list.hidden,.extensions-viewlet>.extensions .message-container.hidden{display:none;visibility:hidden}.extensions-viewlet>.extensions .panel-header{padding-right:12px}.extensions-viewlet>.extensions .panel-header>.title{flex:1}.extensions-viewlet>.extensions .panel-header>.actions.show{flex:inherit}.extensions-viewlet>.extensions .message-container{cursor:default;display:flex;padding:5px 9px 5px 16px}.extensions-viewlet>.extensions .message-container .message{padding-left:5px}.extensions-viewlet>.extensions .message-container .severity-icon{flex-shrink:0}.extensions-viewlet>.extensions .extension-list-item{position:absolute}.extensions-viewlet>.extensions .extension-list-item.loading{background:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvc3ZnPg==\") 50% no-repeat}.monaco-workbench.vs-dark .extensions-viewlet>.extensions .extension-list-item.loading{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48ZyBzdHlsZT0iZmlsbDpncmF5Ij48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvZz48L3N2Zz4=\")}.monaco-workbench.hc-black .extensions-viewlet>.extensions .extension-list-item.loading{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PHN0eWxlPmNpcmNsZXthbmltYXRpb246YmFsbCAuNnMgbGluZWFyIGluZmluaXRlfWNpcmNsZTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4wNzVzfWNpcmNsZTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4xNXN9Y2lyY2xlOm50aC1jaGlsZCg0KXthbmltYXRpb24tZGVsYXk6LjIyNXN9Y2lyY2xlOm50aC1jaGlsZCg1KXthbmltYXRpb24tZGVsYXk6LjNzfWNpcmNsZTpudGgtY2hpbGQoNil7YW5pbWF0aW9uLWRlbGF5Oi4zNzVzfWNpcmNsZTpudGgtY2hpbGQoNyl7YW5pbWF0aW9uLWRlbGF5Oi40NXN9Y2lyY2xlOm50aC1jaGlsZCg4KXthbmltYXRpb24tZGVsYXk6LjUyNXN9PC9zdHlsZT48ZyBzdHlsZT0iZmlsbDojZmZmIj48Y2lyY2xlIGN4PSI1IiBjeT0iMSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSI3LjgyOCIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjkiIGN5PSI1IiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjxjaXJjbGUgY3g9IjcuODI4IiBjeT0iNy44MjgiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iNSIgY3k9IjkiIHI9IjEiIHN0eWxlPSJvcGFjaXR5Oi4zIi8+PGNpcmNsZSBjeD0iMi4xNzIiIGN5PSI3LjgyOCIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIxIiBjeT0iNSIgcj0iMSIgc3R5bGU9Im9wYWNpdHk6LjMiLz48Y2lyY2xlIGN4PSIyLjE3MiIgY3k9IjIuMTcyIiByPSIxIiBzdHlsZT0ib3BhY2l0eTouMyIvPjwvZz48L3N2Zz4=\")}.extensions-viewlet>.extensions .extension-list-item.loading>.icon-container{display:none}.extensions-viewlet.narrow>.extensions .extension-list-item>.icon-container{align-items:flex-start;display:flex;padding-top:10px}.extensions-viewlet.narrow>.extensions .extension-list-item>.icon-container>.icon{height:24px;padding-right:8px;width:24px}.extensions-viewlet.mini>.extensions .extension-bookmark-container,.extensions-viewlet.mini>.extensions .extension-list-item>.details>.header-container>.header>.ratings,.extensions-viewlet.mini>.extensions .extension-list-item>.icon-container>.icon,.extensions-viewlet.narrow>.extensions .extension-list-item>.icon-container .extension-badge,.extensions-viewlet:not(.narrow)>.extensions .extension-list-item>.details>.header-container>.header>.extension-remote-badge-container{display:none}.extensions-viewlet.narrow>.extensions .extension-list-item>.details>.footer>.monaco-action-bar>.actions-container .extension-action{max-width:100px}.monaco-workbench.vs .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.icon-container>.icon,.monaco-workbench.vs-dark .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.details>.header-container .codicon,.monaco-workbench.vs-dark .extensions-viewlet>.extensions .monaco-list-row.disabled>.extension-list-item>.icon-container>.icon{opacity:.5}.extensions-badge.progress-badge>.badge-content{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMiAyIDE0IDE0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNOSAxNmMtMy44NiAwLTctMy4xNC03LTdzMy4xNC03IDctN2MzLjg1OSAwIDcgMy4xNDEgNyA3cy0zLjE0MSA3LTcgN3pNOSAzLjRDNS45MTIgMy40IDMuNCA1LjkxMyAzLjQgOXMyLjUxMiA1LjYgNS42IDUuNiA1LjYtMi41MTIgNS42LTUuNlMxMi4wODggMy40IDkgMy40em0zLjg2IDcuMUw5LjcgOC42MDRWNC44SDguM3Y0LjU5NmwzLjg0IDIuMzA1LjcyLTEuMjAxeiIvPjwvc3ZnPg==\");background-position:50%;background-repeat:no-repeat}";
|
|
4
|
+
n(css,{});
|
|
5
|
+
|
|
6
|
+
export { css, css as default };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
|
|
3
|
+
var css = ".extension-sync-ignored.hide{display:none}.extension-ratings{display:inline-block}.extension-ratings.small{font-size:80%}.extension-ratings>.codicon[class*=codicon-extensions-rating]:not(:first-child){margin-left:3px}.extension-ratings>.count{margin-left:6px}.extension-ratings.small>.count{margin-left:0}.extension-ratings .codicon-extensions-star-empty{opacity:.75}.extension-verified-publisher{align-items:center;display:flex}.extension-verified-publisher>.extension-verified-publisher-domain{color:var(--vscode-extensionIcon-verifiedForeground);padding-left:2px}.extension-bookmark{display:inline-block;height:20px;width:20px}.extension-bookmark>.pre-release,.extension-bookmark>.recommendation{border-right:20px solid transparent;border-top:20px solid;box-sizing:border-box;position:relative}.extension-bookmark>.pre-release{border-top-color:var(--vscode-extensionIcon-preReleaseForeground);color:#fff}.extension-bookmark>.pre-release>.codicon,.extension-bookmark>.recommendation>.codicon{bottom:9px;color:inherit;font-size:80%;left:1px;position:absolute}.extension-bookmark .recommendation{border-top-color:var(--vscode-extensionButton-prominentBackground);color:var(--vscode-extensionButton-prominentForeground)}";
|
|
4
|
+
n(css,{});
|
|
5
|
+
|
|
6
|
+
export { css, css as default };
|
package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
|
|
3
|
+
var css = ".runtime-extensions-editor .monaco-list .monaco-list-rows>.monaco-list-row.odd:not(:hover):not(.focused){background-color:hsla(0,0%,51%,.08)}.runtime-extensions-editor .extension{display:flex;padding-left:20px;padding-right:20px}.runtime-extensions-editor .extension .desc{flex:1;padding:4px 0}.runtime-extensions-editor .extension .desc .name{font-weight:700}.runtime-extensions-editor .extension .desc .msg .codicon{vertical-align:middle}.runtime-extensions-editor .extension .time{padding:4px;text-align:right}.runtime-extensions-editor .extension .desc>.msg>span:not(:last-child):after{content:\"\\2022\";opacity:.8;padding:0 4px}.runtime-extensions-editor .monaco-action-bar{height:unset}.runtime-extensions-editor .monaco-action-bar .actions-container{justify-content:left}.runtime-extensions-editor .extension>.icon-container{position:relative}.runtime-extensions-editor .extension>.icon-container>.icon{flex-shrink:0;height:42px;object-fit:contain;padding:10px 14px 10px 0;width:42px}.runtime-extensions-editor .extension>.icon-container .extension-remote-badge .codicon{color:currentColor}.runtime-extensions-editor .extension>.desc>.header-container{display:flex;overflow:hidden}.runtime-extensions-editor .extension>.desc>.header-container>.header{align-items:baseline;display:flex;flex:1;flex-wrap:nowrap;min-width:0;overflow:hidden}.runtime-extensions-editor .extension>.desc>.header-container>.header>.name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-extensions-editor .extension>.desc>.header-container>.header>.version{font-size:80%;min-width:fit-content;opacity:.85;padding-left:6px}";
|
|
4
|
+
n(css,{});
|
|
5
|
+
|
|
6
|
+
export { css, css as default };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ExtensionRecommendations } from './extensionRecommendations.js';
|
|
3
|
+
import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
|
|
4
|
+
import { PlatformToString, platform } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
5
|
+
|
|
6
|
+
let RemoteRecommendations = class RemoteRecommendations extends ExtensionRecommendations {
|
|
7
|
+
get recommendations() { return this._recommendations; }
|
|
8
|
+
constructor(productService) {
|
|
9
|
+
super();
|
|
10
|
+
this.productService = productService;
|
|
11
|
+
this._recommendations = [];
|
|
12
|
+
}
|
|
13
|
+
async doActivate() {
|
|
14
|
+
const extensionTips = { ...this.productService.remoteExtensionTips, ...this.productService.virtualWorkspaceExtensionTips };
|
|
15
|
+
const currentPlatform = PlatformToString(platform);
|
|
16
|
+
this._recommendations = ( ( Object.values(extensionTips)).filter(({ supportedPlatforms }) => !supportedPlatforms || supportedPlatforms.includes(currentPlatform)).map(extension => ({
|
|
17
|
+
extensionId: extension.extensionId.toLowerCase(),
|
|
18
|
+
reason: {
|
|
19
|
+
reasonId: 6 ,
|
|
20
|
+
reasonText: ''
|
|
21
|
+
}
|
|
22
|
+
})));
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
RemoteRecommendations = ( __decorate([
|
|
26
|
+
( __param(0, IProductService))
|
|
27
|
+
], RemoteRecommendations));
|
|
28
|
+
|
|
29
|
+
export { RemoteRecommendations };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { IExtensionGalleryService, IGlobalExtensionEnablementService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagement';
|
|
3
|
+
import { IExtensionStorageService } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionStorage';
|
|
4
|
+
import { migrateUnsupportedExtensions } from '../../../../platform/extensionManagement/common/unsupportedExtensionsMigration.js';
|
|
5
|
+
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
6
|
+
import { IExtensionManagementServerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
|
|
7
|
+
|
|
8
|
+
let UnsupportedExtensionsMigrationContrib = class UnsupportedExtensionsMigrationContrib {
|
|
9
|
+
constructor(extensionManagementServerService, extensionGalleryService, extensionStorageService, extensionEnablementService, logService) {
|
|
10
|
+
if (extensionManagementServerService.remoteExtensionManagementServer) {
|
|
11
|
+
migrateUnsupportedExtensions(extensionManagementServerService.remoteExtensionManagementServer.extensionManagementService, extensionGalleryService, extensionStorageService, extensionEnablementService, logService);
|
|
12
|
+
}
|
|
13
|
+
if (extensionManagementServerService.webExtensionManagementServer) {
|
|
14
|
+
migrateUnsupportedExtensions(extensionManagementServerService.webExtensionManagementServer.extensionManagementService, extensionGalleryService, extensionStorageService, extensionEnablementService, logService);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
UnsupportedExtensionsMigrationContrib = ( __decorate([
|
|
19
|
+
( __param(0, IExtensionManagementServerService)),
|
|
20
|
+
( __param(1, IExtensionGalleryService)),
|
|
21
|
+
( __param(2, IExtensionStorageService)),
|
|
22
|
+
( __param(3, IGlobalExtensionEnablementService)),
|
|
23
|
+
( __param(4, ILogService))
|
|
24
|
+
], UnsupportedExtensionsMigrationContrib));
|
|
25
|
+
|
|
26
|
+
export { UnsupportedExtensionsMigrationContrib };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
|
+
import { ExtensionRecommendations } from './extensionRecommendations.js';
|
|
3
|
+
import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
|
|
4
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
5
|
+
import { IExtensionManagementServerService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
|
|
6
|
+
|
|
7
|
+
let WebRecommendations = class WebRecommendations extends ExtensionRecommendations {
|
|
8
|
+
get recommendations() { return this._recommendations; }
|
|
9
|
+
constructor(productService, extensionManagementServerService) {
|
|
10
|
+
super();
|
|
11
|
+
this.productService = productService;
|
|
12
|
+
this.extensionManagementServerService = extensionManagementServerService;
|
|
13
|
+
this._recommendations = [];
|
|
14
|
+
}
|
|
15
|
+
async doActivate() {
|
|
16
|
+
const isOnlyWeb = this.extensionManagementServerService.webExtensionManagementServer && !this.extensionManagementServerService.localExtensionManagementServer && !this.extensionManagementServerService.remoteExtensionManagementServer;
|
|
17
|
+
if (isOnlyWeb && Array.isArray(this.productService.webExtensionTips)) {
|
|
18
|
+
this._recommendations = ( this.productService.webExtensionTips.map(extensionId => ({
|
|
19
|
+
extensionId: extensionId.toLowerCase(),
|
|
20
|
+
reason: {
|
|
21
|
+
reasonId: 6 ,
|
|
22
|
+
reasonText: ( localizeWithPath(
|
|
23
|
+
'vs/workbench/contrib/extensions/browser/webRecommendations',
|
|
24
|
+
'reason',
|
|
25
|
+
"This extension is recommended for {0} for the Web",
|
|
26
|
+
this.productService.nameLong
|
|
27
|
+
))
|
|
28
|
+
}
|
|
29
|
+
})));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
WebRecommendations = ( __decorate([
|
|
34
|
+
( __param(0, IProductService)),
|
|
35
|
+
( __param(1, IExtensionManagementServerService))
|
|
36
|
+
], WebRecommendations));
|
|
37
|
+
|
|
38
|
+
export { WebRecommendations };
|