|
|
|
@ -1011,9 +1011,13 @@ char* ncdirect_readline(ncdirect* n, const char* prompt){
|
|
|
|
|
}
|
|
|
|
|
--wpos;
|
|
|
|
|
}else if(id == NCKEY_LEFT){
|
|
|
|
|
if(wpos){
|
|
|
|
|
--wpos;
|
|
|
|
|
}
|
|
|
|
|
}else if(id == NCKEY_RIGHT){
|
|
|
|
|
++wpos;
|
|
|
|
|
}else if(id == NCKEY_UP){
|
|
|
|
|
wpos -= dimx;
|
|
|
|
|
}else if(id == NCKEY_DOWN){
|
|
|
|
|
wpos += dimx;
|
|
|
|
|
}else{
|
|
|
|
|
if(wspace - 1 < wused){
|
|
|
|
|
wspace += BUFSIZ;
|
|
|
|
@ -1050,6 +1054,11 @@ char* ncdirect_readline(ncdirect* n, const char* prompt){
|
|
|
|
|
bline = y;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(wpos < 0){
|
|
|
|
|
wpos = 0;
|
|
|
|
|
}else if(wpos > wused - 1){
|
|
|
|
|
wpos = wused - 1;
|
|
|
|
|
}
|
|
|
|
|
// clear to end of line(s)
|
|
|
|
|
const char* el = get_escape(&n->tcache, ESCAPE_EL);
|
|
|
|
|
for(int i = bline ; i >= tline ; --i){
|
|
|
|
|