File tree Expand file tree Collapse file tree 2 files changed +6
-0
lines changed
Expand file tree Collapse file tree 2 files changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -381,6 +381,7 @@ export class WebglRenderer extends Disposable implements IRenderer {
381381 let isValidJoinRange : boolean = true ;
382382 let lastCharX : number ;
383383 let range : [ number , number ] ;
384+ let isCursorRow : boolean ;
384385 let chars : string ;
385386 let code : number ;
386387 let width : number ;
@@ -407,6 +408,7 @@ export class WebglRenderer extends Disposable implements IRenderer {
407408 row = y + terminal . buffer . ydisp ;
408409 line = terminal . buffer . lines . get ( row ) ! ;
409410 this . _model . lineLengths [ y ] = 0 ;
411+ isCursorRow = cursorY === row ;
410412 skipJoinedCheckUntilX = 0 ;
411413 joinedRanges = this . _characterJoinerService . getJoinedCharacters ( row ) ;
412414 for ( x = 0 ; x < terminal . cols ; x ++ ) {
@@ -438,6 +440,8 @@ export class WebglRenderer extends Disposable implements IRenderer {
438440 for ( i = range [ 0 ] + 1 ; i < range [ 1 ] ; i ++ ) {
439441 isValidJoinRange &&= ( firstSelectionState === this . _model . selection . isCellSelected ( this . _terminal , i , row ) ) ;
440442 }
443+ // Similarly, if the cursor is in the ligature, don't join it.
444+ isValidJoinRange &&= ! isCursorRow || cursorX < range [ 0 ] || cursorX >= range [ 1 ] ;
441445 if ( ! isValidJoinRange ) {
442446 skipJoinedCheckUntilX = range [ 1 ] ;
443447 } else {
Original file line number Diff line number Diff line change @@ -127,6 +127,8 @@ export class DomRendererRowFactory {
127127 for ( i = range [ 0 ] + 1 ; i < range [ 1 ] ; i ++ ) {
128128 isValidJoinRange &&= ( firstSelectionState === this . _isCellInSelection ( i , row ) ) ;
129129 }
130+ // Similarly, if the cursor is in the ligature, don't join it.
131+ isValidJoinRange &&= ! isCursorRow || cursorX < range [ 0 ] || cursorX >= range [ 1 ] ;
130132 if ( ! isValidJoinRange ) {
131133 skipJoinedCheckUntilX = range [ 1 ] ;
132134 } else {
You can’t perform that action at this time.
0 commit comments