diff --git a/src/ui/js/diff2html-ui-base.ts b/src/ui/js/diff2html-ui-base.ts index 9b2317fd..4368ea72 100644 --- a/src/ui/js/diff2html-ui-base.ts +++ b/src/ui/js/diff2html-ui-base.ts @@ -151,7 +151,7 @@ export class Diff2HtmlUI { this.config.highlightLanguages = new Map(Object.entries(this.config.highlightLanguages)); } - const hljsLanguage = + let hljsLanguage = language && this.config.highlightLanguages.has(language) ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion this.config.highlightLanguages.get(language)! @@ -159,6 +159,11 @@ export class Diff2HtmlUI { ? getLanguage(language) : 'plaintext'; + // Fallback to plaintext in case language is not loaded + if (hljs.getLanguage(hljsLanguage) === undefined) { + hljsLanguage = 'plaintext'; + } + // Collect all the code lines and execute the highlight on them const codeLines = file.querySelectorAll('.d2h-code-line-ctn'); codeLines.forEach(line => {