Skip to content

Commit 2535454

Browse files
save file
1 parent 8d9ac83 commit 2535454

1 file changed

Lines changed: 32 additions & 30 deletions

File tree

utils/misc/nodejs-terminal/v2.0/nodejs-terminal-v2.0.html

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -850,20 +850,44 @@
850850

851851
}//resume
852852
term.write.xy = (x,y,txt)=>{
853-
854-
term.write('\x1b[s'); // Save current spot
855-
term.write(`\x1b[${y};${x}H`); // Jump to top left
853+
// Save cursor
854+
term.write('\x1b[s');
855+
// Jump to x,y
856+
term.write(`\x1b[${y};${x}H`);
856857
term.write(txt);
857-
term.write('\x1b[u'); // Jump back to where we were
858+
// restore cursor
859+
term.write('\x1b[u');
858860

859861
}//xy
860862

861-
862-
863-
863+
term.end_of_text = function(y){
864+
// xterm.js uses 0-based indexing for the buffer,
865+
// but 1-based for ANSI
866+
var line = term.buffer.active.getLine(y-1);
867+
if(!line){
868+
return 1;
869+
}
870+
871+
var last = 0;
872+
for(var i=term.cols-1;i>=0;i--){
873+
874+
var cell = line.getCell(i);
875+
// Check if the cell is not empty/whitespace
876+
if(cell&&cell.getChars().trim()!==''){
877+
last = i+1;
878+
break;
879+
}
880+
881+
}//for
882+
return last+1;
883+
884+
}//end_of_text
885+
886+
887+
864888
for(let key in colors){
865889

866-
if (key === 'reset') continue;
890+
if(key=='reset')continue;
867891

868892
term.write[key] = (...args)=>term.write(colors[key]+args.join(' ')+colors.reset);
869893
term.writeln[key] = (...args)=>term.writeln(colors[key]+args.join(' ')+colors.reset);
@@ -1149,28 +1173,6 @@
11491173
}//stop
11501174

11511175

1152-
function end_of_text(y){
1153-
// xterm.js uses 0-based indexing for the buffer,
1154-
// but 1-based for ANSI
1155-
var line = term.buffer.active.getLine(y-1);
1156-
if(!line){
1157-
return 1;
1158-
}
1159-
1160-
var last = 0;
1161-
for(var i=term.cols-1;i>=0;i--){
1162-
1163-
var cell = line.getCell(i);
1164-
// Check if the cell is not empty/whitespace
1165-
if(cell&&cell.getChars().trim()!==''){
1166-
last = i+1;
1167-
break;
1168-
}
1169-
1170-
}//for
1171-
return last+1;
1172-
1173-
}//end_of_text
11741176

11751177

11761178
//:

0 commit comments

Comments
 (0)