diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-10-08 23:58:56 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-10-08 23:58:56 -0700 |
commit | 71056d6150d2b09241a86cbdf37086265291a358 (patch) | |
tree | 6c1a6e3b77c36cc04ddf8d4ccec02047bbc3c0e1 | |
parent | 3315a7d3bb8560bad215febe7a69187707dac4e3 (diff) | |
download | mu-71056d6150d2b09241a86cbdf37086265291a358.tar.gz |
3489
Revert commit 3457, where I switched the unicode characters used in the edit/ app to something that doesn't render double-wide in html. It turns out that the new unicode characters made iTerm2 sluggish in alt-tabbing between windows. (Commit 3488 only fixed the screen-clearing issue.) I haven't reverted the html files. I'm going to redo commit 3457 next so the html files continue to render like they do now.
-rw-r--r-- | edit/002-typing.mu | 40 | ||||
-rw-r--r-- | edit/003-shortcuts.mu | 92 | ||||
-rw-r--r-- | edit/004-programming-environment.mu | 54 | ||||
-rw-r--r-- | edit/005-sandbox.mu | 342 | ||||
-rw-r--r-- | edit/006-sandbox-copy.mu | 126 | ||||
-rw-r--r-- | edit/007-sandbox-delete.mu | 152 | ||||
-rw-r--r-- | edit/008-sandbox-edit.mu | 182 | ||||
-rw-r--r-- | edit/009-sandbox-test.mu | 32 | ||||
-rw-r--r-- | edit/010-sandbox-trace.mu | 96 | ||||
-rw-r--r-- | edit/011-errors.mu | 264 | ||||
-rw-r--r-- | edit/012-editor-undo.mu | 122 | ||||
-rw-r--r-- | sandbox/002-typing.mu | 40 | ||||
-rw-r--r-- | sandbox/003-shortcuts.mu | 74 | ||||
-rw-r--r-- | sandbox/004-programming-environment.mu | 2 | ||||
-rw-r--r-- | sandbox/005-sandbox.mu | 96 | ||||
-rw-r--r-- | sandbox/006-sandbox-copy.mu | 36 | ||||
-rw-r--r-- | sandbox/007-sandbox-delete.mu | 48 | ||||
-rw-r--r-- | sandbox/008-sandbox-edit.mu | 34 | ||||
-rw-r--r-- | sandbox/009-sandbox-test.mu | 8 | ||||
-rw-r--r-- | sandbox/010-sandbox-trace.mu | 24 | ||||
-rw-r--r-- | sandbox/011-errors.mu | 48 | ||||
-rw-r--r-- | sandbox/012-editor-undo.mu | 118 |
22 files changed, 1015 insertions, 1015 deletions
diff --git a/edit/002-typing.mu b/edit/002-typing.mu index 9fb5042e..2f94f362 100644 --- a/edit/002-typing.mu +++ b/edit/002-typing.mu @@ -275,7 +275,7 @@ def editor-render screen:&:screen, editor:&:editor -> screen:&:screen, editor:&: row:num, column:num <- render screen, editor clear-line-until screen, right row <- add row, 1 - draw-horizontal screen, row, left, right, 9548/horizontal-dashed + draw-horizontal screen, row, left, right, 9480/horizontal-dotted row <- add row, 1 clear-screen-from screen, row, left, left, right ] @@ -292,7 +292,7 @@ scenario editor-handles-empty-event-queue [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -314,7 +314,7 @@ scenario editor-handles-mouse-clicks [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -407,7 +407,7 @@ scenario editor-handles-mouse-clicks-outside-column [ screen-should-contain [ . . .abc . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] memory-should-contain [ @@ -454,7 +454,7 @@ scenario editor-inserts-characters-into-empty-editor [ screen-should-contain [ . . .abc . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] check-trace-count-for-label 3, [print-character] @@ -478,7 +478,7 @@ scenario editor-inserts-characters-at-cursor [ screen-should-contain [ . . .0adbc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 7, [print-character] # 4 for first letter, 3 for second @@ -500,7 +500,7 @@ scenario editor-inserts-characters-at-cursor-2 [ screen-should-contain [ . . .abcd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -525,7 +525,7 @@ d] . . .abce . .d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -547,7 +547,7 @@ scenario editor-inserts-characters-at-cursor-3 [ screen-should-contain [ . . .abcd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -572,7 +572,7 @@ d] . . .abc . .de . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -597,7 +597,7 @@ d] . . .abc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] @@ -617,7 +617,7 @@ scenario editor-moves-cursor-after-inserting-characters [ screen-should-contain [ . . .01ab . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] ] @@ -640,7 +640,7 @@ scenario editor-wraps-line-on-insert [ screen-should-contain [ . . .eabc . - .╌╌╌╌╌. + .┈┈┈┈┈. . . . . ] @@ -656,7 +656,7 @@ scenario editor-wraps-line-on-insert [ . . .efab↩. .c . - .╌╌╌╌╌. + .┈┈┈┈┈. . . ] ] @@ -762,7 +762,7 @@ scenario editor-wraps-cursor-after-inserting-characters-in-middle-of-line [ . . .abcf↩ . .de . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] memory-should-contain [ @@ -796,7 +796,7 @@ xyz] .abcd↩ . .e . .xyz . - .╌╌╌╌╌ . + .┈┈┈┈┈ . ] ] @@ -817,7 +817,7 @@ scenario editor-wraps-cursor-to-left-margin [ . . . abc0↩ . . 1de . - . ╌╌╌╌╌ . + . ┈┈┈┈┈ . . . ] memory-should-contain [ @@ -851,7 +851,7 @@ scenario editor-moves-cursor-down-after-inserting-newline [ . . .0 . .1abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -957,7 +957,7 @@ scenario editor-moves-cursor-down-after-inserting-newline-2 [ . . . 0 . . 1abc . - . ╌╌╌╌╌╌╌╌╌. + . ┈┈┈┈┈┈┈┈┈. . . ] ] @@ -985,7 +985,7 @@ scenario editor-clears-previous-line-completely-after-inserting-newline [ . . .abcd↩ . .e . - .╌╌╌╌╌ . + .┈┈┈┈┈ . ] ] diff --git a/edit/003-shortcuts.mu b/edit/003-shortcuts.mu index 9c4467a3..2dbc481a 100644 --- a/edit/003-shortcuts.mu +++ b/edit/003-shortcuts.mu @@ -57,7 +57,7 @@ scenario editor-handles-backspace-key [ screen-should-contain [ . . .bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -235,7 +235,7 @@ cd] screen-should-contain [ . . .abcd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -266,7 +266,7 @@ ghi jkl] . . .abc defgh↩. .i jkl . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -282,7 +282,7 @@ scenario editor-wraps-long-lines-on-backspace [ . . .abc def↩ . . ghij . - .╌╌╌╌╌╌╌╌ . + .┈┈┈┈┈┈┈┈ . ] $clear-trace # position the cursor somewhere in the middle of the top screen line and hit backspace @@ -298,7 +298,7 @@ scenario editor-wraps-long-lines-on-backspace [ . . .abcdef ↩ . .ghij . - .╌╌╌╌╌╌╌╌ . + .┈┈┈┈┈┈┈┈ . . . ] ] @@ -320,7 +320,7 @@ scenario editor-handles-delete-key [ screen-should-contain [ . . .bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 3, [print-character] # length of original line to overwrite @@ -334,7 +334,7 @@ scenario editor-handles-delete-key [ screen-should-contain [ . . .c . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] # new length to overwrite @@ -410,7 +410,7 @@ scenario editor-moves-cursor-right-with-key [ screen-should-contain [ . . .a0bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 3, [print-character] # 0 and following characters @@ -521,7 +521,7 @@ d] . . .abc . .0d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] # new length of second line @@ -548,7 +548,7 @@ d] . . . abc . . 0d . - . ╌╌╌╌╌╌╌╌╌. + . ┈┈┈┈┈┈┈┈┈. . . ] ] @@ -572,7 +572,7 @@ scenario editor-moves-cursor-to-next-wrapped-line-with-right-arrow [ . . .abcd↩ . .ef . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] memory-should-contain [ @@ -638,7 +638,7 @@ scenario editor-moves-cursor-to-next-wrapped-line-with-right-arrow-3 [ . . . abcd↩ . . ef . - . ╌╌╌╌╌ . + . ┈┈┈┈┈ . . . ] memory-should-contain [ @@ -670,7 +670,7 @@ d] . . .abc . .0d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] @@ -697,7 +697,7 @@ scenario editor-moves-cursor-left-with-key [ screen-should-contain [ . . .a0bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 3, [print-character] @@ -773,7 +773,7 @@ g] .abc . .def0 . .g . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] check-trace-count-for-label 1, [print-character] # just the '0' ] @@ -802,7 +802,7 @@ g] .0abc . .def . .g . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] check-trace-count-for-label 4, [print-character] # length of first line ] @@ -831,7 +831,7 @@ d] .abc . .0 . .d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] check-trace-count-for-label 1, [print-character] # just the '0' ] @@ -847,7 +847,7 @@ scenario editor-moves-across-screen-lines-across-wrap-with-left-arrow [ . . .abcd↩ . .ef . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] # position cursor right after empty line @@ -881,7 +881,7 @@ g] .abcd↩ . .ef . .g . - .╌╌╌╌╌ . + .┈┈┈┈┈ . ] # position cursor right after empty line assume-console [ @@ -913,7 +913,7 @@ e] . . .abcd . .e . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] # position cursor right after empty line @@ -969,7 +969,7 @@ def] . . .a0bc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1086,7 +1086,7 @@ def] . . .ab0 . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1123,7 +1123,7 @@ def] . . .0 . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1164,7 +1164,7 @@ ghi] .abc . .0def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1203,7 +1203,7 @@ def] . . .abc . .0def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1308,7 +1308,7 @@ de] . . .abc . .de0 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1511,7 +1511,7 @@ scenario editor-moves-to-end-of-line-with-ctrl-e [ . . .123z . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -1662,7 +1662,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u [ . . .123 . .6 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1726,7 +1726,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u-2 [ . . .3 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1750,7 +1750,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u-3 [ . . . . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1774,7 +1774,7 @@ scenario editor-deletes-to-start-of-final-line-with-ctrl-u [ . . .123 . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1800,7 +1800,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k [ . . .1 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1856,7 +1856,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-2 [ . . .123 . .4 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1880,7 +1880,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-3 [ . . .12 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1904,7 +1904,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-4 [ . . .123 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1928,7 +1928,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-5 [ . . .123 . .45 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1952,7 +1952,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-6 [ . . .123 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -2272,7 +2272,7 @@ de] screen-should-contain [ . . .de0 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # try to move down again @@ -2301,7 +2301,7 @@ de] screen-should-contain [ . . .de01 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -2495,7 +2495,7 @@ m] .k . .l . .m . - .╌╌╌╌╌ . + .┈┈┈┈┈ . ] # move up one line assume-console [ @@ -2626,7 +2626,7 @@ e] . . .d . .e . - .╌╌╌╌╌╌ . + .┈┈┈┈┈┈ . ] assume-console [ press page-up @@ -2765,7 +2765,7 @@ d] . . .c . .d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -2838,7 +2838,7 @@ b] . . .a . .b . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] # scroll down assume-console [ @@ -2852,7 +2852,7 @@ b] . . .a . .b . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -2885,7 +2885,7 @@ cdefgh] . . .cde↩ . .fgh . - .╌╌╌╌ . + .┈┈┈┈ . ] ] @@ -2949,7 +2949,7 @@ d] . . .c . .d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] # scroll back up assume-console [ diff --git a/edit/004-programming-environment.mu b/edit/004-programming-environment.mu index be3d7878..22b8e404 100644 --- a/edit/004-programming-environment.mu +++ b/edit/004-programming-environment.mu @@ -36,7 +36,7 @@ def new-programming-environment screen:&:screen, initial-recipe-contents:text, i print screen, [ run (F4) ], 255/white, 161/reddish # dotted line down the middle divider:num, _ <- divide-with-remainder width, 2 - draw-vertical screen, divider, 1/top, height, 9550/vertical-dashed + draw-vertical screen, divider, 1/top, height, 9482/vertical-dotted # recipe editor on the left recipes:&:editor <- new-editor initial-recipe-contents, screen, 0/left, divider/right # sandbox editor on the right @@ -340,9 +340,9 @@ scenario edit-multiple-editors [ ] screen-should-contain [ . run (F4) . # this line has a different background, but we don't test that yet - .a0bc ╎d1ef . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. - . ╎ . + .a0bc ┊d1ef . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. + . ┊ . ] memory-should-contain [ 5 <- 2 # cursor column of recipe editor @@ -355,9 +355,9 @@ scenario edit-multiple-editors [ ] screen-should-contain [ . run (F4) . - .a0bc ╎d1␣f . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. - . ╎ . + .a0bc ┊d1␣f . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -372,10 +372,10 @@ scenario multiple-editors-cover-only-their-own-areas [ # divider isn't messed up screen-should-contain [ . run (F4) . - .abc ╎def . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────. - . ╎ . - . ╎ . + .abc ┊def . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . ] ] @@ -395,9 +395,9 @@ scenario editor-in-focus-keeps-cursor [ # is cursor at the right place? screen-should-contain [ . run (F4) . - .␣bc ╎def . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. - . ╎ . + .␣bc ┊def . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. + . ┊ . ] # now try typing a letter assume-console [ @@ -411,9 +411,9 @@ scenario editor-in-focus-keeps-cursor [ # cursor should still be right screen-should-contain [ . run (F4) . - .z␣bc ╎def . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. - . ╎ . + .z␣bc ┊def . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -428,10 +428,10 @@ def] render-all screen, env, render screen-should-contain [ . run (F4) . - . ╎abc . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎def . - . ╎──────────────. - . ╎ . + . ┊abc . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊def . + . ┊━━━━━━━━━━━━━━. + . ┊ . ] # position cursor at start of second line and hit backspace assume-console [ @@ -446,9 +446,9 @@ def] # cursor moves to end of old line screen-should-contain [ . run (F4) . - . ╎abc␣ef . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎──────────────. - . ╎ . + . ┊abc␣ef . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -470,7 +470,7 @@ def render-all screen:&:screen, env:&:environment, {render-editor: (recipe (addr trace 11, [app], [render divider] divider:num, _ <- divide-with-remainder width, 2 height:num <- screen-height screen - draw-vertical screen, divider, 1/top, height, 9550/vertical-dashed + draw-vertical screen, divider, 1/top, height, 9482/vertical-dotted # screen <- render-recipes screen, env, render-editor screen <- render-sandbox-side screen, env, render-editor @@ -497,7 +497,7 @@ def render-recipes screen:&:screen, env:&:environment, {render-editor: (recipe ( row <- add row, 1 <render-recipe-components-end> # draw dotted line after recipes - draw-horizontal screen, row, left, right, 9548/horizontal-dashed + draw-horizontal screen, row, left, right, 9480/horizontal-dotted row <- add row, 1 clear-screen-from screen, row, left, left, right ] @@ -513,7 +513,7 @@ def render-sandbox-side screen:&:screen, env:&:environment, {render-editor: (rec clear-line-until screen, right row <- add row, 1 # draw solid line after code (you'll see why in later layers) - draw-horizontal screen, row, left, right + draw-horizontal screen, row, left, right, 9473/horizontal row <- add row, 1 clear-screen-from screen, row, left, left, right ] diff --git a/edit/005-sandbox.mu b/edit/005-sandbox.mu index 68bce87e..9c7f0ee7 100644 --- a/edit/005-sandbox.mu +++ b/edit/005-sandbox.mu @@ -58,14 +58,14 @@ scenario run-and-show-results [ # check that screen prints the results screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎divide-with-remainder 11, 3 . - . ╎3 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊divide-with-remainder 11, 3 . + . ┊3 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] screen-should-contain-in-color 7/white, [ . . @@ -80,14 +80,14 @@ scenario run-and-show-results [ ] screen-should-contain-in-color 245/grey, [ . . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . - . ╎ . - . ╎3 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . + . ┊3 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # sandbox menu in reverse video screen-should-contain-in-color 232/black, [ @@ -108,18 +108,18 @@ scenario run-and-show-results [ # check that screen prints both sandboxes screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎divide-with-remainder 11, 3 . - . ╎3 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊divide-with-remainder 11, 3 . + . ┊3 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -251,7 +251,7 @@ def! render-sandbox-side screen:&:screen, env:&:environment, {render-editor: (re row <- add row, 1 } # render sandboxes - draw-horizontal screen, row, left, right + draw-horizontal screen, row, left, right, 9473/horizontal-double sandbox:&:sandbox <- get *env, sandbox:offset row, screen <- render-sandboxes screen, sandbox, left, right, row, render-from clear-rest-of-screen screen, row, left, right @@ -297,7 +297,7 @@ def render-sandboxes screen:&:screen, sandbox:&:sandbox, left:num, right:num, ro at-bottom?:bool <- greater-or-equal row, screen-height return-if at-bottom? # draw solid line after sandbox - draw-horizontal screen, row, left, right + draw-horizontal screen, row, left, right, 9473/horizontal-double } # if hidden, reset row attributes { @@ -534,14 +534,14 @@ reply z event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - .local-scope ╎0 edit copy delete . - .z:num <- add 2, 2 ╎foo . - .reply z ╎4 . - .] ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .local-scope ┊0 edit copy delete . + .z:num <- add 2, 2 ┊foo . + .reply z ┊4 . + .] ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] # make a change (incrementing one of the args to 'add'), then rerun assume-console [ @@ -556,14 +556,14 @@ reply z # check that screen updates the result on the right screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - .local-scope ╎0 edit copy delete . - .z:num <- add 2, 3 ╎foo . - .reply z ╎5 . - .] ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .local-scope ┊0 edit copy delete . + .z:num <- add 2, 3 ┊foo . + .reply z ┊5 . + .] ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -584,18 +584,18 @@ scenario run-instruction-manages-screen-per-sandbox [ # check that it prints a little toy screen screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎print-integer screen, 4 . - . ╎screen: . - . ╎ .4 . . - . ╎ . . . - . ╎ . . . - . ╎ . . . - . ╎ . . . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊print-integer screen, 4 . + . ┊screen: . + . ┊ .4 . . + . ┊ . . . + . ┊ . . . + . ┊ . . . + . ┊ . . . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -652,10 +652,10 @@ scenario scrolling-down-past-bottom-of-recipe-editor [ # no scroll screen-should-contain [ . run (F4) . - . ╎ . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -676,10 +676,10 @@ scenario cursor-down-in-recipe-editor [ # cursor moves back to bottom screen-should-contain [ . run (F4) . - . ╎ . - .␣ ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊ . + .␣ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -755,10 +755,10 @@ scenario scrolling-down-past-bottom-of-recipe-editor-2 [ # no scroll, and cursor remains at top line screen-should-contain [ . run (F4) . - . ╎ . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -783,10 +783,10 @@ cd] # no scroll on recipe side, cursor moves on sandbox side screen-should-contain [ . run (F4) . - . ╎ab . - . ╎␣d . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . + . ┊ab . + . ┊␣d . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -806,10 +806,10 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 2, 2 . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 2, 2 . ] # switch to sandbox window and hit 'page-down' assume-console [ @@ -825,10 +825,10 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎␣ edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊␣ edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # hit 'page-up' assume-console [ @@ -842,10 +842,10 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ # sandbox editor displays again, cursor is in editor screen-should-contain [ . run (F4) . - . ╎␣ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 2, 2 . + . ┊␣ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 2, 2 . ] ] @@ -950,10 +950,10 @@ scenario scrolling-down-on-recipe-side [ # cursor moves down on recipe side screen-should-contain [ . run (F4) . - .␣ ╎ . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 2, 2 . + .␣ ┊ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 2, 2 . ] ] @@ -977,15 +977,15 @@ scenario scrolling-through-multiple-sandboxes [ print screen, cursor screen-should-contain [ . run (F4) . - . ╎␣ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊␣ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # hit 'page-down' assume-console [ @@ -1000,14 +1000,14 @@ scenario scrolling-through-multiple-sandboxes [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎␣ edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊␣ edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # hit 'page-down' again assume-console [ @@ -1019,12 +1019,12 @@ scenario scrolling-through-multiple-sandboxes [ # just second sandbox displayed screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # hit 'page-down' again assume-console [ @@ -1036,12 +1036,12 @@ scenario scrolling-through-multiple-sandboxes [ # no change screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # hit 'page-up' assume-console [ @@ -1053,14 +1053,14 @@ scenario scrolling-through-multiple-sandboxes [ # back to displaying both sandboxes without editor screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # hit 'page-up' again assume-console [ @@ -1074,15 +1074,15 @@ scenario scrolling-through-multiple-sandboxes [ # back to displaying both sandboxes as well as editor screen-should-contain [ . run (F4) . - . ╎␣ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊␣ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # hit 'page-up' again assume-console [ @@ -1096,15 +1096,15 @@ scenario scrolling-through-multiple-sandboxes [ # no change screen-should-contain [ . run (F4) . - . ╎␣ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊␣ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] ] @@ -1124,13 +1124,13 @@ scenario scrolling-manages-sandbox-index-correctly [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # hit 'page-down' and 'page-up' a couple of times. sandbox index should be stable assume-console [ @@ -1143,12 +1143,12 @@ scenario scrolling-manages-sandbox-index-correctly [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # hit 'page-up' again assume-console [ @@ -1160,13 +1160,13 @@ scenario scrolling-manages-sandbox-index-correctly [ # back to displaying both sandboxes as well as editor screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # hit 'page-down' assume-console [ @@ -1179,11 +1179,11 @@ scenario scrolling-manages-sandbox-index-correctly [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] diff --git a/edit/006-sandbox-copy.mu b/edit/006-sandbox-copy.mu index 3e7f21e1..35360995 100644 --- a/edit/006-sandbox-copy.mu +++ b/edit/006-sandbox-copy.mu @@ -18,13 +18,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # click at left edge of 'copy' button assume-console [ @@ -36,13 +36,13 @@ recipe foo [ # it copies into editor screen-should-contain [ . run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # cursor should be in the right place assume-console [ @@ -53,13 +53,13 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ╎0foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊0foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -80,13 +80,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # click at right edge of 'copy' button (just before 'delete') assume-console [ @@ -98,13 +98,13 @@ recipe foo [ # it copies into editor screen-should-contain [ . run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # cursor should be in the right place assume-console [ @@ -115,13 +115,13 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ╎0foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊0foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -237,13 +237,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # type something into the sandbox editor, then click on the 'copy' button assume-console [ @@ -257,13 +257,13 @@ recipe foo [ # copy doesn't happen screen-should-contain [ . run (F4) . - . ╎0 . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊0 . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # cursor should be in the right place assume-console [ @@ -274,12 +274,12 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ╎01 . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊01 . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] diff --git a/edit/007-sandbox-delete.mu b/edit/007-sandbox-delete.mu index 365a4d12..90d24be4 100644 --- a/edit/007-sandbox-delete.mu +++ b/edit/007-sandbox-delete.mu @@ -16,18 +16,18 @@ scenario deleting-sandboxes [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎divide-with-remainder 11, 3 . - . ╎3 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊divide-with-remainder 11, 3 . + . ┊3 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # delete second sandbox by clicking on left edge of 'delete' button assume-console [ @@ -38,14 +38,14 @@ scenario deleting-sandboxes [ ] screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . ] # delete first sandbox by clicking at right edge of 'delete' button assume-console [ @@ -56,10 +56,10 @@ scenario deleting-sandboxes [ ] screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . ] ] @@ -165,12 +165,12 @@ scenario deleting-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . ] # delete the second sandbox assume-console [ @@ -182,12 +182,12 @@ scenario deleting-sandbox-after-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -210,12 +210,12 @@ scenario deleting-top-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . ] # delete the second sandbox assume-console [ @@ -227,12 +227,12 @@ scenario deleting-top-sandbox-after-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -256,12 +256,12 @@ scenario deleting-final-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # delete the second sandbox assume-console [ @@ -273,13 +273,13 @@ scenario deleting-final-sandbox-after-scroll [ # implicitly scroll up to first sandbox screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -301,15 +301,15 @@ scenario deleting-updates-sandbox-count [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # delete the second sandbox, then try to scroll down twice assume-console [ @@ -323,11 +323,11 @@ scenario deleting-updates-sandbox-count [ # shouldn't go past last sandbox screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎0 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊0 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] diff --git a/edit/008-sandbox-edit.mu b/edit/008-sandbox-edit.mu index 5e826be0..8f48a2e7 100644 --- a/edit/008-sandbox-edit.mu +++ b/edit/008-sandbox-edit.mu @@ -17,13 +17,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # click at left edge of 'edit' button assume-console [ @@ -35,12 +35,12 @@ recipe foo [ # it pops back into editor screen-should-contain [ . run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎ . - .] ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊ . + .] ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] # cursor should be in the right place assume-console [ @@ -51,12 +51,12 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ╎0foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎ . - .] ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊0foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊ . + .] ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -77,13 +77,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # click at right edge of 'edit' button (just before 'copy') assume-console [ @@ -95,12 +95,12 @@ recipe foo [ # it pops back into editor screen-should-contain [ . run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎ . - .] ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊ . + .] ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] # cursor should be in the right place assume-console [ @@ -111,12 +111,12 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - . ╎0foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎ . - .] ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊0foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊ . + .] ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -187,18 +187,18 @@ scenario sandbox-with-print-can-be-edited [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎print-integer screen, 4 . - . ╎screen: . - . ╎ .4 . . - . ╎ . . . - . ╎ . . . - . ╎ . . . - . ╎ . . . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊print-integer screen, 4 . + . ┊screen: . + . ┊ .4 . . + . ┊ . . . + . ┊ . . . + . ┊ . . . + . ┊ . . . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # edit the sandbox assume-console [ @@ -209,10 +209,10 @@ scenario sandbox-with-print-can-be-edited [ ] screen-should-contain [ . run (F4) . - . ╎print-integer screen, 4 . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . - . ╎ . + . ┊print-integer screen, 4 . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . ] ] @@ -236,12 +236,12 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # edit the second sandbox assume-console [ @@ -253,13 +253,13 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - . ╎add 2, 2 . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊add 2, 2 . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -281,15 +281,15 @@ scenario editing-sandbox-updates-sandbox-count [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # edit the second sandbox, then resave assume-console [ @@ -302,15 +302,15 @@ scenario editing-sandbox-updates-sandbox-count [ # no change in contents screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 1, 1 . - . ╎2 . - . ╎─────────────────────────────────────────────────. - . ╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 1, 1 . + . ┊2 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . ] # now try to scroll past end assume-console [ @@ -324,11 +324,11 @@ scenario editing-sandbox-updates-sandbox-count [ # screen should show just final sandbox with the right index (1) screen-should-contain [ . run (F4) . - . ╎─────────────────────────────────────────────────. - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎1 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊1 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] diff --git a/edit/009-sandbox-test.mu b/edit/009-sandbox-test.mu index 385fced4..460b90aa 100644 --- a/edit/009-sandbox-test.mu +++ b/edit/009-sandbox-test.mu @@ -17,13 +17,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # click on the '4' in the result assume-console [ @@ -50,15 +50,15 @@ recipe foo [ ] screen-should-contain [ . run (F4) . - .␣ ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . reply 4 ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . - . ╎ . - . ╎ . + .␣ ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . reply 4 ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . + . ┊ . ] # now change the result # then rerun diff --git a/edit/010-sandbox-trace.mu b/edit/010-sandbox-trace.mu index 0175935d..3837a0b1 100644 --- a/edit/010-sandbox-trace.mu +++ b/edit/010-sandbox-trace.mu @@ -17,12 +17,12 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . stash [abc] ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . stash [abc] ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # click on the code in the sandbox assume-console [ @@ -36,19 +36,19 @@ recipe foo [ # trace now printed and cursor shouldn't have budged screen-should-contain [ . run (F4) . - .␣ ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . stash [abc] ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎abc . + .␣ ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . stash [abc] ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊abc . ] screen-should-contain-in-color 245/grey, [ . . - . ╎ . - . ╎─────────────────────────────────────────────────. - . ╎ . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎abc . + . ┊ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊abc . ] # click again on the same region assume-console [ @@ -61,12 +61,12 @@ recipe foo [ # trace hidden again screen-should-contain [ . run (F4) . - .␣ ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . stash [abc] ╎0 edit copy delete . - .] ╎foo . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . + .␣ ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . stash [abc] ┊0 edit copy delete . + .] ┊foo . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -88,13 +88,13 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . stash [abc] ╎0 edit copy delete . - . reply 4 ╎foo . - .] ╎4 . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . stash [abc] ┊0 edit copy delete . + . reply 4 ┊foo . + .] ┊4 . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # click on the code in the sandbox assume-console [ @@ -106,15 +106,15 @@ recipe foo [ # trace now printed above result screen-should-contain [ . run (F4) . - . ╎ . - .recipe foo [ ╎─────────────────────────────────────────────────. - . stash [abc] ╎0 edit copy delete . - . reply 4 ╎foo . - .] ╎abc . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎8 instructions run . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . stash [abc] ┊0 edit copy delete . + . reply 4 ┊foo . + .] ┊abc . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊8 instructions run . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -131,11 +131,11 @@ scenario clicking-on-app-trace-does-nothing [ event-loop screen, console, env screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎stash 123456789 . - . ╎123456789 . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊stash 123456789 . + . ┊123456789 . ] # click on the stash under the edit-button region (or any of the other buttons, really) assume-console [ @@ -147,11 +147,11 @@ scenario clicking-on-app-trace-does-nothing [ # no change; doesn't die screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎stash 123456789 . - . ╎123456789 . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊stash 123456789 . + . ┊123456789 . ] ] diff --git a/edit/011-errors.mu b/edit/011-errors.mu index 46484176..b1751bd8 100644 --- a/edit/011-errors.mu +++ b/edit/011-errors.mu @@ -131,15 +131,15 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . get 123:num, foo:offset ╎ . - .] ╎ . - .foo: unknown element 'foo' in container 'number' ╎ . - .foo: first ingredient of 'get' should be a contai↩╎ . - .ner, but got '123:num' ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . get 123:num, foo:offset ┊ . + .] ┊ . + .foo: unknown element 'foo' in container 'number' ┊ . + .foo: first ingredient of 'get' should be a contai↩┊ . + .ner, but got '123:num' ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] screen-should-contain-in-color 1/red, [ . errors found . @@ -226,13 +226,13 @@ scenario run-hides-errors-from-past-sandboxes [ # error should disappear screen-should-contain [ . run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎add 2, 2 . - . ╎4 . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊add 2, 2 . + . ┊4 . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -254,14 +254,14 @@ z <- add x, y event-loop screen, console, env screen-should-contain [ . errors found (0) run (F4) . - .recipe foo x:_elem -> z:_elem [ ╎ . - .local-scope ╎─────────────────────────────────────────────────. - .load-ingredients ╎0 edit copy delete . - .y:&:num <- copy 0 ╎foo 2 . - .z <- add x, y ╎foo_2: 'add' requires number ingredients, but go↩. - .] ╎t 'y' . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . + .recipe foo x:_elem -> z:_elem [ ┊ . + .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .load-ingredients ┊0 edit copy delete . + .y:&:num <- copy 0 ┊foo 2 . + .z <- add x, y ┊foo_2: 'add' requires number ingredients, but go↩. + .] ┊t 'y' . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] # now rerun everything assume-console [ @@ -273,14 +273,14 @@ z <- add x, y # error should remain unchanged screen-should-contain [ . errors found (0) run (F4) . - .recipe foo x:_elem -> z:_elem [ ╎ . - .local-scope ╎─────────────────────────────────────────────────. - .load-ingredients ╎0 edit copy delete . - .y:&:num <- copy 0 ╎foo 2 . - .z <- add x, y ╎foo_3: 'add' requires number ingredients, but go↩. - .] ╎t 'y' . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . + .recipe foo x:_elem -> z:_elem [ ┊ . + .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .load-ingredients ┊0 edit copy delete . + .y:&:num <- copy 0 ┊foo 2 . + .z <- add x, y ┊foo_3: 'add' requires number ingredients, but go↩. + .] ┊t 'y' . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -362,11 +362,11 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . x <- copy 0 ╎ . - .] ╎ . - .foo: missing type for 'x' in 'x <- copy 0' ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . x <- copy 0 ┊ . + .] ┊ . + .foo: missing type for 'x' in 'x <- copy 0' ┊ . ] ] @@ -388,13 +388,13 @@ recipe foo \\[ ] screen-should-contain [ . errors found run (F4) . - . ╎foo . - .recipe foo \\[ ╎─────────────────────────────────────────────────. - . x <- copy 0 ╎ . - . ╎ . - .9: unbalanced '\\[' for recipe ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo \\[ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . x <- copy 0 ┊ . + . ┊ . + .9: unbalanced '\\[' for recipe ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -417,16 +417,16 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . local-scope ╎ . - . x:&:point <- new point:type ╎ . - . get x:&:point, 1:offset ╎ . - .] ╎ . - .foo: first ingredient of 'get' should be a contai↩╎ . - .ner, but got 'x:&:point' ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . local-scope ┊ . + . x:&:point <- new point:type ┊ . + . get x:&:point, 1:offset ┊ . + .] ┊ . + .foo: first ingredient of 'get' should be a contai↩┊ . + .ner, but got 'x:&:point' ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -450,17 +450,17 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . local-scope ╎ . - . x:num <- copy 0 ╎ . - . y:&:point <- new point:type ╎ . - . get *y:&:point, x:num ╎ . - .] ╎ . - .foo: second ingredient of 'get' should have type ↩╎ . - .'offset', but got 'x:num' ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . local-scope ┊ . + . x:num <- copy 0 ┊ . + . y:&:point <- new point:type ┊ . + . get *y:&:point, x:num ┊ . + .] ┊ . + .foo: second ingredient of 'get' should have type ↩┊ . + .'offset', but got 'x:num' ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -481,14 +481,14 @@ recipe foo [ event-loop screen, console, env screen-should-contain [ . errors found run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . local-scope ╎ . - . x:num <- copy y:num ╎ . - .] ╎ . - .foo: use before set: 'y' ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . local-scope ┊ . + . x:num <- copy y:num ┊ . + .] ┊ . + .foo: use before set: 'y' ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] # rerun the file, check for the same error assume-console [ @@ -499,14 +499,14 @@ recipe foo [ ] screen-should-contain [ . errors found run (F4) . - . ╎foo . - .recipe foo [ ╎─────────────────────────────────────────────────. - . local-scope ╎ . - . x:num <- copy y:num ╎ . - .] ╎ . - .foo: use before set: 'y' ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎ . - . ╎ . + . ┊foo . + .recipe foo [ ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . local-scope ┊ . + . x:num <- copy y:num ┊ . + .] ┊ . + .foo: use before set: 'y' ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊ . + . ┊ . ] ] @@ -527,15 +527,15 @@ scenario run-instruction-and-print-errors [ # check that screen prints error message in red screen-should-contain [ . errors found (0) run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎get 1234:num, foo:offset . - . ╎unknown element 'foo' in container 'number' . - . ╎first ingredient of 'get' should be a container,↩. - . ╎ but got '1234:num' . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊get 1234:num, foo:offset . + . ┊unknown element 'foo' in container 'number' . + . ┊first ingredient of 'get' should be a container,↩. + . ┊ but got '1234:num' . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] screen-should-contain-in-color 7/white, [ . . @@ -560,15 +560,15 @@ scenario run-instruction-and-print-errors [ ] screen-should-contain-in-color 245/grey, [ . . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . - . ╎ . - . ╎ . - . ╎ ↩. - . ╎ . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . + . ┊ . + . ┊ . + . ┊ ↩. + . ┊ . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -590,15 +590,15 @@ scenario run-instruction-and-print-errors-only-once [ # check that screen prints error message just once screen-should-contain [ . errors found (0) run (F4) . - . ╎ . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎0 edit copy delete . - . ╎get 1234:num, foo:offset . - . ╎unknown element 'foo' in container 'number' . - . ╎first ingredient of 'get' should be a container,↩. - . ╎ but got '1234:num' . - . ╎─────────────────────────────────────────────────. - . ╎ . + . ┊ . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊0 edit copy delete . + . ┊get 1234:num, foo:offset . + . ┊unknown element 'foo' in container 'number' . + . ┊first ingredient of 'get' should be a container,↩. + . ┊ but got '1234:num' . + . ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -623,13 +623,13 @@ scenario sandbox-can-handle-infinite-loop [ ] screen-should-contain [ . errors found (0) run (F4) . - .recipe foo [ ╎ . - . { ╎─────────────────────────────────────────────────. - . loop ╎0 edit copy delete . - . } ╎foo . - .] ╎took too long! . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. - . ╎ . + .recipe foo [ ┊ . + . { ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . loop ┊0 edit copy delete . + . } ┊foo . + .] ┊took too long! . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + . ┊ . ] ] @@ -655,14 +655,14 @@ reply b # screen prints error message screen-should-contain [ . errors found (0) run (F4) . - .recipe foo [ ╎ . - .local-scope ╎─────────────────────────────────────────────────. - .a:num <- next-ingredient ╎0 edit copy delete . - .b:num <- next-ingredient ╎foo 4, 0 . - .stash [dividing by], b ╎foo: divide by zero in '_, c:num <- divide-with-↩. - ._, c:num <- divide-with-remainder a, b ╎remainder a, b' . - .reply b ╎─────────────────────────────────────────────────. - .] ╎ . + .recipe foo [ ┊ . + .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .a:num <- next-ingredient ┊0 edit copy delete . + .b:num <- next-ingredient ┊foo 4, 0 . + .stash [dividing by], b ┊foo: divide by zero in '_, c:num <- divide-with-↩. + ._, c:num <- divide-with-remainder a, b ┊remainder a, b' . + .reply b ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .] ┊ . ] # click on the call in the sandbox assume-console [ @@ -674,14 +674,14 @@ reply b # screen should expand trace screen-should-contain [ . errors found (0) run (F4) . - .recipe foo [ ╎ . - .local-scope ╎─────────────────────────────────────────────────. - .a:num <- next-ingredient ╎0 edit copy delete . - .b:num <- next-ingredient ╎foo 4, 0 . - .stash [dividing by], b ╎dividing by 0 . - ._, c:num <- divide-with-remainder a, b ╎14 instructions run . - .reply b ╎foo: divide by zero in '_, c:num <- divide-with-↩. - .] ╎remainder a, b' . - .╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╎─────────────────────────────────────────────────. + .recipe foo [ ┊ . + .local-scope ┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. + .a:num <- next-ingredient ┊0 edit copy delete . + .b:num <- next-ingredient ┊foo 4, 0 . + .stash [dividing by], b ┊dividing by 0 . + ._, c:num <- divide-with-remainder a, b ┊14 instructions run . + .reply b ┊foo: divide by zero in '_, c:num <- divide-with-↩. + .] ┊remainder a, b' . + .┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┊━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. ] ] diff --git a/edit/012-editor-undo.mu b/edit/012-editor-undo.mu index 23fd53bc..9ea67e03 100644 --- a/edit/012-editor-undo.mu +++ b/edit/012-editor-undo.mu @@ -119,7 +119,7 @@ scenario editor-can-undo-typing [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -132,7 +132,7 @@ scenario editor-can-undo-typing [ screen-should-contain [ . . .1 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -249,7 +249,7 @@ scenario editor-can-undo-typing-multiple [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -268,7 +268,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .012a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo @@ -282,7 +282,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -295,7 +295,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .3a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -316,7 +316,7 @@ scenario editor-can-undo-typing-enter [ . . . abc . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # line is indented @@ -343,7 +343,7 @@ scenario editor-can-undo-typing-enter [ screen-should-contain [ . . . abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be at end of line @@ -356,7 +356,7 @@ scenario editor-can-undo-typing-enter [ screen-should-contain [ . . . abc1 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -377,7 +377,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -391,7 +391,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .012a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -404,7 +404,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .0123a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -441,7 +441,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -455,7 +455,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . .012 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -468,7 +468,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . .0123 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -497,7 +497,7 @@ ghi] .0abc . .def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] # redo assume-console [ @@ -512,7 +512,7 @@ ghi] .0abc . .def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -537,7 +537,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . efg . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -564,7 +564,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo again @@ -584,7 +584,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . ab cd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo again @@ -604,7 +604,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -624,7 +624,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . ab cd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo again @@ -645,7 +645,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo again @@ -666,7 +666,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . efg . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -713,7 +713,7 @@ ghi] .1abc . .def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -869,7 +869,7 @@ ghi] .abc . .def . .g1hi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -920,7 +920,7 @@ ghi] .abc . .def . .g1hi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -965,7 +965,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1068,7 +1068,7 @@ f] .d . .e . .f . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1103,7 +1103,7 @@ f] .d . .e . .f . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1148,7 +1148,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1193,7 +1193,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1238,7 +1238,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1283,7 +1283,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1382,7 +1382,7 @@ ghi] .abc . .def . .g1hi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1417,7 +1417,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .adbc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1437,7 +1437,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1457,7 +1457,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1477,7 +1477,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1497,7 +1497,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1517,7 +1517,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor moves @@ -1538,7 +1538,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .adbc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1565,7 +1565,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1590,7 +1590,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -1609,7 +1609,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1713,7 +1713,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .af . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1738,7 +1738,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .adef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo backspace @@ -1757,7 +1757,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abdef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo first delete @@ -1776,7 +1776,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abcdef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo first delete @@ -1796,7 +1796,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abdef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo backspace @@ -1816,7 +1816,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .adef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo deletes @@ -1836,7 +1836,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .af . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1901,7 +1901,7 @@ def] . . .a . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1921,7 +1921,7 @@ def] . . .abc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1942,7 +1942,7 @@ def] . . .a . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1962,7 +1962,7 @@ def] . . .a1 . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -2004,7 +2004,7 @@ def] . . .c . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -2024,7 +2024,7 @@ def] . . .abc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -2045,7 +2045,7 @@ def] . . .c . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -2065,7 +2065,7 @@ def] . . .1c . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -2104,7 +2104,7 @@ scenario editor-can-undo-and-redo-ctrl-u-2 [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] diff --git a/sandbox/002-typing.mu b/sandbox/002-typing.mu index 9fb5042e..2f94f362 100644 --- a/sandbox/002-typing.mu +++ b/sandbox/002-typing.mu @@ -275,7 +275,7 @@ def editor-render screen:&:screen, editor:&:editor -> screen:&:screen, editor:&: row:num, column:num <- render screen, editor clear-line-until screen, right row <- add row, 1 - draw-horizontal screen, row, left, right, 9548/horizontal-dashed + draw-horizontal screen, row, left, right, 9480/horizontal-dotted row <- add row, 1 clear-screen-from screen, row, left, left, right ] @@ -292,7 +292,7 @@ scenario editor-handles-empty-event-queue [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -314,7 +314,7 @@ scenario editor-handles-mouse-clicks [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -407,7 +407,7 @@ scenario editor-handles-mouse-clicks-outside-column [ screen-should-contain [ . . .abc . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] memory-should-contain [ @@ -454,7 +454,7 @@ scenario editor-inserts-characters-into-empty-editor [ screen-should-contain [ . . .abc . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] check-trace-count-for-label 3, [print-character] @@ -478,7 +478,7 @@ scenario editor-inserts-characters-at-cursor [ screen-should-contain [ . . .0adbc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 7, [print-character] # 4 for first letter, 3 for second @@ -500,7 +500,7 @@ scenario editor-inserts-characters-at-cursor-2 [ screen-should-contain [ . . .abcd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -525,7 +525,7 @@ d] . . .abce . .d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -547,7 +547,7 @@ scenario editor-inserts-characters-at-cursor-3 [ screen-should-contain [ . . .abcd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -572,7 +572,7 @@ d] . . .abc . .de . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -597,7 +597,7 @@ d] . . .abc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] @@ -617,7 +617,7 @@ scenario editor-moves-cursor-after-inserting-characters [ screen-should-contain [ . . .01ab . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] ] @@ -640,7 +640,7 @@ scenario editor-wraps-line-on-insert [ screen-should-contain [ . . .eabc . - .╌╌╌╌╌. + .┈┈┈┈┈. . . . . ] @@ -656,7 +656,7 @@ scenario editor-wraps-line-on-insert [ . . .efab↩. .c . - .╌╌╌╌╌. + .┈┈┈┈┈. . . ] ] @@ -762,7 +762,7 @@ scenario editor-wraps-cursor-after-inserting-characters-in-middle-of-line [ . . .abcf↩ . .de . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] memory-should-contain [ @@ -796,7 +796,7 @@ xyz] .abcd↩ . .e . .xyz . - .╌╌╌╌╌ . + .┈┈┈┈┈ . ] ] @@ -817,7 +817,7 @@ scenario editor-wraps-cursor-to-left-margin [ . . . abc0↩ . . 1de . - . ╌╌╌╌╌ . + . ┈┈┈┈┈ . . . ] memory-should-contain [ @@ -851,7 +851,7 @@ scenario editor-moves-cursor-down-after-inserting-newline [ . . .0 . .1abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -957,7 +957,7 @@ scenario editor-moves-cursor-down-after-inserting-newline-2 [ . . . 0 . . 1abc . - . ╌╌╌╌╌╌╌╌╌. + . ┈┈┈┈┈┈┈┈┈. . . ] ] @@ -985,7 +985,7 @@ scenario editor-clears-previous-line-completely-after-inserting-newline [ . . .abcd↩ . .e . - .╌╌╌╌╌ . + .┈┈┈┈┈ . ] ] diff --git a/sandbox/003-shortcuts.mu b/sandbox/003-shortcuts.mu index 005cefd6..7c5d0df2 100644 --- a/sandbox/003-shortcuts.mu +++ b/sandbox/003-shortcuts.mu @@ -57,7 +57,7 @@ scenario editor-handles-backspace-key [ screen-should-contain [ . . .bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -229,7 +229,7 @@ cd] screen-should-contain [ . . .abcd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -260,7 +260,7 @@ ghi jkl] . . .abc defgh↩. .i jkl . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -276,7 +276,7 @@ scenario editor-wraps-long-lines-on-backspace [ . . .abc def↩ . . ghij . - .╌╌╌╌╌╌╌╌ . + .┈┈┈┈┈┈┈┈ . ] $clear-trace # position the cursor somewhere in the middle of the top screen line and hit backspace @@ -292,7 +292,7 @@ scenario editor-wraps-long-lines-on-backspace [ . . .abcdef ↩ . .ghij . - .╌╌╌╌╌╌╌╌ . + .┈┈┈┈┈┈┈┈ . . . ] ] @@ -314,7 +314,7 @@ scenario editor-handles-delete-key [ screen-should-contain [ . . .bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 3, [print-character] # length of original line to overwrite @@ -328,7 +328,7 @@ scenario editor-handles-delete-key [ screen-should-contain [ . . .c . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] # new length to overwrite @@ -404,7 +404,7 @@ scenario editor-moves-cursor-right-with-key [ screen-should-contain [ . . .a0bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 3, [print-character] # 0 and following characters @@ -513,7 +513,7 @@ d] . . .abc . .0d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] # new length of second line @@ -540,7 +540,7 @@ d] . . . abc . . 0d . - . ╌╌╌╌╌╌╌╌╌. + . ┈┈┈┈┈┈┈┈┈. . . ] ] @@ -564,7 +564,7 @@ scenario editor-moves-cursor-to-next-wrapped-line-with-right-arrow [ . . .abcd↩ . .ef . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] memory-should-contain [ @@ -630,7 +630,7 @@ scenario editor-moves-cursor-to-next-wrapped-line-with-right-arrow-3 [ . . . abcd↩ . . ef . - . ╌╌╌╌╌ . + . ┈┈┈┈┈ . . . ] memory-should-contain [ @@ -662,7 +662,7 @@ d] . . .abc . .0d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 2, [print-character] @@ -689,7 +689,7 @@ scenario editor-moves-cursor-left-with-key [ screen-should-contain [ . . .a0bc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 3, [print-character] @@ -765,7 +765,7 @@ g] .abc . .def0 . .g . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] check-trace-count-for-label 1, [print-character] # just the '0' ] @@ -794,7 +794,7 @@ g] .0abc . .def . .g . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] check-trace-count-for-label 4, [print-character] # length of first line ] @@ -823,7 +823,7 @@ d] .abc . .0 . .d . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] check-trace-count-for-label 1, [print-character] # just the '0' ] @@ -839,7 +839,7 @@ scenario editor-moves-across-screen-lines-across-wrap-with-left-arrow [ . . .abcd↩ . .ef . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] # position cursor right after empty line @@ -873,7 +873,7 @@ g] .abcd↩ . .ef . .g . - .╌╌╌╌╌ . + .┈┈┈┈┈ . ] # position cursor right after empty line assume-console [ @@ -905,7 +905,7 @@ e] . . .abcd . .e . - .╌╌╌╌╌ . + .┈┈┈┈┈ . . . ] # position cursor right after empty line @@ -961,7 +961,7 @@ def] . . .a0bc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1077,7 +1077,7 @@ def] . . .ab0 . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1114,7 +1114,7 @@ def] . . .0 . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1155,7 +1155,7 @@ ghi] .abc . .0def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1194,7 +1194,7 @@ def] . . .abc . .0def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1285,7 +1285,7 @@ de] . . .abc . .de0 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1488,7 +1488,7 @@ scenario editor-moves-to-end-of-line-with-ctrl-e [ . . .123z . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] check-trace-count-for-label 1, [print-character] @@ -1639,7 +1639,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u [ . . .123 . .6 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1703,7 +1703,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u-2 [ . . .3 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1727,7 +1727,7 @@ scenario editor-deletes-to-start-of-line-with-ctrl-u-3 [ . . . . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1751,7 +1751,7 @@ scenario editor-deletes-to-start-of-final-line-with-ctrl-u [ . . .123 . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1777,7 +1777,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k [ . . .1 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1833,7 +1833,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-2 [ . . .123 . .4 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1857,7 +1857,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-3 [ . . .12 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1881,7 +1881,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-4 [ . . .123 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1905,7 +1905,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-5 [ . . .123 . .45 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1929,7 +1929,7 @@ scenario editor-deletes-to-end-of-line-with-ctrl-k-6 [ . . .123 . .456 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] diff --git a/sandbox/004-programming-environment.mu b/sandbox/004-programming-environment.mu index af136deb..f39f0b35 100644 --- a/sandbox/004-programming-environment.mu +++ b/sandbox/004-programming-environment.mu @@ -269,7 +269,7 @@ def render-sandbox-side screen:&:screen, env:&:environment, {render-editor: (rec clear-line-until screen, right row <- add row, 1 # draw solid line after code (you'll see why in later layers) - draw-horizontal screen, row, left, right + draw-horizontal screen, row, left, right, 9473/horizontal row <- add row, 1 clear-screen-from screen, row, left, left, right ] diff --git a/sandbox/005-sandbox.mu b/sandbox/005-sandbox.mu index 45dc259c..cd37e7a8 100644 --- a/sandbox/005-sandbox.mu +++ b/sandbox/005-sandbox.mu @@ -45,12 +45,12 @@ scenario run-and-show-results [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .divide-with-remainder 11, 3 . .3 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] screen-should-contain-in-color 7/white, [ @@ -67,12 +67,12 @@ scenario run-and-show-results [ screen-should-contain-in-color 245/grey, [ . . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . .3 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # run another command @@ -88,16 +88,16 @@ scenario run-and-show-results [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .divide-with-remainder 11, 3 . .3 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -236,7 +236,7 @@ def! render-sandbox-side screen:&:screen, env:&:environment, {render-editor: (re row <- add row, 1 } # render sandboxes - draw-horizontal screen, row, left, right + draw-horizontal screen, row, left, right, 9473/horizontal-double sandbox:&:sandbox <- get *env, sandbox:offset row, screen <- render-sandboxes screen, sandbox, left, right, row, render-from, 0, env clear-rest-of-screen screen, row, left, right @@ -283,7 +283,7 @@ def render-sandboxes screen:&:screen, sandbox:&:sandbox, left:num, right:num, ro at-bottom?:bool <- greater-or-equal row, screen-height return-if at-bottom? # draw solid line after sandbox - draw-horizontal screen, row, left, right + draw-horizontal screen, row, left, right, 9473/horizontal-double } # if hidden, reset row attributes { @@ -521,11 +521,11 @@ reply z screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # make a change (incrementing one of the args to 'add'), then rerun @@ -545,11 +545,11 @@ return z screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .5 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -571,7 +571,7 @@ scenario run-instruction-manages-screen-per-sandbox [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .print-integer screen, 4 . .screen: . @@ -580,7 +580,7 @@ scenario run-instruction-manages-screen-per-sandbox [ . . . . . . . . . . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -639,11 +639,11 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-down' @@ -659,11 +659,11 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .␣ edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-up' @@ -679,11 +679,11 @@ scenario scrolling-down-past-bottom-of-sandbox-editor [ screen-should-contain [ . run (F4) . .␣ . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -781,15 +781,15 @@ scenario scrolling-through-multiple-sandboxes [ screen-should-contain [ . run (F4) . .␣ . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-down' @@ -805,15 +805,15 @@ scenario scrolling-through-multiple-sandboxes [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .␣ edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-down' again @@ -826,11 +826,11 @@ scenario scrolling-through-multiple-sandboxes [ # just second sandbox displayed screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-down' again @@ -843,11 +843,11 @@ scenario scrolling-through-multiple-sandboxes [ # no change screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-up' @@ -860,15 +860,15 @@ scenario scrolling-through-multiple-sandboxes [ # back to displaying both sandboxes without editor screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-up' again @@ -884,15 +884,15 @@ scenario scrolling-through-multiple-sandboxes [ screen-should-contain [ . run (F4) . .␣ . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-up' again @@ -908,15 +908,15 @@ scenario scrolling-through-multiple-sandboxes [ screen-should-contain [ . run (F4) . .␣ . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -938,11 +938,11 @@ scenario scrolling-manages-sandbox-index-correctly [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-down' and 'page-up' a couple of times. sandbox index should be stable @@ -956,11 +956,11 @@ scenario scrolling-manages-sandbox-index-correctly [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-up' again @@ -974,11 +974,11 @@ scenario scrolling-manages-sandbox-index-correctly [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # hit 'page-down' @@ -992,11 +992,11 @@ scenario scrolling-manages-sandbox-index-correctly [ # cursor moves to first sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . # no change .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] diff --git a/sandbox/006-sandbox-copy.mu b/sandbox/006-sandbox-copy.mu index fdc1409a..784ae1eb 100644 --- a/sandbox/006-sandbox-copy.mu +++ b/sandbox/006-sandbox-copy.mu @@ -13,11 +13,11 @@ scenario copy-a-sandbox-to-editor [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . . . @@ -33,11 +33,11 @@ scenario copy-a-sandbox-to-editor [ screen-should-contain [ . run (F4) . .add 1, 1 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . . . @@ -52,11 +52,11 @@ scenario copy-a-sandbox-to-editor [ screen-should-contain [ . run (F4) . .0add 1, 1 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . . . @@ -75,11 +75,11 @@ scenario copy-a-sandbox-to-editor-2 [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . . . @@ -95,11 +95,11 @@ scenario copy-a-sandbox-to-editor-2 [ screen-should-contain [ . run (F4) . .add 1, 1 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . . . @@ -114,11 +114,11 @@ scenario copy-a-sandbox-to-editor-2 [ screen-should-contain [ . run (F4) . .0add 1, 1 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . . . @@ -226,11 +226,11 @@ scenario copy-fails-if-sandbox-editor-not-empty [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # type something into the sandbox editor, then click on the 'copy' button @@ -246,11 +246,11 @@ scenario copy-fails-if-sandbox-editor-not-empty [ screen-should-contain [ . run (F4) . .0 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # cursor should be in the right place @@ -263,11 +263,11 @@ scenario copy-fails-if-sandbox-editor-not-empty [ screen-should-contain [ . run (F4) . .01 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] diff --git a/sandbox/007-sandbox-delete.mu b/sandbox/007-sandbox-delete.mu index dba40a8f..ff04344f 100644 --- a/sandbox/007-sandbox-delete.mu +++ b/sandbox/007-sandbox-delete.mu @@ -16,16 +16,16 @@ scenario deleting-sandboxes [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .divide-with-remainder 11, 3 . .3 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # delete second sandbox by clicking on left edge of 'delete' button @@ -38,11 +38,11 @@ scenario deleting-sandboxes [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # delete first sandbox by clicking at right edge of 'delete' button @@ -55,7 +55,7 @@ scenario deleting-sandboxes [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -162,15 +162,15 @@ scenario deleting-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. ] # delete the second sandbox assume-console [ @@ -182,11 +182,11 @@ scenario deleting-sandbox-after-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -210,15 +210,15 @@ scenario deleting-top-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. ] # delete the second sandbox assume-console [ @@ -230,11 +230,11 @@ scenario deleting-top-sandbox-after-scroll [ # second sandbox shows in editor; scroll resets to display first sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -259,11 +259,11 @@ scenario deleting-final-sandbox-after-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # delete the second sandbox @@ -277,11 +277,11 @@ scenario deleting-final-sandbox-after-scroll [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -305,11 +305,11 @@ scenario deleting-updates-sandbox-count [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . @@ -326,11 +326,11 @@ scenario deleting-updates-sandbox-count [ # shouldn't go past last sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] diff --git a/sandbox/008-sandbox-edit.mu b/sandbox/008-sandbox-edit.mu index 42778faa..533e664c 100644 --- a/sandbox/008-sandbox-edit.mu +++ b/sandbox/008-sandbox-edit.mu @@ -13,11 +13,11 @@ scenario clicking-on-a-sandbox-moves-it-to-editor [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # click somewhere on the sandbox @@ -31,7 +31,7 @@ scenario clicking-on-a-sandbox-moves-it-to-editor [ screen-should-contain [ . run (F4) . .add 2, 2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # cursor should be in the right place @@ -44,7 +44,7 @@ scenario clicking-on-a-sandbox-moves-it-to-editor [ screen-should-contain [ . run (F4) . .0add 2, 2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -114,7 +114,7 @@ scenario sandbox-with-print-can-be-edited [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .print-integer screen, 4 . .screen: . @@ -123,7 +123,7 @@ scenario sandbox-with-print-can-be-edited [ . . . . . . . . . . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # edit the sandbox @@ -136,7 +136,7 @@ scenario sandbox-with-print-can-be-edited [ screen-should-contain [ . run (F4) . .print-integer screen, 4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . ] @@ -162,11 +162,11 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ event-loop screen, console, env screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # edit the second sandbox @@ -180,11 +180,11 @@ scenario editing-sandbox-after-scrolling-resets-scroll [ screen-should-contain [ . run (F4) . .add 2, 2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -208,11 +208,11 @@ scenario editing-sandbox-updates-sandbox-count [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . ] # edit the second sandbox, then resave @@ -227,11 +227,11 @@ scenario editing-sandbox-updates-sandbox-count [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 1, 1 . .2 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . ] # now try to scroll past end @@ -246,11 +246,11 @@ scenario editing-sandbox-updates-sandbox-count [ # screen should show just final sandbox screen-should-contain [ . run (F4) . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .1 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] diff --git a/sandbox/009-sandbox-test.mu b/sandbox/009-sandbox-test.mu index f27b4a06..eb7fc274 100644 --- a/sandbox/009-sandbox-test.mu +++ b/sandbox/009-sandbox-test.mu @@ -18,11 +18,11 @@ recipe foo [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # click on the '4' in the result @@ -50,11 +50,11 @@ recipe foo [ screen-should-contain [ . run (F4) . .␣ . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # now change the result diff --git a/sandbox/010-sandbox-trace.mu b/sandbox/010-sandbox-trace.mu index 15a4f931..5116b43b 100644 --- a/sandbox/010-sandbox-trace.mu +++ b/sandbox/010-sandbox-trace.mu @@ -13,10 +13,10 @@ scenario sandbox-click-on-code-toggles-app-trace [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .stash [abc] . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # click on the code in the sandbox @@ -32,7 +32,7 @@ scenario sandbox-click-on-code-toggles-app-trace [ screen-should-contain [ . run (F4) . .␣ . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .stash [abc] . .abc . @@ -40,7 +40,7 @@ scenario sandbox-click-on-code-toggles-app-trace [ screen-should-contain-in-color 245/grey, [ . . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . . . .abc . @@ -57,10 +57,10 @@ scenario sandbox-click-on-code-toggles-app-trace [ screen-should-contain [ . run (F4) . .␣ . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .stash [abc] . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -80,12 +80,12 @@ add 2, 2] screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .stash [abc] . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # click on the code in the sandbox @@ -99,14 +99,14 @@ add 2, 2] screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .stash [abc] . .add 2, 2 . .abc . .7 instructions run . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. ] ] @@ -124,7 +124,7 @@ scenario clicking-on-app-trace-does-nothing [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .stash 123456789 . .123456789 . @@ -140,7 +140,7 @@ scenario clicking-on-app-trace-does-nothing [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .stash 123456789 . .123456789 . diff --git a/sandbox/011-errors.mu b/sandbox/011-errors.mu index bd6d4e7c..b420ed6b 100644 --- a/sandbox/011-errors.mu +++ b/sandbox/011-errors.mu @@ -142,7 +142,7 @@ recipe foo [ screen-should-contain [ . errors found run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .foo: unknown element 'foo' in container 'number' . @@ -224,11 +224,11 @@ scenario run-hides-errors-from-past-sandboxes [ screen-should-contain [ . run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .add 2, 2 . .4 . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -252,12 +252,12 @@ z <- add x, y screen-should-contain [ . errors found (0) run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo 2 . .foo_2: 'add' requires number ingredients, but got↩. . 'y' . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # now rerun everything @@ -271,12 +271,12 @@ z <- add x, y screen-should-contain [ . errors found (0) run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo 2 . .foo_3: 'add' requires number ingredients, but got↩. . 'y' . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -348,7 +348,7 @@ recipe foo [ screen-should-contain [ . errors found run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .foo: missing type for 'x' in 'x <- copy 0' . @@ -374,12 +374,12 @@ recipe foo \\[ screen-should-contain [ . errors found run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .9: unbalanced '\\[' for recipe . .9: unbalanced '\\[' for recipe . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -404,7 +404,7 @@ recipe foo [ screen-should-contain [ . errors found run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .foo: first ingredient of 'get' should be a contai↩. @@ -433,7 +433,7 @@ recipe foo [ screen-should-contain [ . errors found run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .foo: second ingredient of 'get' should have type ↩. @@ -459,7 +459,7 @@ recipe foo [ screen-should-contain [ . errors found run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .foo: use before set: 'y' . @@ -474,7 +474,7 @@ recipe foo [ screen-should-contain [ . errors found run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo . .foo: use before set: 'y' . @@ -496,12 +496,12 @@ scenario run-instruction-and-print-errors [ screen-should-contain [ . errors found (0) run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .get 1:&:point, 1:offset . .first ingredient of 'get' should be a container, ↩. .but got '1:&:point' . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] screen-should-contain-in-color 1/red, [ @@ -536,13 +536,13 @@ scenario run-instruction-and-print-errors-only-once [ screen-should-contain [ . errors found (0) run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .get 1234:num, foo:offset . .unknown element 'foo' in container 'number' . .first ingredient of 'get' should be a container, ↩. .but got '1234:num' . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -566,13 +566,13 @@ loop screen-should-contain [ . errors found (0) run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .{ . .loop . .} . .took too long! . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] @@ -600,12 +600,12 @@ reply b screen-should-contain [ . errors found (0) run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo 4, 0 . .foo: divide by zero in '_, c:num <- divide-with-r↩. .emainder a, b' . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] # click on the call in the sandbox @@ -619,14 +619,14 @@ reply b screen-should-contain [ . errors found (0) run (F4) . . . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. .0 edit copy delete . .foo 4, 0 . .dividing by 0 . .14 instructions run . .foo: divide by zero in '_, c:num <- divide-with-r↩. .emainder a, b' . - .──────────────────────────────────────────────────. + .━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━. . . ] ] diff --git a/sandbox/012-editor-undo.mu b/sandbox/012-editor-undo.mu index 368ef4bb..ce8c9e21 100644 --- a/sandbox/012-editor-undo.mu +++ b/sandbox/012-editor-undo.mu @@ -119,7 +119,7 @@ scenario editor-can-undo-typing [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -132,7 +132,7 @@ scenario editor-can-undo-typing [ screen-should-contain [ . . .1 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -249,7 +249,7 @@ scenario editor-can-undo-typing-multiple [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -268,7 +268,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .012a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo @@ -282,7 +282,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -295,7 +295,7 @@ scenario editor-can-undo-typing-multiple-2 [ screen-should-contain [ . . .3a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -316,7 +316,7 @@ scenario editor-can-undo-typing-enter [ . . . abc . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # line is indented @@ -343,7 +343,7 @@ scenario editor-can-undo-typing-enter [ screen-should-contain [ . . . abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be at end of line @@ -356,7 +356,7 @@ scenario editor-can-undo-typing-enter [ screen-should-contain [ . . . abc1 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -377,7 +377,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -391,7 +391,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .012a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -404,7 +404,7 @@ scenario editor-redo-typing [ screen-should-contain [ . . .0123a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -441,7 +441,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -455,7 +455,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . .012 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor should be in the right place @@ -468,7 +468,7 @@ scenario editor-redo-typing-empty [ screen-should-contain [ . . .0123 . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -497,7 +497,7 @@ ghi] .0abc . .def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] # redo assume-console [ @@ -512,7 +512,7 @@ ghi] .0abc . .def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -537,7 +537,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . efg . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -564,7 +564,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo again @@ -584,7 +584,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . ab cd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo again @@ -604,7 +604,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -624,7 +624,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ screen-should-contain [ . . . ab cd . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo again @@ -645,7 +645,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo again @@ -666,7 +666,7 @@ scenario editor-can-redo-typing-and-enter-and-tab [ . . . ab cd . . efg . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -713,7 +713,7 @@ ghi] .1abc . .def . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -805,7 +805,7 @@ ghi] .abc . .def . .g1hi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -856,7 +856,7 @@ ghi] .abc . .def . .g1hi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -901,7 +901,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -946,7 +946,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -991,7 +991,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1036,7 +1036,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1081,7 +1081,7 @@ ghi] .abc . .d1ef . .ghi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1180,7 +1180,7 @@ ghi] .abc . .def . .g1hi . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. ] ] @@ -1215,7 +1215,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .adbc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1235,7 +1235,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1255,7 +1255,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1275,7 +1275,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . . . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1295,7 +1295,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1315,7 +1315,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # cursor moves @@ -1336,7 +1336,7 @@ scenario editor-separates-undo-insert-from-undo-cursor-move [ screen-should-contain [ . . .adbc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] memory-should-contain [ @@ -1363,7 +1363,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1388,7 +1388,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo @@ -1407,7 +1407,7 @@ scenario editor-can-undo-and-redo-backspace [ screen-should-contain [ . . .a . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1511,7 +1511,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .af . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1536,7 +1536,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .adef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo backspace @@ -1555,7 +1555,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abdef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # undo first delete @@ -1574,7 +1574,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abcdef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo first delete @@ -1594,7 +1594,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .abdef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo backspace @@ -1614,7 +1614,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .adef . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] # redo deletes @@ -1634,7 +1634,7 @@ scenario editor-can-undo-and-redo-delete [ screen-should-contain [ . . .af . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1699,7 +1699,7 @@ def] . . .a . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1719,7 +1719,7 @@ def] . . .abc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1740,7 +1740,7 @@ def] . . .a . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1760,7 +1760,7 @@ def] . . .a1 . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1802,7 +1802,7 @@ def] . . .c . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1822,7 +1822,7 @@ def] . . .abc . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1843,7 +1843,7 @@ def] . . .c . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] 3:num/raw <- get *e, cursor-row:offset @@ -1863,7 +1863,7 @@ def] . . .1c . .def . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] @@ -1902,7 +1902,7 @@ scenario editor-can-undo-and-redo-ctrl-u-2 [ screen-should-contain [ . . .abc . - .╌╌╌╌╌╌╌╌╌╌. + .┈┈┈┈┈┈┈┈┈┈. . . ] ] |