diff options
author | Jazz <jazzzz@gmail.com> | 2017-01-13 14:54:22 +0100 |
---|---|---|
committer | enahum <nahumhbl@gmail.com> | 2017-01-13 10:54:22 -0300 |
commit | 7d6fa7f8bffc7e9791b49ba1ba705abc96b84e55 (patch) | |
tree | f1aaed2c4758f2a1337585f5c8b725fe1933db7b /webapp/utils/syntax_highlighting.jsx | |
parent | 4e160c78abbc2a33ed9a329c0a62b1bfb7f411b6 (diff) | |
download | chat-7d6fa7f8bffc7e9791b49ba1ba705abc96b84e55.tar.gz chat-7d6fa7f8bffc7e9791b49ba1ba705abc96b84e55.tar.bz2 chat-7d6fa7f8bffc7e9791b49ba1ba705abc96b84e55.zip |
Register the same language aliases as Rouge (#5040)
This allows the use of the same aliases as GitLab.
Diffstat (limited to 'webapp/utils/syntax_highlighting.jsx')
-rw-r--r-- | webapp/utils/syntax_highlighting.jsx | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/webapp/utils/syntax_highlighting.jsx b/webapp/utils/syntax_highlighting.jsx index 47ba5bd4e..73e1087cb 100644 --- a/webapp/utils/syntax_highlighting.jsx +++ b/webapp/utils/syntax_highlighting.jsx @@ -123,9 +123,9 @@ hlJS.registerLanguage('yaml', hljsYaml); const HighlightedLanguages = Constants.HighlightedLanguages; export function highlight(lang, code) { - const language = lang.toLowerCase(); + const language = getLanguageFromNameOrAlias(lang); - if (HighlightedLanguages[language]) { + if (language) { try { return hlJS.highlight(language, code).value; } catch (e) { @@ -147,13 +147,25 @@ export function getLanguageFromFileExtension(extension) { } export function canHighlight(language) { - return Boolean(HighlightedLanguages[language.toLowerCase()]); + return Boolean(getLanguageFromNameOrAlias(language)); } export function getLanguageName(language) { if (canHighlight(language)) { - return HighlightedLanguages[language.toLowerCase()].name; + return HighlightedLanguages[getLanguageFromNameOrAlias(language)].name; } return ''; -}
\ No newline at end of file +} + +function getLanguageFromNameOrAlias(name) { + const langName = name.toLowerCase(); + if (HighlightedLanguages[langName]) { + return langName; + } + + return Object.keys(HighlightedLanguages).find((key) => { + const aliases = HighlightedLanguages[key].aliases; + return aliases && aliases.find((a) => a === langName); + }); +} |