aboutsummaryrefslogtreecommitdiff
path: root/javascript/extraNetworks.js
diff options
context:
space:
mode:
authorzixaphir <zixaphirmoxphar@gmail.com>2023-08-30 20:20:19 -0700
committerzixaphir <zixaphirmoxphar@gmail.com>2023-08-30 20:20:19 -0700
commit41196ccbf7552274cf111de24a43ebfa836175a6 (patch)
treeb6a8f6bb788d4a40fa77b727f07b7e3b73970480 /javascript/extraNetworks.js
parent6adf2b71c2c89f84d4aee1e230276dcd1a3fab62 (diff)
account for customizable extra network separators in remove code
previous behavior only searched for leading spaces
Diffstat (limited to 'javascript/extraNetworks.js')
-rw-r--r--javascript/extraNetworks.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js
index 493f31af..eb2b9ebd 100644
--- a/javascript/extraNetworks.js
+++ b/javascript/extraNetworks.js
@@ -141,9 +141,12 @@ function setupExtraNetworks() {
onUiLoaded(setupExtraNetworks);
var re_extranet = /<([^:]+:[^:]+):[\d.]+>(.*)/;
-var re_extranet_g = /\s+<([^:]+:[^:]+):[\d.]+>/g;
+var re_extranet_str = '<([^:]+:[^:]+):[\\d.]+>';
function tryToRemoveExtraNetworkFromPrompt(textarea, text) {
+ function reEscape(s) {
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+ }
var m = text.match(re_extranet);
var replaced = false;
var newTextareaText;
@@ -151,7 +154,9 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text) {
var extraTextAfterNet = m[2];
var partToSearch = m[1];
var foundAtPosition = -1;
- newTextareaText = textarea.value.replaceAll(re_extranet_g, function(found, net, pos) {
+ var escapedSeparator = reEscape(opts.extra_networks_add_text_separator);
+ var re = new RegExp(escapedSeparator + re_extranet_str, 'g');
+ newTextareaText = textarea.value.replaceAll(re, function(found, net, pos) {
m = found.match(re_extranet);
if (m[1] == partToSearch) {
replaced = true;