Skip to content

Commit 359a0f5

Browse files
committed
Fix search replace processor to correctly handle trailing whitespace
- add a test case that wil prove the change sucessful [Changes] └── apps └── editor └── src └── utils └── changes-integration └── search-replace-processor └── apply-search-replace-to-content ├── apply-search-replace-to-content.spec.ts ├── apply-search-replace-to-content.ts └── test-cases ├── basic-conflict │ ├── expected.txt │ ├── markers.txt │ └── original.txt ├── deletion │ ├── expected.txt │ ├── markers.txt │ └── original.txt ├── multiple-conflicts │ ├── expected.txt │ ├── markers.txt │ └── original.txt ├── rst-syntax │ ├── expected.txt │ ├── markers.txt │ └── original.txt ├── trailing-whitespace │ ├── expected.txt │ ├── markers.txt │ └── original.txt └── whitespace-issues ├── expected.txt ├── markers.txt └── original.txt
1 parent 482869b commit 359a0f5

5 files changed

Lines changed: 21 additions & 2 deletions

File tree

‎apps/editor/src/utils/changes-integration/search-replace-processor/apply-search-replace-to-content/apply-search-replace-to-content.spec.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ describe('search-replace-parser', () => {
5555
run_test_case('whitespace-issues')
5656
})
5757

58+
it('handles trailing whitespace correctly without deleting it', () => {
59+
run_test_case('trailing-whitespace')
60+
})
61+
5862
it('handles rst syntax correctly', () => {
5963
run_test_case('rst-syntax')
6064
})

‎apps/editor/src/utils/changes-integration/search-replace-processor/apply-search-replace-to-content/apply-search-replace-to-content.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ export const apply_search_replace_to_content = (params: {
3636
const clean_original = clean_lines(segment.original_lines)
3737
const clean_context_after = clean_lines(context_after)
3838

39-
const SEPARATOR = '(?:\\r?\\n[ \\t]*){1,5}'
39+
const SEPARATOR = '(?:[ \\t]*\\r?\\n){1,5}'
4040

4141
const build_block_pattern = (lines: string[]) => {
4242
return lines
4343
.map((line) => {
4444
const trimmed = line.trim()
4545
const escaped = escape_reg_exp(trimmed)
46-
return `[ \\t]*${escaped}[ \\t]*`
46+
return `[ \\t]*${escaped}`
4747
})
4848
.join(SEPARATOR)
4949
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
line 1
2+
line 2 updated
3+
line 3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
line 1
2+
<<<<<<<
3+
line 2
4+
=======
5+
line 2 updated
6+
>>>>>>>
7+
line 3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
line 1
2+
3+
line 2
4+
5+
line 3

0 commit comments

Comments
 (0)