From 2f4eb103da72f3ec65dd1254405c50dfa2f998bf Mon Sep 17 00:00:00 2001 From: Leo Wang Date: Mon, 20 Nov 2023 23:03:04 +0800 Subject: [PATCH] impr: add backtick in javascript language when punctuation is enabled (ascodeasice) (#4801) * refactor: logic for adding bracket in code language * feat: add tick-wrapped words in javascript * feat: add tick to javascript with punc --- frontend/src/ts/test/words-generator.ts | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/frontend/src/ts/test/words-generator.ts b/frontend/src/ts/test/words-generator.ts index 99cca8d85..632df963e 100644 --- a/frontend/src/ts/test/words-generator.ts +++ b/frontend/src/ts/test/words-generator.ts @@ -121,15 +121,17 @@ export async function punctuateWord( } else if (Math.random() < 0.012 && lastChar !== "," && lastChar !== ".") { if (currentLanguage === "code") { const r = Math.random(); - if (r < 0.25) { - word = `(${word})`; - } else if (r < 0.5) { - word = `{${word}}`; - } else if (r < 0.75) { - word = `[${word}]`; - } else { - word = `<${word}>`; + const brackets = ["()", "{}", "[]", "<>"]; + + // add `word` in javascript + if (Config.language.startsWith("code_javascript")) { + brackets.push("``"); } + + const index = Math.floor(r * brackets.length); + const bracket = brackets[index]; + + word = `${bracket[0]}${word}${bracket[1]}`; } else { word = `(${word})`; } @@ -227,7 +229,11 @@ export async function punctuateWord( ) { word = Misc.randomElementFromArray(specialsC); } else { - word = Misc.randomElementFromArray(specials); + if (Config.language.startsWith("code_javascript")) { + word = Misc.randomElementFromArray([...specials, "`"]); + } else { + word = Misc.randomElementFromArray(specials); + } } } else if ( Math.random() < 0.5 &&