UNPKG

highlight-ts

Version:

Highlight.JS in TypeScript (and ES6).

54 lines 1.63 kB
"use strict"; 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