diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-09-30 06:49:37 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-30 06:49:37 +0000 |
commit | fcfe5c179b56abb3d43783dd1b7bd6689d2320ad (patch) | |
tree | 434173595e5b74d183ef386b868e939a864b9beb /javascript/extraNetworks.js | |
parent | a0e979badba4eb64ae75ad8fdd1cecf7caa979ff (diff) | |
parent | 26d0d87f5b05c345abfec8eb0f8bd703cacd9619 (diff) | |
download | stable-diffusion-webui-gfx803-fcfe5c179b56abb3d43783dd1b7bd6689d2320ad.tar.gz stable-diffusion-webui-gfx803-fcfe5c179b56abb3d43783dd1b7bd6689d2320ad.tar.bz2 stable-diffusion-webui-gfx803-fcfe5c179b56abb3d43783dd1b7bd6689d2320ad.zip |
Merge pull request #12877 from zixaphir/removeExtraNetworksFromPrompt_fix
account for customizable extra network separators in remove code
Diffstat (limited to 'javascript/extraNetworks.js')
-rw-r--r-- | javascript/extraNetworks.js | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index e927346c..9cd80961 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -140,14 +140,15 @@ function setupExtraNetworks() { onUiLoaded(setupExtraNetworks); -var re_extranet = /<([^:]+:[^:]+):[\d.]+>(.*)/; -var re_extranet_g = /\s+<([^:]+:[^:]+):[\d.]+>/g; +var re_extranet = /<([^:^>]+:[^:]+):[\d.]+>(.*)/; +var re_extranet_g = /<([^:^>]+:[^:]+):[\d.]+>/g; function tryToRemoveExtraNetworkFromPrompt(textarea, text) { var m = text.match(re_extranet); var replaced = false; var newTextareaText; if (m) { + var extraTextBeforeNet = opts.extra_networks_add_text_separator; var extraTextAfterNet = m[2]; var partToSearch = m[1]; var foundAtPosition = -1; @@ -161,8 +162,13 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text) { return found; }); - if (foundAtPosition >= 0 && newTextareaText.substr(foundAtPosition, extraTextAfterNet.length) == extraTextAfterNet) { - newTextareaText = newTextareaText.substr(0, foundAtPosition) + newTextareaText.substr(foundAtPosition + extraTextAfterNet.length); + if (foundAtPosition >= 0) { + if (newTextareaText.substr(foundAtPosition, extraTextAfterNet.length) == extraTextAfterNet) { + newTextareaText = newTextareaText.substr(0, foundAtPosition) + newTextareaText.substr(foundAtPosition + extraTextAfterNet.length); + } + if (newTextareaText.substr(foundAtPosition - extraTextBeforeNet.length, extraTextBeforeNet.length) == extraTextBeforeNet) { + newTextareaText = newTextareaText.substr(0, foundAtPosition - extraTextBeforeNet.length) + newTextareaText.substr(foundAtPosition); + } } } else { newTextareaText = textarea.value.replaceAll(new RegExp(text, "g"), function(found) { |