@codingame/monaco-vscode-language-detection-worker-service-override 25.1.2 → 26.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-language-detection-worker-service-override",
3
- "version": "25.1.2",
3
+ "version": "26.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - language-detection-worker service-override",
6
6
  "keywords": [],
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "25.1.2",
18
+ "@codingame/monaco-vscode-api": "26.0.0",
19
19
  "@vscode/vscode-languagedetection": "npm:@codingame/vscode-languagedetection@1.0.23"
20
20
  },
21
21
  "main": "index.js",
@@ -25,11 +25,22 @@ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/netw
25
25
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
26
26
 
27
27
  var LanguageDetectionStatusContribution_1;
28
- const detectLanguageCommandId = 'editor.detectLanguage';
28
+ const detectLanguageCommandId = "editor.detectLanguage";
29
29
  let LanguageDetectionStatusContribution = class LanguageDetectionStatusContribution {
30
- static { LanguageDetectionStatusContribution_1 = this; }
31
- static { this._id = 'status.languageDetectionStatus'; }
32
- constructor(_languageDetectionService, _statusBarService, _configurationService, _editorService, _languageService, _keybindingService) {
30
+ static {
31
+ LanguageDetectionStatusContribution_1 = this;
32
+ }
33
+ static {
34
+ this._id = "status.languageDetectionStatus";
35
+ }
36
+ constructor(
37
+ _languageDetectionService,
38
+ _statusBarService,
39
+ _configurationService,
40
+ _editorService,
41
+ _languageService,
42
+ _keybindingService
43
+ ) {
33
44
  this._languageDetectionService = _languageDetectionService;
34
45
  this._statusBarService = _statusBarService;
35
46
  this._configurationService = _configurationService;
@@ -63,63 +74,65 @@ let LanguageDetectionStatusContribution = class LanguageDetectionStatusContribut
63
74
  const editorModel = editor?.getModel();
64
75
  const editorUri = editorModel?.uri;
65
76
  const existingId = editorModel?.getLanguageId();
66
- const enablementConfig = this._configurationService.getValue('workbench.editor.languageDetectionHints');
67
- const enabled = typeof enablementConfig === 'object' && enablementConfig?.untitledEditors;
77
+ const enablementConfig = this._configurationService.getValue("workbench.editor.languageDetectionHints");
78
+ const enabled = typeof enablementConfig === "object" && enablementConfig?.untitledEditors;
68
79
  const disableLightbulb = !enabled || editorUri?.scheme !== Schemas.untitled || !existingId;
69
80
  if (disableLightbulb || !editorUri) {
70
81
  this._combinedEntry?.dispose();
71
82
  this._combinedEntry = undefined;
72
- }
73
- else {
83
+ } else {
74
84
  const lang = await this._languageDetectionService.detectLanguage(editorUri);
75
- const skip = { 'jsonc': 'json' };
85
+ const skip = {
86
+ "jsonc": "json"
87
+ };
76
88
  const existing = editorModel.getLanguageId();
77
89
  if (lang && lang !== existing && skip[existing] !== lang) {
78
90
  const detectedName = this._languageService.getLanguageName(lang) || lang;
79
- let tooltip = ( localize(8503, "Accept Detected Language: {0}", detectedName));
80
- const keybinding = this._keybindingService.lookupKeybinding(detectLanguageCommandId);
81
- const label = keybinding?.getLabel();
82
- if (label) {
83
- tooltip += ` (${label})`;
84
- }
91
+ const tooltip = this._keybindingService.appendKeybinding(( localize(8810, "Accept Detected Language: {0}", detectedName)), detectLanguageCommandId);
85
92
  const props = {
86
- name: ( localize(8504, "Language Detection")),
87
- ariaLabel: ( localize(8505, "Change to Detected Language: {0}", lang)),
93
+ name: ( localize(8811, "Language Detection")),
94
+ ariaLabel: ( localize(8812, "Change to Detected Language: {0}", lang)),
88
95
  tooltip,
89
96
  command: detectLanguageCommandId,
90
- text: '$(lightbulb-autofix)',
97
+ text: "$(lightbulb-autofix)"
91
98
  };
92
99
  if (!this._combinedEntry) {
93
- this._combinedEntry = this._statusBarService.addEntry(props, LanguageDetectionStatusContribution_1._id, StatusbarAlignment.RIGHT, { location: { id: 'status.editor.mode', priority: 100.1 }, alignment: StatusbarAlignment.RIGHT, compact: true });
94
- }
95
- else {
100
+ this._combinedEntry = this._statusBarService.addEntry(
101
+ props,
102
+ LanguageDetectionStatusContribution_1._id,
103
+ StatusbarAlignment.RIGHT,
104
+ {
105
+ location: {
106
+ id: "status.editor.mode",
107
+ priority: 100.1
108
+ },
109
+ alignment: StatusbarAlignment.RIGHT,
110
+ compact: true
111
+ }
112
+ );
113
+ } else {
96
114
  this._combinedEntry.update(props);
97
115
  }
98
- }
99
- else {
116
+ } else {
100
117
  this._combinedEntry?.dispose();
101
118
  this._combinedEntry = undefined;
102
119
  }
103
120
  }
104
121
  }
105
122
  };
106
- LanguageDetectionStatusContribution = LanguageDetectionStatusContribution_1 = ( __decorate([
107
- ( __param(0, ILanguageDetectionService)),
108
- ( __param(1, IStatusbarService)),
109
- ( __param(2, IConfigurationService)),
110
- ( __param(3, IEditorService)),
111
- ( __param(4, ILanguageService)),
112
- ( __param(5, IKeybindingService))
113
- ], LanguageDetectionStatusContribution));
123
+ LanguageDetectionStatusContribution = LanguageDetectionStatusContribution_1 = ( __decorate([( __param(0, ILanguageDetectionService)), ( __param(1, IStatusbarService)), ( __param(2, IConfigurationService)), ( __param(3, IEditorService)), ( __param(4, ILanguageService)), ( __param(5, IKeybindingService))], LanguageDetectionStatusContribution));
114
124
  ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(LanguageDetectionStatusContribution, LifecyclePhase.Restored);
115
125
  registerAction2(class extends Action2 {
116
126
  constructor() {
117
127
  super({
118
128
  id: detectLanguageCommandId,
119
- title: ( localize2(8506, "Detect Language from Content")),
129
+ title: ( localize2(8813, "Detect Language from Content")),
120
130
  f1: true,
121
131
  precondition: ( ContextKeyExpr.and(( NOTEBOOK_EDITOR_EDITABLE.toNegated()), EditorContextKeys.editorTextFocus)),
122
- keybinding: { primary: KeyCode.KeyD | KeyMod.Alt | KeyMod.Shift, weight: KeybindingWeight.WorkbenchContrib }
132
+ keybinding: {
133
+ primary: KeyCode.KeyD | KeyMod.Alt | KeyMod.Shift,
134
+ weight: KeybindingWeight.WorkbenchContrib
135
+ }
123
136
  });
124
137
  }
125
138
  async run(accessor) {
@@ -132,9 +145,8 @@ registerAction2(class extends Action2 {
132
145
  const lang = await languageDetectionService.detectLanguage(editorUri);
133
146
  if (lang) {
134
147
  editor.getModel()?.setLanguage(lang, LanguageDetectionLanguageEventSource);
135
- }
136
- else {
137
- notificationService.warn(( localize(8507, "Unable to detect editor language")));
148
+ } else {
149
+ notificationService.warn(( localize(8814, "Unable to detect editor language")));
138
150
  }
139
151
  }
140
152
  }
@@ -8,10 +8,18 @@ function create(workerServer) {
8
8
  return ( new LanguageDetectionWorker(workerServer));
9
9
  }
10
10
  class LanguageDetectionWorker {
11
- static { this.expectedRelativeConfidence = 0.2; }
12
- static { this.positiveConfidenceCorrectionBucket1 = 0.05; }
13
- static { this.positiveConfidenceCorrectionBucket2 = 0.025; }
14
- static { this.negativeConfidenceCorrection = 0.5; }
11
+ static {
12
+ this.expectedRelativeConfidence = 0.2;
13
+ }
14
+ static {
15
+ this.positiveConfidenceCorrectionBucket1 = 0.05;
16
+ }
17
+ static {
18
+ this.positiveConfidenceCorrectionBucket2 = 0.025;
19
+ }
20
+ static {
21
+ this.negativeConfidenceCorrection = 0.5;
22
+ }
15
23
  constructor(workerServer) {
16
24
  this._requestHandlerBrand = undefined;
17
25
  this._workerTextModelSyncServer = ( new WorkerTextModelSyncServer());
@@ -76,8 +84,7 @@ class LanguageDetectionWorker {
76
84
  try {
77
85
  const modelJSON = await response.json();
78
86
  return modelJSON;
79
- }
80
- catch (e) {
87
+ } catch (e) {
81
88
  const message = `Failed to parse model JSON.`;
82
89
  throw ( new Error(message));
83
90
  }
@@ -92,31 +99,31 @@ class LanguageDetectionWorker {
92
99
  }
93
100
  adjustLanguageConfidence(modelResult) {
94
101
  switch (modelResult.languageId) {
95
- case 'js':
96
- case 'html':
97
- case 'json':
98
- case 'ts':
99
- case 'css':
100
- case 'py':
101
- case 'xml':
102
- case 'php':
103
- modelResult.confidence += LanguageDetectionWorker.positiveConfidenceCorrectionBucket1;
104
- break;
105
- case 'cpp':
106
- case 'sh':
107
- case 'java':
108
- case 'cs':
109
- case 'c':
110
- modelResult.confidence += LanguageDetectionWorker.positiveConfidenceCorrectionBucket2;
111
- break;
112
- case 'bat':
113
- case 'ini':
114
- case 'makefile':
115
- case 'sql':
116
- case 'csv':
117
- case 'toml':
118
- modelResult.confidence -= LanguageDetectionWorker.negativeConfidenceCorrection;
119
- break;
102
+ case "js":
103
+ case "html":
104
+ case "json":
105
+ case "ts":
106
+ case "css":
107
+ case "py":
108
+ case "xml":
109
+ case "php":
110
+ modelResult.confidence += LanguageDetectionWorker.positiveConfidenceCorrectionBucket1;
111
+ break;
112
+ case "cpp":
113
+ case "sh":
114
+ case "java":
115
+ case "cs":
116
+ case "c":
117
+ modelResult.confidence += LanguageDetectionWorker.positiveConfidenceCorrectionBucket2;
118
+ break;
119
+ case "bat":
120
+ case "ini":
121
+ case "makefile":
122
+ case "sql":
123
+ case "csv":
124
+ case "toml":
125
+ modelResult.confidence -= LanguageDetectionWorker.negativeConfidenceCorrection;
126
+ break;
120
127
  }
121
128
  return modelResult;
122
129
  }
@@ -127,8 +134,7 @@ class LanguageDetectionWorker {
127
134
  let modelOperations;
128
135
  try {
129
136
  modelOperations = await this.getModelOperations();
130
- }
131
- catch (e) {
137
+ } catch (e) {
132
138
  console.log(e);
133
139
  this._loadFailed = true;
134
140
  return;
@@ -136,13 +142,10 @@ class LanguageDetectionWorker {
136
142
  let modelResults;
137
143
  try {
138
144
  modelResults = await modelOperations.runModel(content);
139
- }
140
- catch (e) {
145
+ } catch (e) {
141
146
  console.warn(e);
142
147
  }
143
- if (!modelResults
144
- || modelResults.length === 0
145
- || modelResults[0].confidence < LanguageDetectionWorker.expectedRelativeConfidence) {
148
+ if (!modelResults || modelResults.length === 0 || modelResults[0].confidence < LanguageDetectionWorker.expectedRelativeConfidence) {
146
149
  return;
147
150
  }
148
151
  const firstModelResult = this.adjustLanguageConfidence(modelResults[0]);
@@ -165,8 +168,7 @@ class LanguageDetectionWorker {
165
168
  continue;
166
169
  }
167
170
  return;
168
- }
169
- else {
171
+ } else {
170
172
  if (current.confidence > LanguageDetectionWorker.expectedRelativeConfidence) {
171
173
  possibleLanguages.push(current);
172
174
  continue;
@@ -29,13 +29,37 @@ const TOP_LANG_COUNTS = 12;
29
29
  const regexpModuleLocation = `${nodeModulesPath}/vscode-regexp-languagedetection`;
30
30
  const moduleLocation = `${nodeModulesPath}/@vscode/vscode-languagedetection`;
31
31
  let LanguageDetectionService = class LanguageDetectionService extends Disposable {
32
- static { LanguageDetectionService_1 = this; }
33
- static { this.enablementSettingKey = 'workbench.editor.languageDetection'; }
34
- static { this.historyBasedEnablementConfig = 'workbench.editor.historyBasedLanguageDetection'; }
35
- static { this.preferHistoryConfig = 'workbench.editor.preferHistoryBasedLanguageDetection'; }
36
- static { this.workspaceOpenedLanguagesStorageKey = 'workbench.editor.languageDetectionOpenedLanguages.workspace'; }
37
- static { this.globalOpenedLanguagesStorageKey = 'workbench.editor.languageDetectionOpenedLanguages.global'; }
38
- constructor(_environmentService, languageService, _configurationService, _diagnosticsService, _workspaceContextService, modelService, _editorService, telemetryService, storageService, _logService, webWorkerService) {
32
+ static {
33
+ LanguageDetectionService_1 = this;
34
+ }
35
+ static {
36
+ this.enablementSettingKey = "workbench.editor.languageDetection";
37
+ }
38
+ static {
39
+ this.historyBasedEnablementConfig = "workbench.editor.historyBasedLanguageDetection";
40
+ }
41
+ static {
42
+ this.preferHistoryConfig = "workbench.editor.preferHistoryBasedLanguageDetection";
43
+ }
44
+ static {
45
+ this.workspaceOpenedLanguagesStorageKey = "workbench.editor.languageDetectionOpenedLanguages.workspace";
46
+ }
47
+ static {
48
+ this.globalOpenedLanguagesStorageKey = "workbench.editor.languageDetectionOpenedLanguages.global";
49
+ }
50
+ constructor(
51
+ _environmentService,
52
+ languageService,
53
+ _configurationService,
54
+ _diagnosticsService,
55
+ _workspaceContextService,
56
+ modelService,
57
+ _editorService,
58
+ telemetryService,
59
+ storageService,
60
+ _logService,
61
+ webWorkerService
62
+ ) {
39
63
  super();
40
64
  this._environmentService = _environmentService;
41
65
  this._configurationService = _configurationService;
@@ -82,7 +106,9 @@ let LanguageDetectionService = class LanguageDetectionService extends Disposable
82
106
  this.dirtyBiases = true;
83
107
  }
84
108
  isEnabledForLanguage(languageId) {
85
- return !!languageId && this._configurationService.getValue(LanguageDetectionService_1.enablementSettingKey, { overrideIdentifier: languageId });
109
+ return !!languageId && this._configurationService.getValue(LanguageDetectionService_1.enablementSettingKey, {
110
+ overrideIdentifier: languageId
111
+ });
86
112
  }
87
113
  getLanguageBiases() {
88
114
  if (!this.dirtyBiases) {
@@ -93,11 +119,14 @@ let LanguageDetectionService = class LanguageDetectionService extends Disposable
93
119
  this.workspaceLanguageIds.forEach(lang => biases[lang] = (biases[lang] ?? 0) + 5);
94
120
  [...( this.historicalWorkspaceOpenedLanguageIds.keys())].forEach(lang => biases[lang] = (biases[lang] ?? 0) + 3);
95
121
  [...( this.historicalGlobalOpenedLanguageIds.keys())].forEach(lang => biases[lang] = (biases[lang] ?? 0) + 1);
96
- this._logService.trace('Session Languages:', JSON.stringify([...this.sessionOpenedLanguageIds]));
97
- this._logService.trace('Workspace Languages:', JSON.stringify([...this.workspaceLanguageIds]));
98
- this._logService.trace('Historical Workspace Opened Languages:', JSON.stringify([...( this.historicalWorkspaceOpenedLanguageIds.keys())]));
99
- this._logService.trace('Historical Globally Opened Languages:', JSON.stringify([...( this.historicalGlobalOpenedLanguageIds.keys())]));
100
- this._logService.trace('Computed Language Detection Biases:', JSON.stringify(biases));
122
+ this._logService.trace("Session Languages:", JSON.stringify([...this.sessionOpenedLanguageIds]));
123
+ this._logService.trace("Workspace Languages:", JSON.stringify([...this.workspaceLanguageIds]));
124
+ this._logService.trace(
125
+ "Historical Workspace Opened Languages:",
126
+ JSON.stringify([...( this.historicalWorkspaceOpenedLanguageIds.keys())])
127
+ );
128
+ this._logService.trace("Historical Globally Opened Languages:", JSON.stringify([...( this.historicalGlobalOpenedLanguageIds.keys())]));
129
+ this._logService.trace("Computed Language Detection Biases:", JSON.stringify(biases));
101
130
  this.dirtyBiases = false;
102
131
  this.langBiases = biases;
103
132
  return biases;
@@ -113,17 +142,23 @@ let LanguageDetectionService = class LanguageDetectionService extends Disposable
113
142
  }
114
143
  initEditorOpenedListeners(storageService) {
115
144
  try {
116
- const globalLangHistoryData = JSON.parse(storageService.get(LanguageDetectionService_1.globalOpenedLanguagesStorageKey, StorageScope.PROFILE, '[]'));
145
+ const globalLangHistoryData = JSON.parse(storageService.get(
146
+ LanguageDetectionService_1.globalOpenedLanguagesStorageKey,
147
+ StorageScope.PROFILE,
148
+ "[]"
149
+ ));
117
150
  this.historicalGlobalOpenedLanguageIds.fromJSON(globalLangHistoryData);
118
- }
119
- catch (e) {
151
+ } catch (e) {
120
152
  console.error(e);
121
153
  }
122
154
  try {
123
- const workspaceLangHistoryData = JSON.parse(storageService.get(LanguageDetectionService_1.workspaceOpenedLanguagesStorageKey, StorageScope.WORKSPACE, '[]'));
155
+ const workspaceLangHistoryData = JSON.parse(storageService.get(
156
+ LanguageDetectionService_1.workspaceOpenedLanguagesStorageKey,
157
+ StorageScope.WORKSPACE,
158
+ "[]"
159
+ ));
124
160
  this.historicalWorkspaceOpenedLanguageIds.fromJSON(workspaceLangHistoryData);
125
- }
126
- catch (e) {
161
+ } catch (e) {
127
162
  console.error(e);
128
163
  }
129
164
  this._register(this._editorService.onDidActiveEditorChange(() => {
@@ -132,28 +167,35 @@ let LanguageDetectionService = class LanguageDetectionService extends Disposable
132
167
  this.sessionOpenedLanguageIds.add(activeLanguage);
133
168
  this.historicalGlobalOpenedLanguageIds.set(activeLanguage, true);
134
169
  this.historicalWorkspaceOpenedLanguageIds.set(activeLanguage, true);
135
- storageService.store(LanguageDetectionService_1.globalOpenedLanguagesStorageKey, JSON.stringify(this.historicalGlobalOpenedLanguageIds.toJSON()), StorageScope.PROFILE, StorageTarget.MACHINE);
136
- storageService.store(LanguageDetectionService_1.workspaceOpenedLanguagesStorageKey, JSON.stringify(this.historicalWorkspaceOpenedLanguageIds.toJSON()), StorageScope.WORKSPACE, StorageTarget.MACHINE);
170
+ storageService.store(
171
+ LanguageDetectionService_1.globalOpenedLanguagesStorageKey,
172
+ JSON.stringify(this.historicalGlobalOpenedLanguageIds.toJSON()),
173
+ StorageScope.PROFILE,
174
+ StorageTarget.MACHINE
175
+ );
176
+ storageService.store(
177
+ LanguageDetectionService_1.workspaceOpenedLanguagesStorageKey,
178
+ JSON.stringify(this.historicalWorkspaceOpenedLanguageIds.toJSON()),
179
+ StorageScope.WORKSPACE,
180
+ StorageTarget.MACHINE
181
+ );
137
182
  this.dirtyBiases = true;
138
183
  }
139
184
  }));
140
185
  }
141
186
  };
142
- LanguageDetectionService = LanguageDetectionService_1 = ( __decorate([
143
- ( __param(0, IWorkbenchEnvironmentService)),
144
- ( __param(1, ILanguageService)),
145
- ( __param(2, IConfigurationService)),
146
- ( __param(3, IDiagnosticsService)),
147
- ( __param(4, IWorkspaceContextService)),
148
- ( __param(5, IModelService)),
149
- ( __param(6, IEditorService)),
150
- ( __param(7, ITelemetryService)),
151
- ( __param(8, IStorageService)),
152
- ( __param(9, ILogService)),
153
- ( __param(10, IWebWorkerService))
154
- ], LanguageDetectionService));
187
+ LanguageDetectionService = LanguageDetectionService_1 = ( __decorate([( __param(0, IWorkbenchEnvironmentService)), ( __param(1, ILanguageService)), ( __param(2, IConfigurationService)), ( __param(3, IDiagnosticsService)), ( __param(4, IWorkspaceContextService)), ( __param(5, IModelService)), ( __param(6, IEditorService)), ( __param(7, ITelemetryService)), ( __param(8, IStorageService)), ( __param(9, ILogService)), ( __param(10, IWebWorkerService))], LanguageDetectionService));
155
188
  class LanguageDetectionWorkerClient extends Disposable {
156
- constructor(_modelService, _languageService, _telemetryService, _webWorkerService, _indexJsUri, _modelJsonUri, _weightsUri, _regexpModelUri) {
189
+ constructor(
190
+ _modelService,
191
+ _languageService,
192
+ _telemetryService,
193
+ _webWorkerService,
194
+ _indexJsUri,
195
+ _modelJsonUri,
196
+ _weightsUri,
197
+ _regexpModelUri
198
+ ) {
157
199
  super();
158
200
  this._modelService = _modelService;
159
201
  this._languageService = _languageService;
@@ -168,26 +210,29 @@ class LanguageDetectionWorkerClient extends Disposable {
168
210
  if (!this.worker) {
169
211
  const workerClient = this._register(this._webWorkerService.createWorkerClient(( new WebWorkerDescriptor({
170
212
  esmModuleLocation: ( FileAccess.asBrowserUri(
171
- 'vs/workbench/services/languageDetection/browser/languageDetectionWebWorkerMain.js'
213
+ "vs/workbench/services/languageDetection/browser/languageDetectionWebWorkerMain.js"
172
214
  )),
173
- label: 'LanguageDetectionWorker'
215
+ label: "LanguageDetectionWorker"
174
216
  }))));
175
217
  LanguageDetectionWorkerHost.setChannel(workerClient, {
176
218
  $getIndexJsUri: async () => this.getIndexJsUri(),
177
- $getLanguageId: async (languageIdOrExt) => this.getLanguageId(languageIdOrExt),
219
+ $getLanguageId: async languageIdOrExt => this.getLanguageId(languageIdOrExt),
178
220
  $sendTelemetryEvent: async (languages, confidences, timeSpent) => this.sendTelemetryEvent(languages, confidences, timeSpent),
179
221
  $getRegexpModelUri: async () => this.getRegexpModelUri(),
180
222
  $getModelJsonUri: async () => this.getModelJsonUri(),
181
- $getWeightsUri: async () => this.getWeightsUri(),
223
+ $getWeightsUri: async () => this.getWeightsUri()
182
224
  });
183
225
  const workerTextModelSyncClient = this._register(WorkerTextModelSyncClient.create(workerClient, this._modelService));
184
- this.worker = { workerClient, workerTextModelSyncClient };
226
+ this.worker = {
227
+ workerClient,
228
+ workerTextModelSyncClient
229
+ };
185
230
  }
186
231
  return this.worker;
187
232
  }
188
233
  _guessLanguageIdByUri(uri) {
189
234
  const guess = this._languageService.guessLanguageIdByFilepathOrFirstLine(uri);
190
- if (guess && guess !== 'unknown') {
235
+ if (guess && guess !== "unknown") {
191
236
  return guess;
192
237
  }
193
238
  return undefined;
@@ -203,7 +248,7 @@ class LanguageDetectionWorkerClient extends Disposable {
203
248
  return languageIdOrExt;
204
249
  }
205
250
  const guessed = this._guessLanguageIdByUri(URI.file(`file.${languageIdOrExt}`));
206
- if (!guessed || guessed === 'unknown') {
251
+ if (!guessed || guessed === "unknown") {
207
252
  return undefined;
208
253
  }
209
254
  return guessed;
@@ -219,8 +264,8 @@ class LanguageDetectionWorkerClient extends Disposable {
219
264
  }
220
265
  async sendTelemetryEvent(languages, confidences, timeSpent) {
221
266
  this._telemetryService.publicLog2(LanguageDetectionStatsId, {
222
- languages: languages.join(','),
223
- confidences: confidences.join(','),
267
+ languages: languages.join(","),
268
+ confidences: confidences.join(","),
224
269
  timeSpent
225
270
  });
226
271
  }
@@ -230,14 +275,17 @@ class LanguageDetectionWorkerClient extends Disposable {
230
275
  if (quickGuess) {
231
276
  return quickGuess;
232
277
  }
233
- const { workerClient, workerTextModelSyncClient } = this._getOrCreateLanguageDetectionWorker();
278
+ const {
279
+ workerClient,
280
+ workerTextModelSyncClient
281
+ } = this._getOrCreateLanguageDetectionWorker();
234
282
  workerTextModelSyncClient.ensureSyncedResources([resource]);
235
283
  const modelId = await workerClient.proxy.$detectLanguage(( resource.toString()), langBiases, preferHistory, supportedLangs);
236
284
  const languageId = this.getLanguageId(modelId);
237
- const LanguageDetectionStatsId = 'automaticlanguagedetection.perf';
285
+ const LanguageDetectionStatsId = "automaticlanguagedetection.perf";
238
286
  this._telemetryService.publicLog2(LanguageDetectionStatsId, {
239
287
  timeSpent: Date.now() - startTime,
240
- detection: languageId || 'unknown',
288
+ detection: languageId || "unknown"
241
289
  });
242
290
  return languageId;
243
291
  }