BLUELOVETH 2 anni fa
parent
commit
f884351c4e
1 ha cambiato i file con 8 aggiunte e 12 eliminazioni
  1. 8 12
      web/index.js

+ 8 - 12
web/index.js

@@ -143,18 +143,14 @@ function term_init() {
           term.write(need_more_lines ? "... " : ">>> ");
           break;
         case '\u007F': // Backspace (DEL)
-          // Do not delete the prompt
-          if (term._core.buffer.x > 4) {    // '>>> ' or '... '
-            var re=/[^\u4E00-\u9FA5]/;
-            if (re.test(command.charAt(command.length-1))){//判断前一个字符是否为中文
-              term.write('\b \b');//false
-            }else{
-              term.write('\b\b \b');//中文占两个字节,ascii字符占一个字节
-            }
-            if (command.length > 0) {
-              command = command.substr(0, command.length - 1);
-            }
-          }
+          var cnt = term._core.buffer.x-4;
+          if(cnt<=0 || command.length==0) break;
+          // delete the last unicode char
+          command = command.replace(/.$/u, "");
+          // clear the whole line
+          term.write('\b \b'.repeat(cnt));
+          // re-write the command
+          term.write(command);
           break;
         default: // Print all other characters for demo
           if (e >= String.fromCharCode(0x20) && e <= String.fromCharCode(0x7E) || e >= '\u00a0') {