Make case sensitive replacement an option
This commit is contained in:
parent
ca8731b8dc
commit
8fbdb38d18
|
@ -1,7 +1,7 @@
|
||||||
DEACTIVATE_KEY = 'deactivate-this-extension-pls-interactive-fics-yalla-bina';
|
DEACTIVATE_KEY = 'deactivate-this-extension-pls-interactive-fics-yalla-bina';
|
||||||
|
|
||||||
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
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 = () => {
|
const replaceAll = () => {
|
||||||
|
@ -11,17 +11,18 @@ const replaceAll = () => {
|
||||||
if (key == 'person') {
|
if (key == 'person') {
|
||||||
const regexp_y_n = /\by\/n\b|\(y\/n\)|\[y\/n\]/ig
|
const regexp_y_n = /\by\/n\b|\(y\/n\)|\[y\/n\]/ig
|
||||||
replace(regexp_y_n, items[key])
|
replace(regexp_y_n, items[key])
|
||||||
} else if (key !== DEACTIVATE_KEY) {
|
} else if (key !== DEACTIVATE_KEY && !key.endsWith('_case_sensitive')) {
|
||||||
escapeAndReplace(key, items[key])
|
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 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)
|
replace(regexp_input_word, replace_value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,10 @@ label *:not([type="checkbox"]){
|
||||||
}
|
}
|
||||||
|
|
||||||
.other-words input:not([type="checkbox"]){
|
.other-words input:not([type="checkbox"]){
|
||||||
margin-top:0.2em;
|
margin-top:0.5em;
|
||||||
width:100%;
|
width:100%;
|
||||||
}
|
}
|
||||||
.other-words .other, .other-words .replaceBy{
|
.other-words .other, .other-words .replace-with{
|
||||||
width:98%;
|
width:98%;
|
||||||
}
|
}
|
||||||
.other-words .change{
|
.other-words .change{
|
||||||
|
|
|
@ -24,11 +24,15 @@
|
||||||
<span>Value (e.g. L/N, E/C, etc):</span>
|
<span>Value (e.g. L/N, E/C, etc):</span>
|
||||||
<input type="text" id="replace-word" class="other"/>
|
<input type="text" id="replace-word" class="other"/>
|
||||||
</label>
|
</label>
|
||||||
<br>
|
<label>
|
||||||
|
<input type="checkbox" id="is-case-sensitive">Case sensitive
|
||||||
|
</label>
|
||||||
|
<br><br>
|
||||||
<label>
|
<label>
|
||||||
<span>Replace with:</span>
|
<span>Replace with:</span>
|
||||||
<input type="text" id="replace-with" class="replaceBy"/>
|
<input type="text" id="replace-with" class="replace-with"/>
|
||||||
</label>
|
</label>
|
||||||
|
<br>
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="is-perm">Store this replacement
|
<input type="checkbox" id="is-perm">Store this replacement
|
||||||
</label>
|
</label>
|
||||||
|
|
5
popup.js
5
popup.js
|
@ -27,10 +27,12 @@ const clearName = () => {
|
||||||
const replaceOther = () => {
|
const replaceOther = () => {
|
||||||
const input_word = document.getElementById('replace-word').value
|
const input_word = document.getElementById('replace-word').value
|
||||||
const replacement = document.getElementById('replace-with').value
|
const replacement = document.getElementById('replace-with').value
|
||||||
|
const is_case_sensitive = document.getElementById('is-case-sensitive').checked
|
||||||
if (input_word && replacement) {
|
if (input_word && replacement) {
|
||||||
if (document.getElementById('is-perm').checked) {
|
if (document.getElementById('is-perm').checked) {
|
||||||
const obj = {}
|
const obj = {}
|
||||||
obj[input_word] = replacement
|
obj[input_word] = replacement
|
||||||
|
obj[`${input_word}_case_sensitive`] = is_case_sensitive
|
||||||
chrome.storage.local.set(obj)
|
chrome.storage.local.set(obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +41,8 @@ const replaceOther = () => {
|
||||||
tabs[0].id,
|
tabs[0].id,
|
||||||
{
|
{
|
||||||
input_word: input_word,
|
input_word: input_word,
|
||||||
replace_value: replacement
|
replace_value: replacement,
|
||||||
|
case_sensitive: is_case_sensitive
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue