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