diff --git a/src/utils/getProgrammingLanguageName.ts b/src/utils/getProgrammingLanguageName.ts index 035667271c..1000298cd3 100644 --- a/src/utils/getProgrammingLanguageName.ts +++ b/src/utils/getProgrammingLanguageName.ts @@ -9,15 +9,22 @@ const SOL = ['solidity', 'sol']; const LANGS = [JS, SH, PY, SOL]; export const getProgrammingLanguageName = (code: string) => { + // If `code` argument matches any of the above, return the first value for the language for (const lang of LANGS) { if (lang.includes(code.toLowerCase())) return lang[0]; } + // Check if `code` argument starts with the CLASSNAME_PREFIX const hasLanguageNameProperty = code.startsWith(CLASSNAME_PREFIX); + // If no matched so far, return default code formatting type if (!hasLanguageNameProperty) return DEFAULT; + // `code` starts with the CLASSNAME_PREFIX, so we need to extract the language name const newCode = code.replace(CLASSNAME_PREFIX, '').toLowerCase(); + // If declared to be `terminal`, return the DEFAULT if (newCode === TERMINAL) return DEFAULT; + // If `newCode` argument matches any of the above, return the first value for the language for (const lang of LANGS) { - if (lang.includes(code.toLowerCase())) return lang[0]; + if (lang.includes(newCode.toLowerCase())) return lang[0]; } + // If no match from above, simply return the extracted language name return newCode; };