Преглед изворни кода

fix backspace character handling

Oliver Fabel пре 1 година
родитељ
комит
abcfa6d8e4
1 измењених фајлова са 4 додато и 2 уклоњено
  1. 4 2
      upython_repl.c

+ 4 - 2
upython_repl.c

@@ -73,7 +73,9 @@ static void mp_flipper_repl_context_free(mp_flipper_repl_context_t* context) {
 static void print_full_psx(mp_flipper_repl_context_t* context) {
 static void print_full_psx(mp_flipper_repl_context_t* context) {
     const char* psx = context->is_ps2 ? "... " : ">>> ";
     const char* psx = context->is_ps2 ? "... " : ">>> ";
 
 
-    printf("\33[2K\r%s%s", psx, furi_string_get_cstr(context->line));
+    printf("\e[2K\r%s%s", psx, furi_string_get_cstr(context->line));
+
+    fflush(stdout);
 
 
     for(size_t i = context->cursor; i < furi_string_size(context->line); i++) {
     for(size_t i = context->cursor; i < furi_string_size(context->line); i++) {
         printf("\e[D");
         printf("\e[D");
@@ -345,7 +347,7 @@ void upython_repl_execute(Cli* cli) {
                 }
                 }
 
 
                 // handle backspace
                 // handle backspace
-                if(character == CliSymbolAsciiBackspace) {
+                if(character == CliSymbolAsciiBackspace || character == CliSymbolAsciiDel) {
                     handle_backspace(context);
                     handle_backspace(context);
 
 
                     continue;
                     continue;