Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/services/languageDetection/browser/languageDetectionWorker.protocol.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { IWebWorkerClient, IWebWorkerServer } from '../../../../base/common/worker/webWorker.js';
7
8
export abstract class LanguageDetectionWorkerHost {
9
public static CHANNEL_NAME = 'languageDetectionWorkerHost';
10
public static getChannel(workerServer: IWebWorkerServer): LanguageDetectionWorkerHost {
11
return workerServer.getChannel<LanguageDetectionWorkerHost>(LanguageDetectionWorkerHost.CHANNEL_NAME);
12
}
13
public static setChannel(workerClient: IWebWorkerClient<any>, obj: LanguageDetectionWorkerHost): void {
14
workerClient.setChannel<LanguageDetectionWorkerHost>(LanguageDetectionWorkerHost.CHANNEL_NAME, obj);
15
}
16
17
abstract $getIndexJsUri(): Promise<string>;
18
abstract $getLanguageId(languageIdOrExt: string | undefined): Promise<string | undefined>;
19
abstract $sendTelemetryEvent(languages: string[], confidences: number[], timeSpent: number): Promise<void>;
20
abstract $getRegexpModelUri(): Promise<string>;
21
abstract $getModelJsonUri(): Promise<string>;
22
abstract $getWeightsUri(): Promise<string>;
23
}
24
25
export interface ILanguageDetectionWorker {
26
$detectLanguage(uri: string, langBiases: Record<string, number> | undefined, preferHistory: boolean, supportedLangs?: string[]): Promise<string | undefined>;
27
}
28
29