/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "./parser/htmlScanner", "./parser/htmlParser", "./services/htmlCompletion", "./services/htmlHover", "./services/htmlFormatter", "./services/htmlLinks", "./services/htmlHighlighting", "./services/htmlSymbolsProvider", "./services/htmlRename", "./services/htmlMatchingTagPosition", "./services/htmlSyncedRegions", "./services/htmlFolding", "./services/htmlSelectionRange", "./languageFacts/dataProvider", "./languageFacts/dataManager", "./languageFacts/data/webCustomData", "./htmlLanguageTypes"], factory); } })(function (require, exports) { "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); var htmlScanner_1 = require("./parser/htmlScanner"); var htmlParser_1 = require("./parser/htmlParser"); var htmlCompletion_1 = require("./services/htmlCompletion"); var htmlHover_1 = require("./services/htmlHover"); var htmlFormatter_1 = require("./services/htmlFormatter"); var htmlLinks_1 = require("./services/htmlLinks"); var htmlHighlighting_1 = require("./services/htmlHighlighting"); var htmlSymbolsProvider_1 = require("./services/htmlSymbolsProvider"); var htmlRename_1 = require("./services/htmlRename"); var htmlMatchingTagPosition_1 = require("./services/htmlMatchingTagPosition"); var htmlSyncedRegions_1 = require("./services/htmlSyncedRegions"); var htmlFolding_1 = require("./services/htmlFolding"); var htmlSelectionRange_1 = require("./services/htmlSelectionRange"); var dataProvider_1 = require("./languageFacts/dataProvider"); var dataManager_1 = require("./languageFacts/dataManager"); var webCustomData_1 = require("./languageFacts/data/webCustomData"); __export(require("./htmlLanguageTypes")); var defaultLanguageServiceOptions = {}; function getLanguageService(options) { if (options === void 0) { options = defaultLanguageServiceOptions; } var dataManager = new dataManager_1.HTMLDataManager(options); var htmlHover = new htmlHover_1.HTMLHover(options, dataManager); var htmlCompletion = new htmlCompletion_1.HTMLCompletion(options, dataManager); return { setDataProviders: dataManager.setDataProviders.bind(dataManager), createScanner: htmlScanner_1.createScanner, parseHTMLDocument: function (document) { return htmlParser_1.parse(document.getText()); }, doComplete: htmlCompletion.doComplete.bind(htmlCompletion), doComplete2: htmlCompletion.doComplete2.bind(htmlCompletion), setCompletionParticipants: htmlCompletion.setCompletionParticipants.bind(htmlCompletion), doHover: htmlHover.doHover.bind(htmlHover), format: htmlFormatter_1.format, findDocumentHighlights: htmlHighlighting_1.findDocumentHighlights, findDocumentLinks: htmlLinks_1.findDocumentLinks, findDocumentSymbols: htmlSymbolsProvider_1.findDocumentSymbols, getFoldingRanges: htmlFolding_1.getFoldingRanges, getSelectionRanges: htmlSelectionRange_1.getSelectionRanges, doTagComplete: htmlCompletion.doTagComplete.bind(htmlCompletion), doRename: htmlRename_1.doRename, findMatchingTagPosition: htmlMatchingTagPosition_1.findMatchingTagPosition, findOnTypeRenameRanges: htmlSyncedRegions_1.findOnTypeRenameRanges }; } exports.getLanguageService = getLanguageService; function newHTMLDataProvider(id, customData) { return new dataProvider_1.HTMLDataProvider(id, customData); } exports.newHTMLDataProvider = newHTMLDataProvider; function getDefaultHTMLDataProvider() { return newHTMLDataProvider('default', webCustomData_1.htmlData); } exports.getDefaultHTMLDataProvider = getDefaultHTMLDataProvider; });