Open msoutopico opened 3 years ago
Moving this over to the find-and-replace package, as this sounds more relevant there 📬
This is a really annoying bug, can you please fix this?
It worked at some point in time.
How is it going? Will this be fixed soon? It's quite a showstopper for me.
+1 - my symptoms are pretty much the same as those shown in the video from @msoutopico.
I was about to file the same issue. This looks like a duplicate of #625 that has a nice video embedded, but this issue has the better description.
Notes:
This is a test. This is another test. Wait. Yet another test. And another one. Break. Yet another one. And one more test. More. Yet another one. And another one.
Find: (another|one more) (\w+)
Replace: $1 freaky $2
Expected: use reported group per occurrence
Experienced: "another freaky test" everywhere
This is my real-world issue, but with data stripped. I am not able to reproduce it with this simplified version, but if it is of actual interest, I am willing to help bisecting.
parameters {
string
}
stages {
stage('foo') {
steps {
script {
switch ("${params.bar}") {
case "debug":
LISTFILE_DIR="url1"
break
case "devel":
LISTFILE_DIR="url2"
break
default:
LISTFILE_DIR="url3"
break
}
}
}
}
}
Find: ^((?: )*) (\S)
(indent is 3*n+2
)
Replace: $1 $2
(add that missing space character)
Expected: letters s
, L
, and b
remain as well as the rough indentation
Experienced:
s
of "string" is not reused, but occurrences of "break" are becoming "Lreak"s
in all replaced lines
Prerequisites
Description
When batch-replacing parts of the text matched by a regular expression which captures some groups, the captured groups of the first instance are used in all occurrences, instead the groups captured in each occurrence. The issue only happens when finding in the project.
Steps to Reproduce
(.+)000(.+)
, where the non-captured part is to be removed.$1$2
so as to replace the whole matched string with the captured groups (thus removing the common non-captured part).Expected behavior:
In every occurrence, the text matched is replaced with the groups captured in that occurrence.
Actual behavior:
In every occurrence, the text matched is replaced with the groups captured in the first occurrence. https://youtu.be/d7I5Y4-jaOs
Reproduces how often:
Every time.
Versions
Atom : 1.51.0 Electron: 5.0.13 Chrome : 73.0.3683.121 Node : 12.0.0
apm 2.5.0 npm 6.14.5 node 10.20.1 x64 atom 1.51.0 python 2.7.16 git 2.11.0
Mac OS X: 10.13.6 (17G14019)