"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const languageFeatureRegistry = require("../languageFeatureRegistry.js");
const languageFeatures = require("./languageFeatures.js");
const extensions = require("../../../platform/instantiation/common/extensions.js");
class LanguageFeaturesService {
  constructor() {
    this.referenceProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.renameProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.codeActionProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.definitionProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.typeDefinitionProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.declarationProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.implementationProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.documentSymbolProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.inlayHintsProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.colorProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.codeLensProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.documentFormattingEditProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.documentRangeFormattingEditProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.onTypeFormattingEditProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.signatureHelpProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.hoverProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.documentHighlightProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.selectionRangeProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.foldingRangeProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.linkProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.inlineCompletionsProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.completionProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.linkedEditingRangeProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.documentRangeSemanticTokensProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
    this.documentSemanticTokensProvider = new languageFeatureRegistry.LanguageFeatureRegistry(this._score.bind(this));
  }
  _score(uri) {
    var _a;
    return (_a = this._notebookTypeResolver) === null || _a === void 0 ? void 0 : _a.call(this, uri);
  }
}
extensions.registerSingleton(languageFeatures.ILanguageFeaturesService, LanguageFeaturesService, true);
exports.LanguageFeaturesService = LanguageFeaturesService;
