Path: blob/main/src/vs/editor/test/common/modes/testLanguageConfigurationService.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*--------------------------------------------------------------------------------------------*/4import { Emitter } from '../../../../base/common/event.js';5import { Disposable, IDisposable } from '../../../../base/common/lifecycle.js';6import { LanguageConfiguration } from '../../../common/languages/languageConfiguration.js';7import { ILanguageConfigurationService, LanguageConfigurationRegistry, LanguageConfigurationServiceChangeEvent, ResolvedLanguageConfiguration } from '../../../common/languages/languageConfigurationRegistry.js';89export class TestLanguageConfigurationService extends Disposable implements ILanguageConfigurationService {10_serviceBrand: undefined;1112private readonly _registry = this._register(new LanguageConfigurationRegistry());1314private readonly _onDidChange = this._register(new Emitter<LanguageConfigurationServiceChangeEvent>());15public readonly onDidChange = this._onDidChange.event;1617constructor() {18super();19this._register(this._registry.onDidChange((e) => this._onDidChange.fire(new LanguageConfigurationServiceChangeEvent(e.languageId))));20}2122register(languageId: string, configuration: LanguageConfiguration, priority?: number): IDisposable {23return this._registry.register(languageId, configuration, priority);24}2526getLanguageConfiguration(languageId: string): ResolvedLanguageConfiguration {27return this._registry.getLanguageConfiguration(languageId) ??28new ResolvedLanguageConfiguration('unknown', {});29}30}313233