kopia lustrzana https://github.com/micropython/micropython
lib/mp-readline: Add n_chars argument to mp_hal_erase_line_from_cursor.
If VT100 support is not available then a given implementation of mp_hal_erase_line_from_cursor might need to know the number of characters to erase. This patch does not change generated code when VT100 is supported, since compiler can optimise away the argument.pull/1522/head
rodzic
22521ea9e2
commit
f961456b29
|
@ -82,7 +82,8 @@ STATIC void mp_hal_move_cursor_back(uint pos) {
|
|||
}
|
||||
}
|
||||
|
||||
STATIC void mp_hal_erase_line_from_cursor(void) {
|
||||
STATIC void mp_hal_erase_line_from_cursor(uint n_chars_to_erase) {
|
||||
(void)n_chars_to_erase;
|
||||
mp_hal_stdout_tx_strn("\x1b[K", 3);
|
||||
}
|
||||
#endif
|
||||
|
@ -338,8 +339,7 @@ delete_key:
|
|||
if (redraw_from_cursor) {
|
||||
if (rl.line->len < last_line_len) {
|
||||
// erase old chars
|
||||
// (number of chars to erase: last_line_len - rl.cursor_pos)
|
||||
mp_hal_erase_line_from_cursor();
|
||||
mp_hal_erase_line_from_cursor(last_line_len - rl.cursor_pos);
|
||||
}
|
||||
// draw new chars
|
||||
mp_hal_stdout_tx_strn(rl.line->buf + rl.cursor_pos, rl.line->len - rl.cursor_pos);
|
||||
|
|
|
@ -92,7 +92,7 @@ void mp_hal_move_cursor_back(uint pos) {
|
|||
SetConsoleCursorPosition(con_out, info.dwCursorPosition);
|
||||
}
|
||||
|
||||
void mp_hal_erase_line_from_cursor() {
|
||||
void mp_hal_erase_line_from_cursor(uint n_chars_to_erase) {
|
||||
assure_conout_handle();
|
||||
CONSOLE_SCREEN_BUFFER_INFO info;
|
||||
GetConsoleScreenBufferInfo(con_out, &info);
|
||||
|
|
|
@ -29,4 +29,4 @@
|
|||
#define MICROPY_HAL_HAS_VT100 (0)
|
||||
|
||||
void mp_hal_move_cursor_back(unsigned int pos);
|
||||
void mp_hal_erase_line_from_cursor();
|
||||
void mp_hal_erase_line_from_cursor(unsigned int n_chars_to_erase);
|
||||
|
|
Ładowanie…
Reference in New Issue