File tree 1 file changed +6
-4
lines changed
1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -430,7 +430,6 @@ impl<'a, T: Source> StreamChunks<'a> for ReplaceSource<T> {
430
430
// Insert replacement content split into chunks by lines
431
431
432
432
let repl = & repls[ i] ;
433
- let lines: Vec < & str > = split_into_lines ( & repl. content ) . collect ( ) ;
434
433
let mut replacement_name_index = mapping
435
434
. original
436
435
. as_ref ( )
@@ -448,7 +447,9 @@ impl<'a, T: Source> StreamChunks<'a> for ReplaceSource<T> {
448
447
}
449
448
replacement_name_index = global_index;
450
449
}
451
- for ( m, content_line) in lines. iter ( ) . enumerate ( ) {
450
+ let mut consumed_len = 0 ;
451
+ for content_line in split_into_lines ( & repl. content ) {
452
+ consumed_len += content_line. len ( ) ;
452
453
on_chunk (
453
454
Some ( Cow :: Owned ( content_line. to_string ( ) ) ) ,
454
455
Mapping {
@@ -471,8 +472,9 @@ impl<'a, T: Source> StreamChunks<'a> for ReplaceSource<T> {
471
472
) ;
472
473
// Only the first chunk has name assigned
473
474
replacement_name_index = None ;
474
-
475
- if m == lines. len ( ) - 1 && !content_line. ends_with ( '\n' ) {
475
+ if consumed_len == repl. content . len ( )
476
+ && !content_line. ends_with ( '\n' )
477
+ {
476
478
if generated_column_offset_line == line {
477
479
generated_column_offset += content_line. len ( ) as i64 ;
478
480
} else {
You can’t perform that action at this time.
0 commit comments