@@ -167,42 +167,40 @@ class Terminal {
167167 }
168168 }
169169
170- addText ( data ) {
171- const { lines, lineWrap, pointerLine , pointerColumn , trimCount, maxLines } = this . state ;
170+ addText ( newText ) {
171+ const { lines, lineWrap, trimCount, maxLines } = this . state ;
172172
173- var newPointerColumn = pointerColumn ;
174- var newPointerLine = pointerLine ;
175- var newText = data ;
173+ let { pointerColumn, pointerLine } = this . state ;
176174
177175 while ( newText . length > 0 ) {
178- var oldLine = lines [ newPointerLine ] || '' ;
179- var initial = _ . padRight ( oldLine . slice ( 0 , newPointerColumn ) , newPointerColumn ) ;
176+ let oldLine = lines [ pointerLine ] || '' ;
177+ let initial = _ . padRight ( oldLine . slice ( 0 , pointerColumn ) , pointerColumn ) ;
180178
181- var newData = newText . slice ( 0 , lineWrap - initial . length ) ;
179+ let insert = newText . slice ( 0 , Math . max ( lineWrap - initial . length , 0 ) ) ;
182180
183- var remainder = oldLine . slice ( newData . length + initial . length ) ;
181+ let remainder = oldLine . slice ( insert . length + initial . length ) ;
184182
185- var leftOver = newText . slice ( lineWrap - initial . length ) ;
183+ let leftOver = newText . slice ( insert . length ) ;
186184
187- lines [ newPointerLine ] = initial + newData + remainder ;
185+ lines [ pointerLine ] = initial + insert + remainder ;
188186
189187 newText = leftOver ;
190188 if ( newText . length > 0 ) {
191- newPointerLine ++ ;
192- newPointerColumn = 0 ;
189+ pointerLine ++ ;
190+ pointerColumn = 0 ;
193191 } else {
194- newPointerColumn = initial . length + newData . length ;
192+ pointerColumn = initial . length + insert . length ;
195193 }
196194 }
197195
198196 if ( lines . length > maxLines ) {
199197 const newLines = lines . slice ( trimCount ) ;
200198 this . state . lines = newLines ;
201- this . state . pointerLine = Math . max ( 0 , newPointerLine - trimCount ) ;
202- this . state . pointerColumn = newPointerColumn ;
199+ this . state . pointerLine = Math . max ( 0 , pointerLine - trimCount ) ;
200+ this . state . pointerColumn = pointerColumn ;
203201 } else {
204- this . state . pointerLine = newPointerLine ;
205- this . state . pointerColumn = newPointerColumn ;
202+ this . state . pointerLine = pointerLine ;
203+ this . state . pointerColumn = pointerColumn ;
206204 }
207205 }
208206
0 commit comments