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
})
})
}