blob: bdee859cc9241b8fd9f831182acd7f84943794fb [file] [log] [blame]
/*---------------------------------------------------------------------------------------------
* 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;
});