File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed
src/main/resources/META-INF/frontend/fc-xterm Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ class InsertFixAddon extends TerminalAddon<TerminalMixin> {
4343 const printedLength = end - start ;
4444 let trimmedLength = bufferRow . getTrimmedLength ( ) ;
4545
46+ //If the inserted characters would overflow the current liner
4647 if ( buffer . x != trimmedLength && trimmedLength + printedLength > bufferRow . length ) {
4748 let range = buffer . getWrappedRangeForLine ( buffer . y + buffer . ybase )
4849 range . first = buffer . y + buffer . ybase ;
@@ -54,7 +55,10 @@ class InsertFixAddon extends TerminalAddon<TerminalMixin> {
5455 src = buffer . lines . get ( range . last ) ;
5556 trimmedLength = src . getTrimmedLength ( ) ;
5657 }
58+
59+ //If the inserted characters would overflow the last line in wrapped range
5760 if ( trimmedLength + printedLength > src . length ) {
61+ //Then wrap the next row
5862 if ( range . last == buffer . _rows - 1 ) {
5963 inputHandler . _bufferService . scroll ( inputHandler . _eraseAttrData ( ) , true ) ;
6064 }
@@ -64,6 +68,8 @@ class InsertFixAddon extends TerminalAddon<TerminalMixin> {
6468 inputHandler . _dirtyRowService . markDirty ( buffer . y + 1 ) ;
6569 }
6670
71+ //Allocate space for the characters to be inserted
72+ //Wrap-move characters in page memory to the next line
6773 for ( let y = range . last ; y > range . first ; y -- ) {
6874 let dst = src ;
6975 src = buffer . lines . get ( y - 1 ) ;
You can’t perform that action at this time.
0 commit comments