about summary refs log tree commit diff stats
path: root/repl.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-05-30 11:38:16 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-05-30 12:02:29 -0700
commit3d68a0b026e6551e962124f3a1831120dbd553b7 (patch)
tree6a19bebe955a00eded4a51435fa1e6d584c3c983 /repl.mu
parent76acf2b00e5fb265f1b64b2194367d2848afe400 (diff)
downloadmu-3d68a0b026e6551e962124f3a1831120dbd553b7.tar.gz
1514 - cleaner way to show backspaces in fake keyboard
In the process we now support unicode in all mu strings!
Diffstat (limited to 'repl.mu')
-rw-r--r--repl.mu66
1 files changed, 12 insertions, 54 deletions
diff --git a/repl.mu b/repl.mu
index 1e95e7bf..c6165750 100644
--- a/repl.mu
+++ b/repl.mu
@@ -303,16 +303,9 @@ scenario read-instruction-color-comment [
 
 scenario read-instruction-cancel-comment-on-backspace [
   assume-screen 30:literal/width, 5:literal/height
-  assume-keyboard [#a<<z
+  assume-keyboard [#a««z
 ]
-  # setup: replace '<'s with backspace key since we can't represent backspace in strings
-  run [
-    buf:address:array:character <- get keyboard:address:keyboard/deref, data:offset
-    first:address:character <- index-address buf:address:array:character/deref, 2:literal
-    first:address:character/deref <- copy 8:literal/backspace
-    second:address:character <- index-address buf:address:array:character/deref, 3:literal
-    second:address:character/deref <- copy 8:literal/backspace
-  ]
+  replace-in-keyboard 171:literal/«, 8:literal/backspace
   run [
     read-instruction keyboard:address, screen:address
   ]
@@ -328,18 +321,9 @@ scenario read-instruction-cancel-comment-on-backspace [
 
 scenario read-instruction-cancel-comment-on-backspace2 [
   assume-screen 30:literal/width, 5:literal/height
-  assume-keyboard [#ab<<<z
+  assume-keyboard [#ab«««z
 ]
-  # setup: replace '<'s with backspace key since we can't represent backspace in strings
-  run [
-    buf:address:array:character <- get keyboard:address:keyboard/deref, data:offset
-    first:address:character <- index-address buf:address:array:character/deref, 3:literal
-    first:address:character/deref <- copy 8:literal/backspace
-    second:address:character <- index-address buf:address:array:character/deref, 4:literal
-    second:address:character/deref <- copy 8:literal/backspace
-    third:address:character <- index-address buf:address:array:character/deref, 5:literal
-    third:address:character/deref <- copy 8:literal/backspace
-  ]
+  replace-in-keyboard 171:literal/«, 8:literal/backspace
   run [
     read-instruction keyboard:address, screen:address
   ]
@@ -355,14 +339,9 @@ scenario read-instruction-cancel-comment-on-backspace2 [
 
 scenario read-instruction-cancel-comment-on-backspace3 [
   assume-screen 30:literal/width, 5:literal/height
-  assume-keyboard [#a<z
+  assume-keyboard [#a«z
 ]
-  # setup: replace '<'s with backspace key since we can't represent backspace in strings
-  run [
-    buf:address:array:character <- get keyboard:address:keyboard/deref, data:offset
-    first:address:character <- index-address buf:address:array:character/deref, 2:literal
-    first:address:character/deref <- copy 8:literal/backspace
-  ]
+  replace-in-keyboard 171:literal/«, 8:literal/backspace
   run [
     read-instruction keyboard:address, screen:address
   ]
@@ -525,16 +504,9 @@ scenario read-instruction-color-string-inside-string [
 scenario read-instruction-cancel-string-on-backspace [
   assume-screen 30:literal/width, 5:literal/height
   # need to escape the '[' once for 'scenario' and once for 'assume-keyboard'
-  assume-keyboard [\\\[a<<z
+  assume-keyboard [\\\[a««z
 ]
-  # setup: replace '<'s with backspace key since we can't represent backspace in strings
-  run [
-    buf:address:array:character <- get keyboard:address:keyboard/deref, data:offset
-    first-backspace:address:character <- index-address buf:address:array:character/deref, 2:literal
-    first-backspace:address:character/deref <- copy 8:literal/backspace
-    second-backspace:address:character <- index-address buf:address:array:character/deref, 3:literal
-    second-backspace:address:character/deref <- copy 8:literal/backspace
-  ]
+  replace-in-keyboard 171:literal/«, 8:literal/backspace
   run [
     read-instruction keyboard:address, screen:address
   ]
@@ -550,18 +522,9 @@ scenario read-instruction-cancel-string-on-backspace [
 
 scenario read-instruction-cancel-string-inside-string-on-backspace [
   assume-screen 30:literal/width, 5:literal/height
-  assume-keyboard [[a[b]<<<b]
+  assume-keyboard [\[a\[b\]«««b\]
 ]
-  # setup: replace '<'s with backspace key since we can't represent backspace in strings
-  run [
-    buf:address:array:character <- get keyboard:address:keyboard/deref, data:offset
-    first-backspace:address:character <- index-address buf:address:array:character/deref, 5:literal
-    first-backspace:address:character/deref <- copy 8:literal/backspace
-    second-backspace:address:character <- index-address buf:address:array:character/deref, 6:literal
-    second-backspace:address:character/deref <- copy 8:literal/backspace
-    third-backspace:address:character <- index-address buf:address:array:character/deref, 7:literal
-    third-backspace:address:character/deref <- copy 8:literal/backspace
-  ]
+  replace-in-keyboard 171:literal/«, 8:literal/backspace
   run [
     read-instruction keyboard:address, screen:address
   ]
@@ -578,14 +541,9 @@ scenario read-instruction-cancel-string-inside-string-on-backspace [
 scenario read-instruction-backspace-back-into-string [
   assume-screen 30:literal/width, 5:literal/height
   # need to escape the '[' once for 'scenario' and once for 'assume-keyboard'
-  assume-keyboard [[a]<b
+  assume-keyboard [[a]«b
 ]
-  # setup: replace '<'s with backspace key since we can't represent backspace in strings
-  run [
-    buf:address:array:character <- get keyboard:address:keyboard/deref, data:offset
-    first-backspace:address:character <- index-address buf:address:array:character/deref, 3:literal
-    first-backspace:address:character/deref <- copy 8:literal/backspace
-  ]
+  replace-in-keyboard 171:literal/«, 8:literal/backspace
   run [
     read-instruction keyboard:address, screen:address
   ]