@@ -656,15 +656,15 @@ export class ViewModel extends viewEvents.ViewEventEmitter implements IViewModel
656656 return this . model . getEOL ( ) ;
657657 }
658658
659- public getPlainTextToCopy ( ranges : Range [ ] , emptySelectionClipboard : boolean , forceCRLF : boolean ) : string | string [ ] {
659+ public getPlainTextToCopy ( modelRanges : Range [ ] , emptySelectionClipboard : boolean , forceCRLF : boolean ) : string | string [ ] {
660660 const newLineCharacter = forceCRLF ? '\r\n' : this . model . getEOL ( ) ;
661661
662- ranges = ranges . slice ( 0 ) ;
663- ranges . sort ( Range . compareRangesUsingStarts ) ;
662+ modelRanges = modelRanges . slice ( 0 ) ;
663+ modelRanges . sort ( Range . compareRangesUsingStarts ) ;
664664
665665 let hasEmptyRange = false ;
666666 let hasNonEmptyRange = false ;
667- for ( const range of ranges ) {
667+ for ( const range of modelRanges ) {
668668 if ( range . isEmpty ( ) ) {
669669 hasEmptyRange = true ;
670670 } else {
@@ -678,10 +678,7 @@ export class ViewModel extends viewEvents.ViewEventEmitter implements IViewModel
678678 return '' ;
679679 }
680680
681- const modelLineNumbers = ranges . map ( ( r ) => {
682- const viewLineStart = new Position ( r . startLineNumber , 1 ) ;
683- return this . coordinatesConverter . convertViewPositionToModelPosition ( viewLineStart ) . lineNumber ;
684- } ) ;
681+ const modelLineNumbers = modelRanges . map ( ( r ) => r . startLineNumber ) ;
685682
686683 let result = '' ;
687684 for ( let i = 0 ; i < modelLineNumbers . length ; i ++ ) {
@@ -697,46 +694,46 @@ export class ViewModel extends viewEvents.ViewEventEmitter implements IViewModel
697694 // mixed empty selections and non-empty selections
698695 let result : string [ ] = [ ] ;
699696 let prevModelLineNumber = 0 ;
700- for ( const range of ranges ) {
701- const modelLineNumber = this . coordinatesConverter . convertViewPositionToModelPosition ( new Position ( range . startLineNumber , 1 ) ) . lineNumber ;
702- if ( range . isEmpty ( ) ) {
697+ for ( const modelRange of modelRanges ) {
698+ const modelLineNumber = modelRange . startLineNumber ;
699+ if ( modelRange . isEmpty ( ) ) {
703700 if ( modelLineNumber !== prevModelLineNumber ) {
704701 result . push ( this . model . getLineContent ( modelLineNumber ) ) ;
705702 }
706703 } else {
707- result . push ( this . getValueInRange ( range , forceCRLF ? EndOfLinePreference . CRLF : EndOfLinePreference . TextDefined ) ) ;
704+ result . push ( this . model . getValueInRange ( modelRange , forceCRLF ? EndOfLinePreference . CRLF : EndOfLinePreference . TextDefined ) ) ;
708705 }
709706 prevModelLineNumber = modelLineNumber ;
710707 }
711708 return result . length === 1 ? result [ 0 ] : result ;
712709 }
713710
714711 let result : string [ ] = [ ] ;
715- for ( const range of ranges ) {
716- if ( ! range . isEmpty ( ) ) {
717- result . push ( this . getValueInRange ( range , forceCRLF ? EndOfLinePreference . CRLF : EndOfLinePreference . TextDefined ) ) ;
712+ for ( const modelRange of modelRanges ) {
713+ if ( ! modelRange . isEmpty ( ) ) {
714+ result . push ( this . model . getValueInRange ( modelRange , forceCRLF ? EndOfLinePreference . CRLF : EndOfLinePreference . TextDefined ) ) ;
718715 }
719716 }
720717 return result . length === 1 ? result [ 0 ] : result ;
721718 }
722719
723- public getHTMLToCopy ( viewRanges : Range [ ] , emptySelectionClipboard : boolean ) : string | null {
720+ public getHTMLToCopy ( modelRanges : Range [ ] , emptySelectionClipboard : boolean ) : string | null {
724721 if ( this . model . getLanguageIdentifier ( ) . id === LanguageId . PlainText ) {
725722 return null ;
726723 }
727724
728- if ( viewRanges . length !== 1 ) {
725+ if ( modelRanges . length !== 1 ) {
729726 // no multiple selection support at this time
730727 return null ;
731728 }
732729
733- let range = this . coordinatesConverter . convertViewRangeToModelRange ( viewRanges [ 0 ] ) ;
730+ let range = modelRanges [ 0 ] ;
734731 if ( range . isEmpty ( ) ) {
735732 if ( ! emptySelectionClipboard ) {
736733 // nothing to copy
737734 return null ;
738735 }
739- let lineNumber = range . startLineNumber ;
736+ const lineNumber = range . startLineNumber ;
740737 range = new Range ( lineNumber , this . model . getLineMinColumn ( lineNumber ) , lineNumber , this . model . getLineMaxColumn ( lineNumber ) ) ;
741738 }
742739
0 commit comments