@codingame/monaco-vscode-api 1.80.0-next.6 → 1.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/default-extensions/npm/npmBrowserMain.js.map +1 -1
- package/dist/default-extensions/typescript-language-features/tsserver.web.js.map +1 -1
- package/dist/missing-services.js +1 -4
- package/dist/service-override/dialogs.js +1 -2
- package/dist/service-override/extensions.js +1 -2
- package/dist/service-override/layout.js +1 -12
- package/dist/service-override/views.d.ts +2 -24
- package/dist/service-override/views.js +12 -118
- package/dist/services.js +1 -2
- package/dist/vscode/vs/workbench/api/browser/mainThreadAuthentication.js +1 -2
- package/dist/vscode/vs/workbench/api/browser/mainThreadCustomEditors.js +1 -2
- package/dist/vscode/vs/workbench/api/browser/mainThreadDialogs.js +1 -2
- package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystemEventService.js +1 -2
- package/dist/vscode/vs/workbench/api/browser/mainThreadMessageService.js +1 -2
- package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +0 -1
- package/dist/vscode/vs/workbench/browser/actions/windowActions.js +1 -2
- package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +1 -2
- package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +0 -1
- package/dist/vscode/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +1 -2
- package/dist/vscode/vs/workbench/browser/parts/dialogs/dialogHandler.js +1 -2
- package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +1 -2
- package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupView.js +1 -2
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPanes.js +1 -2
- package/dist/vscode/vs/workbench/browser/parts/editor/editorPlaceholder.js +1 -2
- package/dist/vscode/vs/workbench/common/editor/editorInput.d.ts +1 -1
- package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +1 -2
- package/dist/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -2
- package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +1 -2
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugAdapterManager.js +1 -2
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugService.js +1 -2
- package/dist/vscode/vs/workbench/contrib/debug/browser/debugTaskRunner.js +1 -2
- package/dist/vscode/vs/workbench/contrib/debug/browser/rawDebugSession.js +1 -2
- package/dist/vscode/vs/workbench/contrib/debug/common/debugLifecycle.js +1 -2
- package/dist/vscode/vs/workbench/contrib/extensions/browser/extensionsActions.js +1 -2
- package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +1 -2
- package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +1 -2
- package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +1 -2
- package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +1 -2
- package/dist/vscode/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +1 -2
- package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -2
- package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +1 -2
- package/dist/vscode/vs/workbench/contrib/search/browser/searchView.js +1 -2
- package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +1 -2
- package/dist/vscode/vs/workbench/contrib/tasks/browser/taskQuickPick.js +1 -2
- package/dist/vscode/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +1 -2
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -2
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalInstance.js +1 -2
- package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalService.js +1 -2
- package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +0 -1
- package/dist/vscode/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +1 -2
- package/dist/vscode/vs/workbench/services/dialogs/browser/simpleFileDialog.js +1 -2
- package/dist/vscode/vs/workbench/services/dialogs/common/dialogService.js +0 -1
- package/dist/vscode/vs/workbench/services/extensions/browser/extensionService.js +0 -1
- package/dist/vscode/vs/workbench/services/extensions/browser/extensionUrlHandler.js +0 -1
- package/dist/vscode/vs/workbench/services/extensions/common/abstractExtensionService.js +1 -2
- package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +1 -2
- package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +1 -2
- package/dist/vscode/vs/workbench/services/textfile/browser/browserTextFileService.js +1 -2
- package/dist/vscode/vs/workbench/services/textfile/browser/textFileService.js +1 -2
- package/dist/vscode/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +1 -2
- package/monaco-editor-treemending.patch +935 -935
- package/package.json +2 -3
- package/dist/override/vs/platform/dialogs/common/dialogs.js +0 -7
- package/dist/service-override/languageDetectionWorker.d.ts +0 -5
- package/dist/service-override/languageDetectionWorker.js +0 -15
- package/dist/vscode/vs/platform/diagnostics/common/diagnostics.js +0 -27
- package/dist/vscode/vs/platform/dialogs/common/dialogs.js +0 -126
- package/dist/vscode/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +0 -132
- package/dist/vscode/vs/workbench/contrib/notebook/common/notebookContextKeys.js +0 -3
- package/dist/vscode/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js +0 -173
- package/dist/vscode/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +0 -257
- package/dist/workers/languageDetection.worker.js +0 -8
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
-
import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
|
|
3
|
-
import { LanguageDetectionStatsId } from '../common/languageDetectionWorkerService.js';
|
|
4
|
-
import { FileAccess, Schemas, nodeModulesPath, nodeModulesAsarPath } from 'monaco-editor/esm/vs/base/common/network.js';
|
|
5
|
-
import { IWorkbenchEnvironmentService } from '../../environment/common/environmentService.js';
|
|
6
|
-
import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
|
|
7
|
-
import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
|
|
8
|
-
import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
|
|
9
|
-
import { isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
|
|
10
|
-
import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
|
|
11
|
-
import { SimpleWorkerClient } from 'monaco-editor/esm/vs/base/common/worker/simpleWorker.js';
|
|
12
|
-
import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
|
|
13
|
-
import { EditorWorkerClient, EditorWorkerHost } from 'monaco-editor/esm/vs/editor/browser/services/editorWorkerService.js';
|
|
14
|
-
import { ILanguageConfigurationService } from 'monaco-editor/esm/vs/editor/common/languages/languageConfigurationRegistry.js';
|
|
15
|
-
import { IDiagnosticsService } from '../../../../platform/diagnostics/common/diagnostics.js';
|
|
16
|
-
import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
|
|
17
|
-
import { IEditorService } from '../../editor/common/editorService.js';
|
|
18
|
-
import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
|
|
19
|
-
import { LRUCache } from 'monaco-editor/esm/vs/base/common/map.js';
|
|
20
|
-
import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
|
|
21
|
-
const TOP_LANG_COUNTS = 12;
|
|
22
|
-
const regexpModuleLocation = `${nodeModulesPath}/vscode-regexp-languagedetection`;
|
|
23
|
-
const regexpModuleLocationAsar = `${nodeModulesAsarPath}/vscode-regexp-languagedetection`;
|
|
24
|
-
const moduleLocation = `${nodeModulesPath}/@vscode/vscode-languagedetection`;
|
|
25
|
-
const moduleLocationAsar = `${nodeModulesAsarPath}/@vscode/vscode-languagedetection`;
|
|
26
|
-
let LanguageDetectionService = class LanguageDetectionService extends Disposable {
|
|
27
|
-
constructor(_environmentService, languageService, _configurationService, _diagnosticsService, _workspaceContextService, modelService, _editorService, telemetryService, storageService, _logService, languageConfigurationService) {
|
|
28
|
-
super();
|
|
29
|
-
this._environmentService = _environmentService;
|
|
30
|
-
this._configurationService = _configurationService;
|
|
31
|
-
this._diagnosticsService = _diagnosticsService;
|
|
32
|
-
this._workspaceContextService = _workspaceContextService;
|
|
33
|
-
this._editorService = _editorService;
|
|
34
|
-
this._logService = _logService;
|
|
35
|
-
this.hasResolvedWorkspaceLanguageIds = false;
|
|
36
|
-
this.workspaceLanguageIds = ( new Set());
|
|
37
|
-
this.sessionOpenedLanguageIds = ( new Set());
|
|
38
|
-
this.historicalGlobalOpenedLanguageIds = ( new LRUCache(TOP_LANG_COUNTS));
|
|
39
|
-
this.historicalWorkspaceOpenedLanguageIds = ( new LRUCache(TOP_LANG_COUNTS));
|
|
40
|
-
this.dirtyBiases = true;
|
|
41
|
-
this.langBiases = {};
|
|
42
|
-
this._languageDetectionWorkerClient = ( new LanguageDetectionWorkerClient(
|
|
43
|
-
modelService,
|
|
44
|
-
languageService,
|
|
45
|
-
telemetryService,
|
|
46
|
-
this._environmentService.isBuilt && !isWeb
|
|
47
|
-
? ( ( FileAccess.asBrowserUri(`${moduleLocationAsar}/dist/lib/index.js`)).toString(true))
|
|
48
|
-
: ( ( FileAccess.asBrowserUri(`${moduleLocation}/dist/lib/index.js`)).toString(true)),
|
|
49
|
-
this._environmentService.isBuilt && !isWeb
|
|
50
|
-
? ( ( FileAccess.asBrowserUri(`${moduleLocationAsar}/model/model.json`)).toString(true))
|
|
51
|
-
: ( ( FileAccess.asBrowserUri(`${moduleLocation}/model/model.json`)).toString(true)),
|
|
52
|
-
this._environmentService.isBuilt && !isWeb
|
|
53
|
-
? ( ( FileAccess.asBrowserUri(`${moduleLocationAsar}/model/group1-shard1of1.bin`)).toString(true))
|
|
54
|
-
: ( ( FileAccess.asBrowserUri(`${moduleLocation}/model/group1-shard1of1.bin`)).toString(true)),
|
|
55
|
-
this._environmentService.isBuilt && !isWeb
|
|
56
|
-
? ( ( FileAccess.asBrowserUri(`${regexpModuleLocationAsar}/dist/index.js`)).toString(true))
|
|
57
|
-
: ( ( FileAccess.asBrowserUri(`${regexpModuleLocation}/dist/index.js`)).toString(true)),
|
|
58
|
-
languageConfigurationService
|
|
59
|
-
));
|
|
60
|
-
this.initEditorOpenedListeners(storageService);
|
|
61
|
-
}
|
|
62
|
-
async resolveWorkspaceLanguageIds() {
|
|
63
|
-
if (this.hasResolvedWorkspaceLanguageIds) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
this.hasResolvedWorkspaceLanguageIds = true;
|
|
67
|
-
const fileExtensions = await this._diagnosticsService.getWorkspaceFileExtensions(this._workspaceContextService.getWorkspace());
|
|
68
|
-
let count = 0;
|
|
69
|
-
for (const ext of fileExtensions.extensions) {
|
|
70
|
-
const langId = this._languageDetectionWorkerClient.getLanguageId(ext);
|
|
71
|
-
if (langId && count < TOP_LANG_COUNTS) {
|
|
72
|
-
this.workspaceLanguageIds.add(langId);
|
|
73
|
-
count++;
|
|
74
|
-
if (count > TOP_LANG_COUNTS) {
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
this.dirtyBiases = true;
|
|
80
|
-
}
|
|
81
|
-
isEnabledForLanguage(languageId) {
|
|
82
|
-
return !!languageId && this._configurationService.getValue(LanguageDetectionService.enablementSettingKey, { overrideIdentifier: languageId });
|
|
83
|
-
}
|
|
84
|
-
getLanguageBiases() {
|
|
85
|
-
if (!this.dirtyBiases) {
|
|
86
|
-
return this.langBiases;
|
|
87
|
-
}
|
|
88
|
-
const biases = {};
|
|
89
|
-
this.sessionOpenedLanguageIds.forEach(lang => biases[lang] = (biases[lang] ?? 0) + 7);
|
|
90
|
-
this.workspaceLanguageIds.forEach(lang => biases[lang] = (biases[lang] ?? 0) + 5);
|
|
91
|
-
[...( this.historicalWorkspaceOpenedLanguageIds.keys())].forEach(lang => biases[lang] = (biases[lang] ?? 0) + 3);
|
|
92
|
-
[...( this.historicalGlobalOpenedLanguageIds.keys())].forEach(lang => biases[lang] = (biases[lang] ?? 0) + 1);
|
|
93
|
-
this._logService.trace('Session Languages:', JSON.stringify([...this.sessionOpenedLanguageIds]));
|
|
94
|
-
this._logService.trace('Workspace Languages:', JSON.stringify([...this.workspaceLanguageIds]));
|
|
95
|
-
this._logService.trace('Historical Workspace Opened Languages:', JSON.stringify([...( this.historicalWorkspaceOpenedLanguageIds.keys())]));
|
|
96
|
-
this._logService.trace('Historical Globally Opened Languages:', JSON.stringify([...( this.historicalGlobalOpenedLanguageIds.keys())]));
|
|
97
|
-
this._logService.trace('Computed Language Detection Biases:', JSON.stringify(biases));
|
|
98
|
-
this.dirtyBiases = false;
|
|
99
|
-
this.langBiases = biases;
|
|
100
|
-
return biases;
|
|
101
|
-
}
|
|
102
|
-
async detectLanguage(resource, supportedLangs) {
|
|
103
|
-
const useHistory = this._configurationService.getValue(LanguageDetectionService.historyBasedEnablementConfig);
|
|
104
|
-
const preferHistory = this._configurationService.getValue(LanguageDetectionService.preferHistoryConfig);
|
|
105
|
-
if (useHistory) {
|
|
106
|
-
await this.resolveWorkspaceLanguageIds();
|
|
107
|
-
}
|
|
108
|
-
const biases = useHistory ? this.getLanguageBiases() : undefined;
|
|
109
|
-
return this._languageDetectionWorkerClient.detectLanguage(resource, biases, preferHistory, supportedLangs);
|
|
110
|
-
}
|
|
111
|
-
initEditorOpenedListeners(storageService) {
|
|
112
|
-
try {
|
|
113
|
-
const globalLangHistoryData = JSON.parse(storageService.get(LanguageDetectionService.globalOpenedLanguagesStorageKey, 0 , '[]'));
|
|
114
|
-
this.historicalGlobalOpenedLanguageIds.fromJSON(globalLangHistoryData);
|
|
115
|
-
}
|
|
116
|
-
catch (e) {
|
|
117
|
-
console.error(e);
|
|
118
|
-
}
|
|
119
|
-
try {
|
|
120
|
-
const workspaceLangHistoryData = JSON.parse(storageService.get(LanguageDetectionService.workspaceOpenedLanguagesStorageKey, 1 , '[]'));
|
|
121
|
-
this.historicalWorkspaceOpenedLanguageIds.fromJSON(workspaceLangHistoryData);
|
|
122
|
-
}
|
|
123
|
-
catch (e) {
|
|
124
|
-
console.error(e);
|
|
125
|
-
}
|
|
126
|
-
this._register(this._editorService.onDidActiveEditorChange(() => {
|
|
127
|
-
const activeLanguage = this._editorService.activeTextEditorLanguageId;
|
|
128
|
-
if (activeLanguage && this._editorService.activeEditor?.resource?.scheme !== Schemas.untitled) {
|
|
129
|
-
this.sessionOpenedLanguageIds.add(activeLanguage);
|
|
130
|
-
this.historicalGlobalOpenedLanguageIds.set(activeLanguage, true);
|
|
131
|
-
this.historicalWorkspaceOpenedLanguageIds.set(activeLanguage, true);
|
|
132
|
-
storageService.store(LanguageDetectionService.globalOpenedLanguagesStorageKey, JSON.stringify(this.historicalGlobalOpenedLanguageIds.toJSON()), 0 , 1 );
|
|
133
|
-
storageService.store(LanguageDetectionService.workspaceOpenedLanguagesStorageKey, JSON.stringify(this.historicalWorkspaceOpenedLanguageIds.toJSON()), 1 , 1 );
|
|
134
|
-
this.dirtyBiases = true;
|
|
135
|
-
}
|
|
136
|
-
}));
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
LanguageDetectionService.enablementSettingKey = 'workbench.editor.languageDetection';
|
|
140
|
-
LanguageDetectionService.historyBasedEnablementConfig = 'workbench.editor.historyBasedLanguageDetection';
|
|
141
|
-
LanguageDetectionService.preferHistoryConfig = 'workbench.editor.preferHistoryBasedLanguageDetection';
|
|
142
|
-
LanguageDetectionService.workspaceOpenedLanguagesStorageKey = 'workbench.editor.languageDetectionOpenedLanguages.workspace';
|
|
143
|
-
LanguageDetectionService.globalOpenedLanguagesStorageKey = 'workbench.editor.languageDetectionOpenedLanguages.global';
|
|
144
|
-
LanguageDetectionService = ( __decorate([
|
|
145
|
-
( __param(0, IWorkbenchEnvironmentService)),
|
|
146
|
-
( __param(1, ILanguageService)),
|
|
147
|
-
( __param(2, IConfigurationService)),
|
|
148
|
-
( __param(3, IDiagnosticsService)),
|
|
149
|
-
( __param(4, IWorkspaceContextService)),
|
|
150
|
-
( __param(5, IModelService)),
|
|
151
|
-
( __param(6, IEditorService)),
|
|
152
|
-
( __param(7, ITelemetryService)),
|
|
153
|
-
( __param(8, IStorageService)),
|
|
154
|
-
( __param(9, ILogService)),
|
|
155
|
-
( __param(10, ILanguageConfigurationService))
|
|
156
|
-
], LanguageDetectionService));
|
|
157
|
-
class LanguageDetectionWorkerClient extends EditorWorkerClient {
|
|
158
|
-
constructor(modelService, _languageService, _telemetryService, _indexJsUri, _modelJsonUri, _weightsUri, _regexpModelUri, languageConfigurationService) {
|
|
159
|
-
super(modelService, true, 'languageDetectionWorkerService', languageConfigurationService);
|
|
160
|
-
this._languageService = _languageService;
|
|
161
|
-
this._telemetryService = _telemetryService;
|
|
162
|
-
this._indexJsUri = _indexJsUri;
|
|
163
|
-
this._modelJsonUri = _modelJsonUri;
|
|
164
|
-
this._weightsUri = _weightsUri;
|
|
165
|
-
this._regexpModelUri = _regexpModelUri;
|
|
166
|
-
}
|
|
167
|
-
_getOrCreateLanguageDetectionWorker() {
|
|
168
|
-
if (this.workerPromise) {
|
|
169
|
-
return this.workerPromise;
|
|
170
|
-
}
|
|
171
|
-
this.workerPromise = ( new Promise((resolve, reject) => {
|
|
172
|
-
resolve(this._register(( new SimpleWorkerClient(
|
|
173
|
-
this._workerFactory,
|
|
174
|
-
'vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker',
|
|
175
|
-
( new EditorWorkerHost(this))
|
|
176
|
-
))));
|
|
177
|
-
}));
|
|
178
|
-
return this.workerPromise;
|
|
179
|
-
}
|
|
180
|
-
_guessLanguageIdByUri(uri) {
|
|
181
|
-
const guess = this._languageService.guessLanguageIdByFilepathOrFirstLine(uri);
|
|
182
|
-
if (guess && guess !== 'unknown') {
|
|
183
|
-
return guess;
|
|
184
|
-
}
|
|
185
|
-
return undefined;
|
|
186
|
-
}
|
|
187
|
-
async _getProxy() {
|
|
188
|
-
return (await this._getOrCreateLanguageDetectionWorker()).getProxyObject();
|
|
189
|
-
}
|
|
190
|
-
async fhr(method, args) {
|
|
191
|
-
switch (method) {
|
|
192
|
-
case 'getIndexJsUri':
|
|
193
|
-
return this.getIndexJsUri();
|
|
194
|
-
case 'getModelJsonUri':
|
|
195
|
-
return this.getModelJsonUri();
|
|
196
|
-
case 'getWeightsUri':
|
|
197
|
-
return this.getWeightsUri();
|
|
198
|
-
case 'getRegexpModelUri':
|
|
199
|
-
return this.getRegexpModelUri();
|
|
200
|
-
case 'getLanguageId':
|
|
201
|
-
return this.getLanguageId(args[0]);
|
|
202
|
-
case 'sendTelemetryEvent':
|
|
203
|
-
return this.sendTelemetryEvent(args[0], args[1], args[2]);
|
|
204
|
-
default:
|
|
205
|
-
return super.fhr(method, args);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
async getIndexJsUri() {
|
|
209
|
-
return this._indexJsUri;
|
|
210
|
-
}
|
|
211
|
-
getLanguageId(languageIdOrExt) {
|
|
212
|
-
if (!languageIdOrExt) {
|
|
213
|
-
return undefined;
|
|
214
|
-
}
|
|
215
|
-
if (this._languageService.isRegisteredLanguageId(languageIdOrExt)) {
|
|
216
|
-
return languageIdOrExt;
|
|
217
|
-
}
|
|
218
|
-
const guessed = this._guessLanguageIdByUri(URI.file(`file.${languageIdOrExt}`));
|
|
219
|
-
if (!guessed || guessed === 'unknown') {
|
|
220
|
-
return undefined;
|
|
221
|
-
}
|
|
222
|
-
return guessed;
|
|
223
|
-
}
|
|
224
|
-
async getModelJsonUri() {
|
|
225
|
-
return this._modelJsonUri;
|
|
226
|
-
}
|
|
227
|
-
async getWeightsUri() {
|
|
228
|
-
return this._weightsUri;
|
|
229
|
-
}
|
|
230
|
-
async getRegexpModelUri() {
|
|
231
|
-
return this._regexpModelUri;
|
|
232
|
-
}
|
|
233
|
-
async sendTelemetryEvent(languages, confidences, timeSpent) {
|
|
234
|
-
this._telemetryService.publicLog2(LanguageDetectionStatsId, {
|
|
235
|
-
languages: languages.join(','),
|
|
236
|
-
confidences: confidences.join(','),
|
|
237
|
-
timeSpent
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
async detectLanguage(resource, langBiases, preferHistory, supportedLangs) {
|
|
241
|
-
const startTime = Date.now();
|
|
242
|
-
const quickGuess = this._guessLanguageIdByUri(resource);
|
|
243
|
-
if (quickGuess) {
|
|
244
|
-
return quickGuess;
|
|
245
|
-
}
|
|
246
|
-
await this._withSyncedResources([resource]);
|
|
247
|
-
const modelId = await (await this._getProxy()).detectLanguage(( resource.toString()), langBiases, preferHistory, supportedLangs);
|
|
248
|
-
const languageId = this.getLanguageId(modelId);
|
|
249
|
-
const LanguageDetectionStatsId = 'automaticlanguagedetection.perf';
|
|
250
|
-
this._telemetryService.publicLog2(LanguageDetectionStatsId, {
|
|
251
|
-
timeSpent: Date.now() - startTime,
|
|
252
|
-
detection: languageId || 'unknown',
|
|
253
|
-
});
|
|
254
|
-
return languageId;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
export { LanguageDetectionService, LanguageDetectionWorkerClient };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { create } from '../vscode/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js';
|
|
2
|
-
import { SimpleWorkerServer } from 'monaco-editor/esm/vs/base/common/worker/simpleWorker.js';
|
|
3
|
-
const simpleWorker = new SimpleWorkerServer((msg) => {
|
|
4
|
-
globalThis.postMessage(msg);
|
|
5
|
-
}, create);
|
|
6
|
-
globalThis.onmessage = (e) => {
|
|
7
|
-
simpleWorker.onmessage(e.data);
|
|
8
|
-
};
|