@inst/vscode-bin-darwin
Version:
BINARY ONLY - VSCode binary deployment for macOS
84 lines (83 loc) • 3.92 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
;
Object.defineProperty(exports, "__esModule", { value: true });
var languageModelCache_1 = require("../languageModelCache");
function getHTMLMode(htmlLanguageService) {
var globalSettings = {};
var htmlDocuments = languageModelCache_1.getLanguageModelCache(10, 60, function (document) { return htmlLanguageService.parseHTMLDocument(document); });
return {
getId: function () {
return 'html';
},
configure: function (options) {
globalSettings = options;
},
doComplete: function (document, position, settings) {
if (settings === void 0) { settings = globalSettings; }
var options = settings && settings.html && settings.html.suggest;
var doAutoComplete = settings && settings.html && settings.html.autoClosingTags;
if (doAutoComplete) {
options.hideAutoCompleteProposals = true;
}
return htmlLanguageService.doComplete(document, position, htmlDocuments.get(document), options);
},
doHover: function (document, position) {
return htmlLanguageService.doHover(document, position, htmlDocuments.get(document));
},
findDocumentHighlight: function (document, position) {
return htmlLanguageService.findDocumentHighlights(document, position, htmlDocuments.get(document));
},
findDocumentLinks: function (document, documentContext) {
return htmlLanguageService.findDocumentLinks(document, documentContext);
},
findDocumentSymbols: function (document) {
return htmlLanguageService.findDocumentSymbols(document, htmlDocuments.get(document));
},
format: function (document, range, formatParams, settings) {
if (settings === void 0) { settings = globalSettings; }
var formatSettings = settings && settings.html && settings.html.format;
if (formatSettings) {
formatSettings = merge(formatSettings, {});
}
else {
formatSettings = {};
}
if (formatSettings.contentUnformatted) {
formatSettings.contentUnformatted = formatSettings.contentUnformatted + ',script';
}
else {
formatSettings.contentUnformatted = 'script';
}
formatSettings = merge(formatParams, formatSettings);
return htmlLanguageService.format(document, range, formatSettings);
},
doAutoClose: function (document, position) {
var offset = document.offsetAt(position);
var text = document.getText();
if (offset > 0 && text.charAt(offset - 1).match(/[>\/]/g)) {
return htmlLanguageService.doTagComplete(document, position, htmlDocuments.get(document));
}
return null;
},
onDocumentRemoved: function (document) {
htmlDocuments.onDocumentRemoved(document);
},
dispose: function () {
htmlDocuments.dispose();
}
};
}
exports.getHTMLMode = getHTMLMode;
;
function merge(src, dst) {
for (var key in src) {
if (src.hasOwnProperty(key)) {
dst[key] = src[key];
}
}
return dst;
}
//# sourceMappingURL=https://ticino.blob.core.windows.net/sourcemaps/b813d12980308015bcd2b3a2f6efa5c810c33ba5/extensions/html/server/out/modes/htmlMode.js.map