diff --git a/content_script.js b/content_script.js index b174a6a..f389b1a 100644 --- a/content_script.js +++ b/content_script.js @@ -1,7 +1,7 @@ DEACTIVATE_KEY = 'deactivate-this-extension-pls-interactive-fics-yalla-bina'; chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { - escapeAndReplace(message.input_word, message.replace_value) + escapeAndReplace(message.input_word, message.replace_value, message.case_sensitive) }); const replaceAll = () => { @@ -11,17 +11,18 @@ const replaceAll = () => { if (key == 'person') { const regexp_y_n = /\by\/n\b|\(y\/n\)|\[y\/n\]/ig replace(regexp_y_n, items[key]) - } else if (key !== DEACTIVATE_KEY) { - escapeAndReplace(key, items[key]) + } else if (key !== DEACTIVATE_KEY && !key.endsWith('_case_sensitive')) { + escapeAndReplace(key, items[key], items[`${key}_case_sensitive`]) } } } }) } -const escapeAndReplace = (input_word, replace_value) => { +const escapeAndReplace = (input_word, replace_value, case_sensitive) => { const input_word_escaped = escapeRegExp(input_word.trim()) - const regexp_input_word = new RegExp(`\\b${input_word_escaped}\\b`, "ig") + const flags = case_sensitive ? "g" : "ig" + const regexp_input_word = new RegExp(`\\b${input_word_escaped}\\b`, flags) replace(regexp_input_word, replace_value) } diff --git a/popup.css b/popup.css index c044727..2a5bd9f 100644 --- a/popup.css +++ b/popup.css @@ -21,10 +21,10 @@ label *:not([type="checkbox"]){ } .other-words input:not([type="checkbox"]){ - margin-top:0.2em; + margin-top:0.5em; width:100%; } -.other-words .other, .other-words .replaceBy{ +.other-words .other, .other-words .replace-with{ width:98%; } .other-words .change{ diff --git a/popup.html b/popup.html index ba7e88e..a5ba1da 100644 --- a/popup.html +++ b/popup.html @@ -24,11 +24,15 @@ Value (e.g. L/N, E/C, etc): -
+ +

+
diff --git a/popup.js b/popup.js index 110d4f6..d3d348f 100644 --- a/popup.js +++ b/popup.js @@ -27,10 +27,12 @@ const clearName = () => { const replaceOther = () => { const input_word = document.getElementById('replace-word').value const replacement = document.getElementById('replace-with').value + const is_case_sensitive = document.getElementById('is-case-sensitive').checked if (input_word && replacement) { if (document.getElementById('is-perm').checked) { const obj = {} obj[input_word] = replacement + obj[`${input_word}_case_sensitive`] = is_case_sensitive chrome.storage.local.set(obj) } @@ -39,7 +41,8 @@ const replaceOther = () => { tabs[0].id, { input_word: input_word, - replace_value: replacement + replace_value: replacement, + case_sensitive: is_case_sensitive }) }) }