From f913fea19cf7bcdcb16aa531eb7da53cad3ff44e Mon Sep 17 00:00:00 2001 From: Franck Abgrall Date: Sun, 22 Sep 2019 17:41:09 +0200 Subject: [PATCH] fix($markdown): Highlight kotlin code on snippets import (close: #1831)(#1874) --- packages/@vuepress/markdown/lib/highlight.js | 43 +++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/packages/@vuepress/markdown/lib/highlight.js b/packages/@vuepress/markdown/lib/highlight.js index 9f1689a912..5ba21b1920 100644 --- a/packages/@vuepress/markdown/lib/highlight.js +++ b/packages/@vuepress/markdown/lib/highlight.js @@ -12,36 +12,31 @@ function wrap (code, lang) { return `
${code}
` } +function getLangCodeFromExtension (extension) { + const extensionMap = { + vue: 'markup', + html: 'markup', + md: 'markdown', + rb: 'ruby', + ts: 'typescript', + py: 'python', + sh: 'bash', + yml: 'yaml', + styl: 'stylus', + kt: 'kotlin' + } + + return extensionMap[extension] || extension +} + module.exports = (str, lang) => { if (!lang) { return wrap(str, 'text') } lang = lang.toLowerCase() const rawLang = lang - if (lang === 'vue' || lang === 'html') { - lang = 'markup' - } - if (lang === 'md') { - lang = 'markdown' - } - if (lang === 'rb') { - lang = 'ruby' - } - if (lang === 'ts') { - lang = 'typescript' - } - if (lang === 'py') { - lang = 'python' - } - if (lang === 'sh') { - lang = 'bash' - } - if (lang === 'yml') { - lang = 'yaml' - } - if (lang === 'styl') { - lang = 'stylus' - } + + lang = getLangCodeFromExtension(lang) if (!prism.languages[lang]) { try {