@@ -168,11 +168,13 @@ async function doChange(
168168 const newBytes = new Uint8Array ( bytes . byteLength + replaceBytes . byteLength )
169169 newBytes . set ( bytes . slice ( 0 , range . byteOffset . start ) , 0 )
170170 newBytes . set ( replaceBytes , range . byteOffset . start )
171- newBytes . set (
172- bytes . slice ( range . byteOffset . end ) ,
173- range . byteOffset . start + replaceBytes . byteLength ,
171+ const slice = bytes . slice ( range . byteOffset . end )
172+ newBytes . set ( slice , range . byteOffset . start + replaceBytes . byteLength )
173+ const final = newBytes . slice (
174+ 0 ,
175+ range . byteOffset . start + replaceBytes . byteLength + slice . byteLength ,
174176 )
175- await workspace . fs . writeFile ( fileUri , newBytes )
177+ await workspace . fs . writeFile ( fileUri , final )
176178}
177179
178180async function refreshSearchResult (
@@ -226,9 +228,9 @@ function bufferMaker(bytes: Uint8Array) {
226228 let srcOffset = 0
227229 let destOffset = 0
228230 function resizeBuffer ( ) {
229- const newNewBuffer = new Uint8Array ( newBuffer . byteLength * 2 )
230- newNewBuffer . set ( newBuffer )
231- newBuffer = newNewBuffer
231+ const temp = new Uint8Array ( newBuffer . byteLength * 2 )
232+ temp . set ( newBuffer )
233+ newBuffer = temp
232234 }
233235 function receiveResult ( r : SgSearch ) {
234236 // skip overlapping replacement
0 commit comments