highlight-ts
Version:
Highlight.JS in TypeScript (and ES6).
54 lines • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var compile_1 = require("./compile");
// Global internal variables used within the highlight.js library.
var languages = {};
var aliases = {};
function compiledLanguage(language) {
return 'lexemesRe' in language;
}
function registerLanguage(language) {
languages[language.name] = language;
if (language.aliases) {
for (var _i = 0, _a = language.aliases; _i < _a.length; _i++) {
var alias = _a[_i];
aliases[alias] = language.name;
}
}
}
exports.registerLanguage = registerLanguage;
function registerLanguages() {
var languages = [];
for (var _i = 0; _i < arguments.length; _i++) {
languages[_i] = arguments[_i];
}
for (var _a = 0, languages_1 = languages; _a < languages_1.length; _a++) {
var language = languages_1[_a];
registerLanguage(language);
}
}
exports.registerLanguages = registerLanguages;
function listLanguages() {
return Object.keys(languages);
}
exports.listLanguages = listLanguages;
function getLanguage(name) {
name = (name || '').toLowerCase();
name = aliases[name] || name;
var language = languages[name];
if (!language) {
return undefined;
}
if (compiledLanguage(language)) {
return language;
}
return languages[name] = compile_1.compileLanguage(language);
}
exports.getLanguage = getLanguage;
function compileLanguages() {
for (var name_1 in languages) {
getLanguage(name_1);
}
}
exports.compileLanguages = compileLanguages;
//# sourceMappingURL=languages.js.map