@@ -472,15 +472,17 @@ export class InlineCompletionsModel extends Disposable {
472472export function getSecondaryEdits ( textModel : ITextModel , positions : readonly Position [ ] , primaryEdit : SingleTextEdit ) : SingleTextEdit [ ] {
473473 const primaryPosition = positions [ 0 ] ;
474474 const secondaryPositions = positions . slice ( 1 ) ;
475+ const primaryEditStartPosition = primaryEdit . range . getStartPosition ( ) ;
475476 const primaryEditEndPosition = primaryEdit . range . getEndPosition ( ) ;
476477 const replacedTextAfterPrimaryCursor = textModel . getValueInRange (
477478 Range . fromPositions ( primaryPosition , primaryEditEndPosition )
478479 ) ;
479- const positionWithinTextEdit = subtractPositions ( primaryPosition , primaryEdit . range . getStartPosition ( ) ) ;
480+ const positionWithinTextEdit = subtractPositions ( primaryPosition , primaryEditStartPosition ) ;
480481 const secondaryEditText = substringPos ( primaryEdit . text , positionWithinTextEdit ) ;
481482 return secondaryPositions . map ( pos => {
483+ const posEnd = addPositions ( subtractPositions ( pos , primaryEditStartPosition ) , primaryEditEndPosition ) ;
482484 const textAfterSecondaryCursor = textModel . getValueInRange (
483- Range . fromPositions ( pos , primaryEditEndPosition )
485+ Range . fromPositions ( pos , posEnd )
484486 ) ;
485487 const l = commonPrefixLength ( replacedTextAfterPrimaryCursor , textAfterSecondaryCursor ) ;
486488 const range = Range . fromPositions ( pos , pos . delta ( 0 , l ) ) ;
0 commit comments