@@ -502,23 +502,25 @@ export class AutoIndentOnPaste implements IEditorContribution {
502502 }
503503 } ;
504504 let indentOfSecondLine = LanguageConfigurationRegistry . getGoodIndentForLine ( virtualModel , model . getLanguageIdentifier ( ) . id , startLineNumber + 1 , indentConverter ) ;
505- let newSpaceCntOfSecondLine = IndentUtil . getSpaceCnt ( indentOfSecondLine , tabSize ) ;
506- let oldSpaceCntOfSecondLine = IndentUtil . getSpaceCnt ( strings . getLeadingWhitespace ( model . getLineContent ( startLineNumber + 1 ) ) , tabSize ) ;
507-
508- if ( newSpaceCntOfSecondLine !== oldSpaceCntOfSecondLine ) {
509- let spaceCntOffset = newSpaceCntOfSecondLine - oldSpaceCntOfSecondLine ;
510- for ( let i = startLineNumber + 1 ; i <= range . endLineNumber ; i ++ ) {
511- let lineContent = model . getLineContent ( i ) ;
512- let originalIndent = strings . getLeadingWhitespace ( lineContent ) ;
513- let originalSpacesCnt = IndentUtil . getSpaceCnt ( originalIndent , tabSize ) ;
514- let newSpacesCnt = originalSpacesCnt + spaceCntOffset ;
515- let newIndent = IndentUtil . generateIndent ( newSpacesCnt , tabSize , insertSpaces ) ;
516-
517- if ( newIndent !== originalIndent ) {
518- textEdits . push ( {
519- range : new Range ( i , 1 , i , originalIndent . length + 1 ) ,
520- text : newIndent
521- } ) ;
505+ if ( indentOfSecondLine !== null ) {
506+ let newSpaceCntOfSecondLine = IndentUtil . getSpaceCnt ( indentOfSecondLine , tabSize ) ;
507+ let oldSpaceCntOfSecondLine = IndentUtil . getSpaceCnt ( strings . getLeadingWhitespace ( model . getLineContent ( startLineNumber + 1 ) ) , tabSize ) ;
508+
509+ if ( newSpaceCntOfSecondLine !== oldSpaceCntOfSecondLine ) {
510+ let spaceCntOffset = newSpaceCntOfSecondLine - oldSpaceCntOfSecondLine ;
511+ for ( let i = startLineNumber + 1 ; i <= range . endLineNumber ; i ++ ) {
512+ let lineContent = model . getLineContent ( i ) ;
513+ let originalIndent = strings . getLeadingWhitespace ( lineContent ) ;
514+ let originalSpacesCnt = IndentUtil . getSpaceCnt ( originalIndent , tabSize ) ;
515+ let newSpacesCnt = originalSpacesCnt + spaceCntOffset ;
516+ let newIndent = IndentUtil . generateIndent ( newSpacesCnt , tabSize , insertSpaces ) ;
517+
518+ if ( newIndent !== originalIndent ) {
519+ textEdits . push ( {
520+ range : new Range ( i , 1 , i , originalIndent . length + 1 ) ,
521+ text : newIndent
522+ } ) ;
523+ }
522524 }
523525 }
524526 }
0 commit comments