Path: blob/main/extensions/copilot/test/simulation/diagnosticProviders/index.ts
13395 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 { ITestingServicesAccessor } from '../../../src/platform/test/node/services';6import { DiagnosticProviderId } from '../types';7import { CppDiagnosticsProvider } from './cpp';8import { IFile, ITestDiagnostic } from './diagnosticsProvider';9import { EslintDiagnosticsProvider } from './eslint';10import { PylintDiagnosticsProvider, PyrightDiagnosticsProvider } from './python';11import { RoslynDiagnosticsProvider } from './roslyn';12import { RuffDiagnosticsProvider } from './ruff';13import { TSServerDiagnosticsProvider } from './tsc';1415export class KnownDiagnosticProviders {16public static readonly tsc = new TSServerDiagnosticsProvider();17public static readonly tscIgnoreImportErrors = new TSServerDiagnosticsProvider({ ignoreImportErrors: true });18public static readonly eslint = new EslintDiagnosticsProvider();19public static readonly pyright = new PyrightDiagnosticsProvider();20public static readonly pylint = new PylintDiagnosticsProvider();21public static readonly roslyn = new RoslynDiagnosticsProvider();22public static readonly cpp = new CppDiagnosticsProvider();23public static readonly ruff = new RuffDiagnosticsProvider();24}2526export function getDiagnostics(accessor: ITestingServicesAccessor, files: IFile[], providerId: DiagnosticProviderId): Promise<ITestDiagnostic[]> {27const provider = KnownDiagnosticProviders[providerId];28return provider.getDiagnostics(accessor, files);29}303132