From 333547df3d2b83cd5c748c08b97bbd912b1b6837 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Tue, 4 Feb 2025 13:22:41 +0800 Subject: [PATCH] feat: support for vba code mode #949 close #949 --- .../src/context/SyntaxHighlighterProvider.tsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/context/SyntaxHighlighterProvider.tsx b/src/renderer/src/context/SyntaxHighlighterProvider.tsx index 46c41fd1..38d44f3d 100644 --- a/src/renderer/src/context/SyntaxHighlighterProvider.tsx +++ b/src/renderer/src/context/SyntaxHighlighterProvider.tsx @@ -54,23 +54,29 @@ export const SyntaxHighlighterProvider: React.FC = ({ childre const codeToHtml = async (code: string, language: string) => { if (!highlighter) return '' + const languageMap: Record = { + vab: 'vb' + } + + const mappedLanguage = languageMap[language] || language + const escapedCode = code?.replace(/[<>]/g, (char) => ({ '<': '<', '>': '>' })[char]!) try { - if (!highlighter.getLoadedLanguages().includes(language as BundledLanguage)) { - if (language in bundledLanguages || language === 'text') { - await highlighter.loadLanguage(language as BundledLanguage) + if (!highlighter.getLoadedLanguages().includes(mappedLanguage as BundledLanguage)) { + if (mappedLanguage in bundledLanguages || mappedLanguage === 'text') { + await highlighter.loadLanguage(mappedLanguage as BundledLanguage) } else { return `
${escapedCode}
` } } return highlighter.codeToHtml(code, { - lang: language, + lang: mappedLanguage, theme: highlighterTheme }) } catch (error) { - console.warn(`Error highlighting code for language '${language}':`, error) + console.warn(`Error highlighting code for language '${mappedLanguage}':`, error) return `
${escapedCode}
` } }