diff options
Diffstat (limited to 'html/edit/010-sandbox-trace.mu.html')
-rw-r--r-- | html/edit/010-sandbox-trace.mu.html | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/html/edit/010-sandbox-trace.mu.html b/html/edit/010-sandbox-trace.mu.html index ece61dee..66943462 100644 --- a/html/edit/010-sandbox-trace.mu.html +++ b/html/edit/010-sandbox-trace.mu.html @@ -40,11 +40,11 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color trace-until <span class="Constant">100/app</span> <span class="Comment"># trace too long</span> assume-screen <span class="Constant">100/width</span>, <span class="Constant">10/height</span> <span class="Comment"># basic recipe</span> - recipes:text<span class="Special"> <- </span>new <span class="Constant">[ </span> + recipes:text <span class="Special"><-</span> new <span class="Constant">[ </span> <span class="Constant">recipe foo [</span> <span class="Constant"> stash [abc]</span> ]] - env:&:environment<span class="Special"> <- </span>new-programming-environment screen, recipes, <span class="Constant">[foo]</span> + env:&:environment <span class="Special"><-</span> new-programming-environment screen, recipes, <span class="Constant">[foo]</span> <span class="Comment"># run it</span> assume-console [ press F4 @@ -61,11 +61,11 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color ] <span class="Comment"># click on the code in the sandbox</span> assume-console [ - left-click <span class="Constant">4</span>, <span class="Constant">51</span> + left-click<span class="Constant"> 4</span>,<span class="Constant"> 51</span> ] run [ event-loop screen, console, env - cursor:char<span class="Special"> <- </span>copy <span class="Constant">9251/␣</span> + cursor:char <span class="Special"><-</span> copy <span class="Constant">9251/␣</span> print screen, cursor ] <span class="Comment"># trace now printed and cursor shouldn't have budged</span> @@ -87,7 +87,7 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color ] <span class="Comment"># click again on the same region</span> assume-console [ - left-click <span class="Constant">4</span>, <span class="Constant">55</span> + left-click<span class="Constant"> 4</span>,<span class="Constant"> 55</span> ] run [ event-loop screen, console, env @@ -110,12 +110,12 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color trace-until <span class="Constant">100/app</span> <span class="Comment"># trace too long</span> assume-screen <span class="Constant">100/width</span>, <span class="Constant">10/height</span> <span class="Comment"># basic recipe</span> - recipes:text<span class="Special"> <- </span>new <span class="Constant">[ </span> + recipes:text <span class="Special"><-</span> new <span class="Constant">[ </span> <span class="Constant">recipe foo [</span> <span class="Constant"> stash [abc]</span> - <span class="muControl">reply</span> <span class="Constant">4</span> + <span class="muControl">reply</span><span class="Constant"> 4</span> ]] - env:&:environment<span class="Special"> <- </span>new-programming-environment screen, recipes, <span class="Constant">[foo]</span> + env:&:environment <span class="Special"><-</span> new-programming-environment screen, recipes, <span class="Constant">[foo]</span> <span class="Comment"># run it</span> assume-console [ press F4 @@ -133,7 +133,7 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color ] <span class="Comment"># click on the code in the sandbox</span> assume-console [ - left-click <span class="Constant">4</span>, <span class="Constant">51</span> + left-click<span class="Constant"> 4</span>,<span class="Constant"> 51</span> ] run [ event-loop screen, console, env @@ -157,11 +157,11 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color <span class="Constant">local-scope</span> trace-until <span class="Constant">100/app</span> <span class="Comment"># trace too long</span> assume-screen <span class="Constant">100/width</span>, <span class="Constant">10/height</span> - env:&:environment<span class="Special"> <- </span>new-programming-environment screen, <span class="Constant">[]</span>, <span class="Constant">[stash 123456789]</span> + env:&:environment <span class="Special"><-</span> new-programming-environment screen, <span class="Constant">[]</span>, <span class="Constant">[stash 123456789]</span> <span class="Comment"># create and expand the trace</span> assume-console [ press F4 - left-click <span class="Constant">4</span>, <span class="Constant">51</span> + left-click<span class="Constant"> 4</span>,<span class="Constant"> 51</span> ] event-loop screen, console, env screen-should-contain [ @@ -174,7 +174,7 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color ] <span class="Comment"># click on the stash under the edit-button region (or any of the other buttons, really)</span> assume-console [ - left-click <span class="Constant">5</span>, <span class="Constant">57</span> + left-click<span class="Constant"> 5</span>,<span class="Constant"> 57</span> ] run [ event-loop screen, console, env @@ -199,37 +199,37 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color <span class="muRecipe">def!</span> update-sandbox sandbox:&:sandbox, env:&:environment, idx:num<span class="muRecipe"> -> </span>sandbox:&:sandbox, env:&:environment [ <span class="Constant">local-scope</span> <span class="Constant">load-ingredients</span> - data:text<span class="Special"> <- </span>get *sandbox, <span class="Constant">data:offset</span> - response:text, _, fake-screen:&:screen, trace:text<span class="Special"> <- </span>run-sandboxed data - *sandbox<span class="Special"> <- </span>put *sandbox, <span class="Constant">response:offset</span>, response - *sandbox<span class="Special"> <- </span>put *sandbox, <span class="Constant">screen:offset</span>, fake-screen - *sandbox<span class="Special"> <- </span>put *sandbox, <span class="Constant">trace:offset</span>, trace + data:text <span class="Special"><-</span> get *sandbox, <span class="Constant">data:offset</span> + response:text, _, fake-screen:&:screen, trace:text <span class="Special"><-</span> run-sandboxed data + *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">response:offset</span>, response + *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">screen:offset</span>, fake-screen + *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">trace:offset</span>, trace ] <span class="Comment"># clicks on sandbox code toggle its display-trace? flag</span> <span class="muRecipe">after</span> <span class="Constant"><global-touch></span> [ <span class="Comment"># check if it's inside the code of any sandbox</span> <span class="Delimiter">{</span> - sandbox-left-margin:num<span class="Special"> <- </span>get *current-sandbox, <span class="Constant">left:offset</span> - click-column:num<span class="Special"> <- </span>get t, <span class="Constant">column:offset</span> - on-sandbox-side?:bool<span class="Special"> <- </span>greater-or-equal click-column, sandbox-left-margin + sandbox-left-margin:num <span class="Special"><-</span> get *current-sandbox, <span class="Constant">left:offset</span> + click-column:num <span class="Special"><-</span> get t, <span class="Constant">column:offset</span> + on-sandbox-side?:bool <span class="Special"><-</span> greater-or-equal click-column, sandbox-left-margin <span class="muControl">break-unless</span> on-sandbox-side? - first-sandbox:&:sandbox<span class="Special"> <- </span>get *env, <span class="Constant">sandbox:offset</span> + first-sandbox:&:sandbox <span class="Special"><-</span> get *env, <span class="Constant">sandbox:offset</span> <span class="muControl">break-unless</span> first-sandbox - first-sandbox-begins:num<span class="Special"> <- </span>get *first-sandbox, <span class="Constant">starting-row-on-screen:offset</span> - click-row:num<span class="Special"> <- </span>get t, <span class="Constant">row:offset</span> - below-sandbox-editor?:bool<span class="Special"> <- </span>greater-or-equal click-row, first-sandbox-begins + first-sandbox-begins:num <span class="Special"><-</span> get *first-sandbox, <span class="Constant">starting-row-on-screen:offset</span> + click-row:num <span class="Special"><-</span> get t, <span class="Constant">row:offset</span> + below-sandbox-editor?:bool <span class="Special"><-</span> greater-or-equal click-row, first-sandbox-begins <span class="muControl">break-unless</span> below-sandbox-editor? <span class="Comment"># identify the sandbox whose code is being clicked on</span> - sandbox:&:sandbox<span class="Special"> <- </span>find-click-in-sandbox-code env, click-row + sandbox:&:sandbox <span class="Special"><-</span> find-click-in-sandbox-code env, click-row <span class="muControl">break-unless</span> sandbox <span class="Comment"># toggle its display-trace? property</span> - x:bool<span class="Special"> <- </span>get *sandbox, <span class="Constant">display-trace?:offset</span> - x<span class="Special"> <- </span>not x - *sandbox<span class="Special"> <- </span>put *sandbox, <span class="Constant">display-trace?:offset</span>, x + x:bool <span class="Special"><-</span> get *sandbox, <span class="Constant">display-trace?:offset</span> + x <span class="Special"><-</span> not x + *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">display-trace?:offset</span>, x hide-screen screen - screen<span class="Special"> <- </span>render-sandbox-side screen, env, render - screen<span class="Special"> <- </span>update-cursor screen, recipes, current-sandbox, sandbox-in-focus?, env + screen <span class="Special"><-</span> render-sandbox-side screen, env, render + screen <span class="Special"><-</span> update-cursor screen, recipes, current-sandbox, sandbox-in-focus?, env <span class="Comment"># no change in cursor</span> show-screen screen <span class="muControl">loop</span> <span class="Constant">+next-event</span> @@ -240,26 +240,26 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color <span class="Constant">local-scope</span> <span class="Constant">load-ingredients</span> <span class="Comment"># assert click-row >= sandbox.starting-row-on-screen</span> - sandbox<span class="Special"> <- </span>get *env, <span class="Constant">sandbox:offset</span> - start:num<span class="Special"> <- </span>get *sandbox, <span class="Constant">starting-row-on-screen:offset</span> - clicked-on-sandboxes?:bool<span class="Special"> <- </span>greater-or-equal click-row, start + sandbox <span class="Special"><-</span> get *env, <span class="Constant">sandbox:offset</span> + start:num <span class="Special"><-</span> get *sandbox, <span class="Constant">starting-row-on-screen:offset</span> + clicked-on-sandboxes?:bool <span class="Special"><-</span> greater-or-equal click-row, start assert clicked-on-sandboxes?, <span class="Constant">[extract-sandbox called on click to sandbox editor]</span> <span class="Comment"># while click-row < sandbox.next-sandbox.starting-row-on-screen</span> <span class="Delimiter">{</span> - next-sandbox:&:sandbox<span class="Special"> <- </span>get *sandbox, <span class="Constant">next-sandbox:offset</span> + next-sandbox:&:sandbox <span class="Special"><-</span> get *sandbox, <span class="Constant">next-sandbox:offset</span> <span class="muControl">break-unless</span> next-sandbox - next-start:num<span class="Special"> <- </span>get *next-sandbox, <span class="Constant">starting-row-on-screen:offset</span> - found?:bool<span class="Special"> <- </span>lesser-than click-row, next-start + next-start:num <span class="Special"><-</span> get *next-sandbox, <span class="Constant">starting-row-on-screen:offset</span> + found?:bool <span class="Special"><-</span> lesser-than click-row, next-start <span class="muControl">break-if</span> found? - sandbox<span class="Special"> <- </span>copy next-sandbox + sandbox <span class="Special"><-</span> copy next-sandbox <span class="muControl">loop</span> <span class="Delimiter">}</span> <span class="Comment"># return sandbox if click is in its code region</span> - code-ending-row:num<span class="Special"> <- </span>get *sandbox, <span class="Constant">code-ending-row-on-screen:offset</span> - click-above-response?:bool<span class="Special"> <- </span>lesser-than click-row, code-ending-row - start:num<span class="Special"> <- </span>get *sandbox, <span class="Constant">starting-row-on-screen:offset</span> - click-below-menu?:bool<span class="Special"> <- </span>greater-than click-row, start - click-on-sandbox-code?:bool<span class="Special"> <- </span>and click-above-response?, click-below-menu? + code-ending-row:num <span class="Special"><-</span> get *sandbox, <span class="Constant">code-ending-row-on-screen:offset</span> + click-above-response?:bool <span class="Special"><-</span> lesser-than click-row, code-ending-row + start:num <span class="Special"><-</span> get *sandbox, <span class="Constant">starting-row-on-screen:offset</span> + click-below-menu?:bool <span class="Special"><-</span> greater-than click-row, start + click-on-sandbox-code?:bool <span class="Special"><-</span> and click-above-response?, click-below-menu? <span class="Delimiter">{</span> <span class="muControl">break-if</span> click-on-sandbox-code? <span class="muControl">return</span> <span class="Constant">0/no-click-in-sandbox-output</span> @@ -270,11 +270,11 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color <span class="Comment"># when rendering a sandbox, dump its trace before response/warning if display-trace? property is set</span> <span class="muRecipe">after</span> <span class="Constant"><render-sandbox-results></span> [ <span class="Delimiter">{</span> - display-trace?:bool<span class="Special"> <- </span>get *sandbox, <span class="Constant">display-trace?:offset</span> + display-trace?:bool <span class="Special"><-</span> get *sandbox, <span class="Constant">display-trace?:offset</span> <span class="muControl">break-unless</span> display-trace? - sandbox-trace:text<span class="Special"> <- </span>get *sandbox, <span class="Constant">trace:offset</span> + sandbox-trace:text <span class="Special"><-</span> get *sandbox, <span class="Constant">trace:offset</span> <span class="muControl">break-unless</span> sandbox-trace <span class="Comment"># nothing to print; move on</span> - row, screen<span class="Special"> <- </span>render-text screen, sandbox-trace, left, right, <span class="Constant">245/grey</span>, row + row, screen <span class="Special"><-</span> render-text screen, sandbox-trace, left, right, <span class="Constant">245/grey</span>, row <span class="Delimiter">}</span> <span class="Constant"> <render-sandbox-trace-done></span> ] |