From 887d30200d7f5dfaed697dbf977cf7c793b0b55f Mon Sep 17 00:00:00 2001 From: Paul Wackerow <54227730+wackerow@users.noreply.github.com> Date: Mon, 28 Nov 2022 11:15:19 -0800 Subject: [PATCH] Update getProgrammingLanguageName.ts --- src/utils/getProgrammingLanguageName.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; };