CLI: update historyPrevius()

This commit is contained in:
Laila van Reenen 2024-04-13 21:19:06 +02:00
parent 8f8000d9ca
commit 73c0013ee9
2 changed files with 12 additions and 3 deletions

View File

@ -119,6 +119,11 @@ void historyPrevius()
// add current text to end of history // add current text to end of history
line = fifoToString(FIFO); line = fifoToString(FIFO);
History_put(History, line); History_put(History, line);
for (int i=0; *(line + i) != '\0'; i++)
{
CLI_stringOut((char*)"\x1b[D \x1b[D");
}
History_getPrev(History, &line);
} }
// empty current line // empty current line
@ -267,9 +272,9 @@ bool CLI_charIn(char c)
{ {
#ifdef HISTORY #ifdef HISTORY
case 'A': // arrow up case 'A': // arrow up
CLI_State = CLI_State_Default;
historyPrevius(); historyPrevius();
// CLI_stringOut((char*)"(key: arrow up)"); // CLI_stringOut((char*)"(key: arrow up)");
CLI_State = CLI_State_Default;
break; break;
case 'B': // arrow down case 'B': // arrow down
// history next // history next

View File

@ -100,10 +100,14 @@ int History_getPrev(History_t* history, char** line)
{ {
history->CurrEl_p = history->LastEl_p; history->CurrEl_p = history->LastEl_p;
} }
else else if (history->CurrEl_p->prevEl_p != NULL)
{ {
history->CurrEl_p = history->CurrEl_p->prevEl_p; history->CurrEl_p = history->CurrEl_p->prevEl_p;
} }
else
{ // no previus line
retCode = -2;
}
if (history->CurrEl_p != NULL) if (history->CurrEl_p != NULL)
{ {
@ -111,7 +115,7 @@ int History_getPrev(History_t* history, char** line)
retCode = 0; retCode = 0;
} }
else else
{ { // no items in history?
*line = NULL; *line = NULL;
retCode = -1; retCode = -1;
} }