@@ -472,15 +472,17 @@ export class InlineCompletionsModel extends Disposable {
472
472
export function getSecondaryEdits ( textModel : ITextModel , positions : readonly Position [ ] , primaryEdit : SingleTextEdit ) : SingleTextEdit [ ] {
473
473
const primaryPosition = positions [ 0 ] ;
474
474
const secondaryPositions = positions . slice ( 1 ) ;
475
+ const primaryEditStartPosition = primaryEdit . range . getStartPosition ( ) ;
475
476
const primaryEditEndPosition = primaryEdit . range . getEndPosition ( ) ;
476
477
const replacedTextAfterPrimaryCursor = textModel . getValueInRange (
477
478
Range . fromPositions ( primaryPosition , primaryEditEndPosition )
478
479
) ;
479
- const positionWithinTextEdit = subtractPositions ( primaryPosition , primaryEdit . range . getStartPosition ( ) ) ;
480
+ const positionWithinTextEdit = subtractPositions ( primaryPosition , primaryEditStartPosition ) ;
480
481
const secondaryEditText = substringPos ( primaryEdit . text , positionWithinTextEdit ) ;
481
482
return secondaryPositions . map ( pos => {
483
+ const posEnd = addPositions ( subtractPositions ( pos , primaryEditStartPosition ) , primaryEditEndPosition ) ;
482
484
const textAfterSecondaryCursor = textModel . getValueInRange (
483
- Range . fromPositions ( pos , primaryEditEndPosition )
485
+ Range . fromPositions ( pos , posEnd )
484
486
) ;
485
487
const l = commonPrefixLength ( replacedTextAfterPrimaryCursor , textAfterSecondaryCursor ) ;
486
488
const range = Range . fromPositions ( pos , pos . delta ( 0 , l ) ) ;
0 commit comments