diff options
-rw-r--r-- | edit/002-typing.mu | 8 | ||||
-rw-r--r-- | edit/004-programming-environment.mu | 4 | ||||
-rw-r--r-- | html/edit/001-editor.mu.html | 12 | ||||
-rw-r--r-- | html/edit/002-typing.mu.html | 16 | ||||
-rw-r--r-- | html/edit/003-shortcuts.mu.html | 14 | ||||
-rw-r--r-- | html/edit/004-programming-environment.mu.html | 16 | ||||
-rw-r--r-- | html/edit/005-sandbox.mu.html | 20 | ||||
-rw-r--r-- | sandbox/002-typing.mu | 8 | ||||
-rw-r--r-- | sandbox/004-programming-environment.mu | 2 |
9 files changed, 50 insertions, 50 deletions
diff --git a/edit/002-typing.mu b/edit/002-typing.mu index 7c385b6f..c6c8edd5 100644 --- a/edit/002-typing.mu +++ b/edit/002-typing.mu @@ -30,7 +30,7 @@ def editor-event-loop screen:&:screen, console:&:console, editor:&:editor -> scr t:touch-event, is-touch?:bool <- maybe-convert e, touch:variant { break-unless is-touch? - move-cursor-in-editor screen, editor, t + move-cursor editor, screen, t loop +next-event } # keyboard events @@ -47,7 +47,7 @@ def editor-event-loop screen:&:screen, console:&:console, editor:&:editor -> scr ] # process click, return if it was on current editor -def move-cursor-in-editor screen:&:screen, editor:&:editor, t:touch-event -> in-focus?:bool, editor:&:editor [ +def move-cursor editor:&:editor, screen:&:screen, t:touch-event -> in-focus?:bool, editor:&:editor [ local-scope load-ingredients return-unless editor, 0/false @@ -62,7 +62,7 @@ def move-cursor-in-editor screen:&:screen, editor:&:editor, t:touch-event -> in- return-if too-far-right?, 0/false # position cursor <move-cursor-begin> - editor <- snap-cursor screen, editor, click-row, click-column + editor <- snap-cursor editor, screen, click-row, click-column undo-coalesce-tag:num <- copy 0/never <move-cursor-end> # gain focus @@ -72,7 +72,7 @@ def move-cursor-in-editor screen:&:screen, editor:&:editor, t:touch-event -> in- # Variant of 'render' that only moves the cursor (coordinates and # before-cursor). If it's past the end of a line, it 'slides' it left. If it's # past the last line it positions at end of last line. -def snap-cursor screen:&:screen, editor:&:editor, target-row:num, target-column:num -> editor:&:editor [ +def snap-cursor editor:&:editor, screen:&:screen, target-row:num, target-column:num -> editor:&:editor [ local-scope load-ingredients return-unless editor diff --git a/edit/004-programming-environment.mu b/edit/004-programming-environment.mu index f0c8501e..71e72e46 100644 --- a/edit/004-programming-environment.mu +++ b/edit/004-programming-environment.mu @@ -80,8 +80,8 @@ def event-loop screen:&:screen, console:&:console, env:&:environment, resources: # later exceptions for non-editor touches will go here <global-touch> # send to both editors - _ <- move-cursor-in-editor screen, recipes, t - sandbox-in-focus?:bool <- move-cursor-in-editor screen, current-sandbox, t + _ <- move-cursor recipes, screen, t + sandbox-in-focus?:bool <- move-cursor current-sandbox, screen, t *env <- put *env, sandbox-in-focus?:offset, sandbox-in-focus? screen <- update-cursor screen, recipes, current-sandbox, sandbox-in-focus?, env loop +next-event diff --git a/html/edit/001-editor.mu.html b/html/edit/001-editor.mu.html index dcc7bfd5..a928a2bc 100644 --- a/html/edit/001-editor.mu.html +++ b/html/edit/001-editor.mu.html @@ -185,7 +185,7 @@ if ('onhashchange' in window) { <span id="L122" class="LineNr">122 </span> cursor-row:num <span class="Special"><-</span> get *editor, <span class="Constant">cursor-row:offset</span> <span id="L123" class="LineNr">123 </span> cursor-column:num <span class="Special"><-</span> get *editor, <span class="Constant">cursor-column:offset</span> <span id="L124" class="LineNr">124 </span> before-cursor:&:<a href='../065duplex_list.mu.html#L3'>duplex-list</a>:char <span class="Special"><-</span> get *editor, <span class="Constant">before-cursor:offset</span> -<span id="L125" class="LineNr">125 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L125" class="LineNr">125 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L126" class="LineNr">126 </span> <span class="Delimiter">{</span> <span id="L127" class="LineNr">127 </span><span class="Constant"> </span><span class="Conceal">¦</span><span class="Constant"> +next-character</span> <span id="L128" class="LineNr">128 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> curr @@ -221,7 +221,7 @@ if ('onhashchange' in window) { <span id="L158" class="LineNr">158 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># skip to next line</span> <span id="L159" class="LineNr">159 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> <span id="L160" class="LineNr">160 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left -<span id="L161" class="LineNr">161 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L161" class="LineNr">161 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L162" class="LineNr">162 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> curr <span class="Special"><-</span> <a href='../065duplex_list.mu.html#L29'>next</a> curr <span id="L163" class="LineNr">163 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../065duplex_list.mu.html#L36'>prev</a> <span class="Special"><-</span> <a href='../065duplex_list.mu.html#L29'>next</a> <a href='../065duplex_list.mu.html#L36'>prev</a> <span id="L164" class="LineNr">164 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> @@ -236,7 +236,7 @@ if ('onhashchange' in window) { <span id="L173" class="LineNr">173 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, wrap-icon, <span class="Constant">245/grey</span> <span id="L174" class="LineNr">174 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left <span id="L175" class="LineNr">175 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> -<span id="L176" class="LineNr">176 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L176" class="LineNr">176 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L177" class="LineNr">177 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># don't increment curr</span> <span id="L178" class="LineNr">178 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> <span id="L179" class="LineNr">179 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> @@ -277,7 +277,7 @@ if ('onhashchange' in window) { <span id="L214" class="LineNr">214 </span> <span class="Conceal">¦</span> <span class="muControl">return</span> <span id="L215" class="LineNr">215 </span> <span class="Delimiter">}</span> <span id="L216" class="LineNr">216 </span> <span class="Comment"># if not, go the slower route</span> -<span id="L217" class="LineNr">217 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L217" class="LineNr">217 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L218" class="LineNr">218 </span> <a href='../081print.mu.html#L536'>clear-line-until</a> <a href='../081print.mu.html#L4'>screen</a>, right <span id="L219" class="LineNr">219 </span> <a href='001-editor.mu.html#L222'>clear-rest-of-screen</a> <a href='../081print.mu.html#L4'>screen</a>, row, left, right <span id="L220" class="LineNr">220 </span>] @@ -292,12 +292,12 @@ if ('onhashchange' in window) { <span id="L229" class="LineNr">229 </span> <span class="Conceal">¦</span> clear-display-from row, left, left, right <span id="L230" class="LineNr">230 </span> <span class="Conceal">¦</span> <span class="muControl">return</span> <span id="L231" class="LineNr">231 </span> <span class="Delimiter">}</span> -<span id="L232" class="LineNr">232 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, left +<span id="L232" class="LineNr">232 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, left <span id="L233" class="LineNr">233 </span> <a href='../081print.mu.html#L748'>screen-height</a>:num <span class="Special"><-</span> <a href='../081print.mu.html#L748'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a> <span id="L234" class="LineNr">234 </span> <span class="Delimiter">{</span> <span id="L235" class="LineNr">235 </span> <span class="Conceal">¦</span> at-bottom-of-screen?:bool <span class="Special"><-</span> greater-or-equal row, <a href='../081print.mu.html#L748'>screen-height</a> <span id="L236" class="LineNr">236 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> at-bottom-of-screen? -<span id="L237" class="LineNr">237 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, left +<span id="L237" class="LineNr">237 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, left <span id="L238" class="LineNr">238 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L536'>clear-line-until</a> <a href='../081print.mu.html#L4'>screen</a>, right <span id="L239" class="LineNr">239 </span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> <span id="L240" class="LineNr">240 </span> <span class="Conceal">¦</span> <span class="muControl">loop</span> diff --git a/html/edit/002-typing.mu.html b/html/edit/002-typing.mu.html index 39cbda87..c0c93519 100644 --- a/html/edit/002-typing.mu.html +++ b/html/edit/002-typing.mu.html @@ -84,7 +84,7 @@ if ('onhashchange' in window) { <span id="L21" class="LineNr"> 21 </span><span class="Constant"> </span><span class="Conceal">¦</span><span class="Constant"> +next-event</span> <span id="L22" class="LineNr"> 22 </span> <span class="Conceal">¦</span> cursor-row:num <span class="Special"><-</span> get *editor, <span class="Constant">cursor-row:offset</span> <span id="L23" class="LineNr"> 23 </span> <span class="Conceal">¦</span> cursor-column:num <span class="Special"><-</span> get *editor, <span class="Constant">cursor-column:offset</span> -<span id="L24" class="LineNr"> 24 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column +<span id="L24" class="LineNr"> 24 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column <span id="L25" class="LineNr"> 25 </span> <span class="Conceal">¦</span> e:<a href='../084console.mu.html#L4'>event</a>, found?:bool, quit?:bool, <a href='../084console.mu.html#L23'>console</a> <span class="Special"><-</span> <a href='../084console.mu.html#L35'>read-event</a> <a href='../084console.mu.html#L23'>console</a> <span id="L26" class="LineNr"> 26 </span> <span class="Conceal">¦</span> <span class="muControl">loop-unless</span> found? <span id="L27" class="LineNr"> 27 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> quit? <span class="Comment"># only in tests</span> @@ -93,7 +93,7 @@ if ('onhashchange' in window) { <span id="L30" class="LineNr"> 30 </span> <span class="Conceal">¦</span> t:<a href='../084console.mu.html#L12'>touch-event</a>, is-touch?:bool <span class="Special"><-</span> maybe-convert e, <span class="Constant">touch:variant</span> <span id="L31" class="LineNr"> 31 </span> <span class="Conceal">¦</span> <span class="Delimiter">{</span> <span id="L32" class="LineNr"> 32 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> is-touch? -<span id="L33" class="LineNr"> 33 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='002-typing.mu.html#L50'>move-cursor-in-editor</a> <a href='../081print.mu.html#L4'>screen</a>, editor, t +<span id="L33" class="LineNr"> 33 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> move-cursor editor, <a href='../081print.mu.html#L4'>screen</a>, t <span id="L34" class="LineNr"> 34 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-event</span> <span id="L35" class="LineNr"> 35 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> <span id="L36" class="LineNr"> 36 </span> <span class="Conceal">¦</span> <span class="Comment"># keyboard events</span> @@ -110,7 +110,7 @@ if ('onhashchange' in window) { <span id="L47" class="LineNr"> 47 </span>] <span id="L48" class="LineNr"> 48 </span> <span id="L49" class="LineNr"> 49 </span><span class="Comment"># process click, return if it was on current editor</span> -<span id="L50" class="LineNr"> 50 </span><span class="muRecipe">def</span> <a href='002-typing.mu.html#L50'>move-cursor-in-editor</a> <a href='../081print.mu.html#L4'>screen</a>:&:<a href='../081print.mu.html#L4'>screen</a>, editor:&:editor, t:<a href='../084console.mu.html#L12'>touch-event</a><span class="muRecipe"> -> </span>in-focus?:bool, editor:&:editor [ +<span id="L50" class="LineNr"> 50 </span><span class="muRecipe">def</span> move-cursor editor:&:editor, <a href='../081print.mu.html#L4'>screen</a>:&:<a href='../081print.mu.html#L4'>screen</a>, t:<a href='../084console.mu.html#L12'>touch-event</a><span class="muRecipe"> -> </span>in-focus?:bool, editor:&:editor [ <span id="L51" class="LineNr"> 51 </span> <span class="Constant">local-scope</span> <span id="L52" class="LineNr"> 52 </span> <span class="Constant">load-ingredients</span> <span id="L53" class="LineNr"> 53 </span> <span class="muControl">return-unless</span> editor, <span class="Constant">0/false</span> @@ -125,7 +125,7 @@ if ('onhashchange' in window) { <span id="L62" class="LineNr"> 62 </span> <span class="muControl">return-if</span> too-far-right?, <span class="Constant">0/false</span> <span id="L63" class="LineNr"> 63 </span> <span class="Comment"># position cursor</span> <span id="L64" class="LineNr"> 64 </span><span class="Constant"> <move-cursor-begin></span> -<span id="L65" class="LineNr"> 65 </span> editor <span class="Special"><-</span> <a href='002-typing.mu.html#L75'>snap-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, editor, click-row, click-column +<span id="L65" class="LineNr"> 65 </span> editor <span class="Special"><-</span> <a href='002-typing.mu.html#L75'>snap-cursor</a> editor, <a href='../081print.mu.html#L4'>screen</a>, click-row, click-column <span id="L66" class="LineNr"> 66 </span> undo-coalesce-tag:num <span class="Special"><-</span> copy <span class="Constant">0/never</span> <span id="L67" class="LineNr"> 67 </span><span class="Constant"> <move-cursor-end></span> <span id="L68" class="LineNr"> 68 </span> <span class="Comment"># gain focus</span> @@ -135,7 +135,7 @@ if ('onhashchange' in window) { <span id="L72" class="LineNr"> 72 </span><span class="Comment"># Variant of 'render' that only moves the cursor (coordinates and</span> <span id="L73" class="LineNr"> 73 </span><span class="Comment"># before-cursor). If it's past the end of a line, it 'slides' it left. If it's</span> <span id="L74" class="LineNr"> 74 </span><span class="Comment"># past the last line it positions at end of last line.</span> -<span id="L75" class="LineNr"> 75 </span><span class="muRecipe">def</span> <a href='002-typing.mu.html#L75'>snap-cursor</a> <a href='../081print.mu.html#L4'>screen</a>:&:<a href='../081print.mu.html#L4'>screen</a>, editor:&:editor, target-row:num, target-column:num<span class="muRecipe"> -> </span>editor:&:editor [ +<span id="L75" class="LineNr"> 75 </span><span class="muRecipe">def</span> <a href='002-typing.mu.html#L75'>snap-cursor</a> editor:&:editor, <a href='../081print.mu.html#L4'>screen</a>:&:<a href='../081print.mu.html#L4'>screen</a>, target-row:num, target-column:num<span class="muRecipe"> -> </span>editor:&:editor [ <span id="L76" class="LineNr"> 76 </span> <span class="Constant">local-scope</span> <span id="L77" class="LineNr"> 77 </span> <span class="Constant">load-ingredients</span> <span id="L78" class="LineNr"> 78 </span> <span class="muControl">return-unless</span> editor @@ -293,7 +293,7 @@ if ('onhashchange' in window) { <span id="L230" class="LineNr"> 230 </span> <span class="Conceal">¦</span> at-right?:bool <span class="Special"><-</span> equal save-column, right <span id="L231" class="LineNr"> 231 </span> <span class="Conceal">¦</span> overflow?:bool <span class="Special"><-</span> and at-bottom?, at-right? <span id="L232" class="LineNr"> 232 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> overflow? -<span id="L233" class="LineNr"> 233 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column +<span id="L233" class="LineNr"> 233 </span> <span class="Conceal">¦</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column <span id="L234" class="LineNr"> 234 </span> <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, c <span id="L235" class="LineNr"> 235 </span> <span class="Conceal">¦</span> <span class="muControl">return</span> <span class="Constant">0/don't-render</span> <span id="L236" class="LineNr"> 236 </span> <span class="Delimiter">}</span> @@ -303,7 +303,7 @@ if ('onhashchange' in window) { <span id="L240" class="LineNr"> 240 </span> <span class="Conceal">¦</span> at-right?:bool <span class="Special"><-</span> greater-or-equal cursor-column, <a href='../081print.mu.html#L735'>screen-width</a> <span id="L241" class="LineNr"> 241 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> at-right? <span id="L242" class="LineNr"> 242 </span> <span class="Conceal">¦</span> curr:&:<a href='../065duplex_list.mu.html#L3'>duplex-list</a>:char <span class="Special"><-</span> copy before-cursor -<span id="L243" class="LineNr"> 243 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column +<span id="L243" class="LineNr"> 243 </span> <span class="Conceal">¦</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, save-row, save-column <span id="L244" class="LineNr"> 244 </span> <span class="Conceal">¦</span> curr-column:num <span class="Special"><-</span> copy save-column <span id="L245" class="LineNr"> 245 </span> <span class="Conceal">¦</span> <span class="Delimiter">{</span> <span id="L246" class="LineNr"> 246 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># hit right margin? give up and let caller render</span> @@ -1142,7 +1142,7 @@ if ('onhashchange' in window) { <span id="L1079" class="LineNr">1079 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> bg-color-found? <span id="L1080" class="LineNr">1080 </span> <span class="Conceal">¦</span> bg-color <span class="Special"><-</span> copy <span class="Constant">0/black</span> <span id="L1081" class="LineNr">1081 </span> <span class="Delimiter">}</span> -<span id="L1082" class="LineNr">1082 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, x +<span id="L1082" class="LineNr">1082 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, x <span id="L1083" class="LineNr">1083 </span> <span class="Delimiter">{</span> <span id="L1084" class="LineNr">1084 </span> <span class="Conceal">¦</span> continue?:bool <span class="Special"><-</span> lesser-or-equal x, right <span class="Comment"># right is inclusive, to match editor semantics</span> <span id="L1085" class="LineNr">1085 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> continue? diff --git a/html/edit/003-shortcuts.mu.html b/html/edit/003-shortcuts.mu.html index 55b98690..0af7df9a 100644 --- a/html/edit/003-shortcuts.mu.html +++ b/html/edit/003-shortcuts.mu.html @@ -194,7 +194,7 @@ if ('onhashchange' in window) { <span id="L132" class="LineNr"> 132 </span> left:num <span class="Special"><-</span> get *editor, <span class="Constant">left:offset</span> <span id="L133" class="LineNr"> 133 </span> right:num <span class="Special"><-</span> get *editor, <span class="Constant">right:offset</span> <span id="L134" class="LineNr"> 134 </span> curr:&:<a href='../065duplex_list.mu.html#L3'>duplex-list</a>:char <span class="Special"><-</span> <a href='../065duplex_list.mu.html#L29'>next</a> before-cursor -<span id="L135" class="LineNr"> 135 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column +<span id="L135" class="LineNr"> 135 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column <span id="L136" class="LineNr"> 136 </span> curr-column:num <span class="Special"><-</span> copy cursor-column <span id="L137" class="LineNr"> 137 </span> <span class="Delimiter">{</span> <span id="L138" class="LineNr"> 138 </span> <span class="Conceal">¦</span> <span class="Comment"># hit right margin? give up and let caller render</span> @@ -448,7 +448,7 @@ if ('onhashchange' in window) { <span id="L386" class="LineNr"> 386 </span> curr:&:<a href='../065duplex_list.mu.html#L3'>duplex-list</a>:char <span class="Special"><-</span> <a href='../065duplex_list.mu.html#L29'>next</a> before-cursor <span class="Comment"># refresh after remove above</span> <span id="L387" class="LineNr"> 387 </span> cursor-row:num <span class="Special"><-</span> get *editor, <span class="Constant">cursor-row:offset</span> <span id="L388" class="LineNr"> 388 </span> cursor-column:num <span class="Special"><-</span> get *editor, <span class="Constant">cursor-column:offset</span> -<span id="L389" class="LineNr"> 389 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column +<span id="L389" class="LineNr"> 389 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column <span id="L390" class="LineNr"> 390 </span> curr-column:num <span class="Special"><-</span> copy cursor-column <span id="L391" class="LineNr"> 391 </span> <a href='../081print.mu.html#L735'>screen-width</a>:num <span class="Special"><-</span> <a href='../081print.mu.html#L735'>screen-width</a> <a href='../081print.mu.html#L4'>screen</a> <span id="L392" class="LineNr"> 392 </span> <span class="Delimiter">{</span> @@ -507,7 +507,7 @@ if ('onhashchange' in window) { <span id="L445" class="LineNr"> 445 </span> <span class="Conceal">¦</span> before-cursor <span class="Special"><-</span> copy next-cursor <span id="L446" class="LineNr"> 446 </span> <span class="Conceal">¦</span> *editor <span class="Special"><-</span> put *editor, <span class="Constant">before-cursor:offset</span>, before-cursor <span id="L447" class="LineNr"> 447 </span> <span class="Conceal">¦</span> go-render?:bool <span class="Special"><-</span> <a href='003-shortcuts.mu.html#L455'>move-cursor-coordinates-right</a> editor, <a href='../081print.mu.html#L748'>screen-height</a> -<span id="L448" class="LineNr"> 448 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column +<span id="L448" class="LineNr"> 448 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column <span id="L449" class="LineNr"> 449 </span> <span class="Conceal">¦</span> undo-coalesce-tag:num <span class="Special"><-</span> copy <span class="Constant">2/right-arrow</span> <span id="L450" class="LineNr"> 450 </span><span class="Constant"> </span><span class="Conceal">¦</span><span class="Constant"> <move-cursor-end></span> <span id="L451" class="LineNr"> 451 </span> <span class="Conceal">¦</span> <span class="muControl">return</span> @@ -1810,7 +1810,7 @@ if ('onhashchange' in window) { <span id="L1748" class="LineNr">1748 </span> <span class="muControl">return-unless</span> s <span id="L1749" class="LineNr">1749 </span> color:num <span class="Special"><-</span> copy <span class="Constant">7/white</span> <span id="L1750" class="LineNr">1750 </span> column:num <span class="Special"><-</span> copy left -<span id="L1751" class="LineNr">1751 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L1751" class="LineNr">1751 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L1752" class="LineNr">1752 </span> <a href='../081print.mu.html#L748'>screen-height</a>:num <span class="Special"><-</span> <a href='../081print.mu.html#L748'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a> <span id="L1753" class="LineNr">1753 </span> i:num <span class="Special"><-</span> copy<span class="Constant"> 0</span> <span id="L1754" class="LineNr">1754 </span> len:num <span class="Special"><-</span> length *s @@ -1837,7 +1837,7 @@ if ('onhashchange' in window) { <span id="L1775" class="LineNr">1775 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> <span id="L1776" class="LineNr">1776 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> <span id="L1777" class="LineNr">1777 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left -<span id="L1778" class="LineNr">1778 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L1778" class="LineNr">1778 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L1779" class="LineNr">1779 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> i <span class="Special"><-</span> add i,<span class="Constant"> 1</span> <span id="L1780" class="LineNr">1780 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> <span id="L1781" class="LineNr">1781 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> @@ -1850,7 +1850,7 @@ if ('onhashchange' in window) { <span id="L1788" class="LineNr">1788 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, wrap-icon, <span class="Constant">245/grey</span> <span id="L1789" class="LineNr">1789 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left <span id="L1790" class="LineNr">1790 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> -<span id="L1791" class="LineNr">1791 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L1791" class="LineNr">1791 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L1792" class="LineNr">1792 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># don't increment i</span> <span id="L1793" class="LineNr">1793 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> <span id="L1794" class="LineNr">1794 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> @@ -1865,7 +1865,7 @@ if ('onhashchange' in window) { <span id="L1803" class="LineNr">1803 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> was-at-left? <span id="L1804" class="LineNr">1804 </span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> <span id="L1805" class="LineNr">1805 </span> <span class="Delimiter">}</span> -<span id="L1806" class="LineNr">1806 </span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, left +<span id="L1806" class="LineNr">1806 </span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, left <span id="L1807" class="LineNr">1807 </span>] <span id="L1808" class="LineNr">1808 </span> <span id="L1809" class="LineNr">1809 </span><span class="muScenario">scenario</span> editor-deletes-to-start-of-line-with-ctrl-u-2 [ diff --git a/html/edit/004-programming-environment.mu.html b/html/edit/004-programming-environment.mu.html index 16d0d6f7..16bbf545 100644 --- a/html/edit/004-programming-environment.mu.html +++ b/html/edit/004-programming-environment.mu.html @@ -143,8 +143,8 @@ if ('onhashchange' in window) { <span id="L80" class="LineNr"> 80 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># later exceptions for non-editor touches will go here</span> <span id="L81" class="LineNr"> 81 </span><span class="Constant"> </span><span class="Conceal">¦</span><span class="Constant"> </span><span class="Conceal">¦</span><span class="Constant"> <a href='004-programming-environment.mu.html#L81'><global-touch></a></span> <span id="L82" class="LineNr"> 82 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># send to both editors</span> -<span id="L83" class="LineNr"> 83 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> _ <span class="Special"><-</span> <a href='002-typing.mu.html#L50'>move-cursor-in-editor</a> <a href='../081print.mu.html#L4'>screen</a>, recipes, t -<span id="L84" class="LineNr"> 84 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> sandbox-in-focus?:bool <span class="Special"><-</span> <a href='002-typing.mu.html#L50'>move-cursor-in-editor</a> <a href='../081print.mu.html#L4'>screen</a>, current-sandbox, t +<span id="L83" class="LineNr"> 83 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> _ <span class="Special"><-</span> move-cursor recipes, <a href='../081print.mu.html#L4'>screen</a>, t +<span id="L84" class="LineNr"> 84 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> sandbox-in-focus?:bool <span class="Special"><-</span> move-cursor current-sandbox, <a href='../081print.mu.html#L4'>screen</a>, t <span id="L85" class="LineNr"> 85 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> *env <span class="Special"><-</span> put *env, <span class="Constant">sandbox-in-focus?:offset</span>, sandbox-in-focus? <span id="L86" class="LineNr"> 86 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='004-programming-environment.mu.html#L467'>update-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, recipes, current-sandbox, sandbox-in-focus?, env <span id="L87" class="LineNr"> 87 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-event</span> @@ -239,7 +239,7 @@ if ('onhashchange' in window) { <span id="L176" class="LineNr">176 </span> *editor <span class="Special"><-</span> put *editor, <span class="Constant">cursor-column:offset</span>, column <span id="L177" class="LineNr">177 </span> top-of-screen:&:<a href='../065duplex_list.mu.html#L3'>duplex-list</a>:char <span class="Special"><-</span> get *editor, <span class="Constant">top-of-screen:offset</span> <span id="L178" class="LineNr">178 </span> *editor <span class="Special"><-</span> put *editor, <span class="Constant">before-cursor:offset</span>, top-of-screen -<span id="L179" class="LineNr">179 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L179" class="LineNr">179 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L180" class="LineNr">180 </span> <span class="Delimiter">{</span> <span id="L181" class="LineNr">181 </span><span class="Constant"> </span><span class="Conceal">¦</span><span class="Constant"> +next-character</span> <span id="L182" class="LineNr">182 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> curr @@ -266,7 +266,7 @@ if ('onhashchange' in window) { <span id="L203" class="LineNr">203 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># skip to next line</span> <span id="L204" class="LineNr">204 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> <span id="L205" class="LineNr">205 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left -<span id="L206" class="LineNr">206 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L206" class="LineNr">206 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L207" class="LineNr">207 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> curr <span class="Special"><-</span> <a href='../065duplex_list.mu.html#L29'>next</a> curr <span id="L208" class="LineNr">208 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../065duplex_list.mu.html#L36'>prev</a> <span class="Special"><-</span> <a href='../065duplex_list.mu.html#L29'>next</a> <a href='../065duplex_list.mu.html#L36'>prev</a> <span id="L209" class="LineNr">209 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> @@ -281,7 +281,7 @@ if ('onhashchange' in window) { <span id="L218" class="LineNr">218 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, wrap-icon, <span class="Constant">245/grey</span> <span id="L219" class="LineNr">219 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left <span id="L220" class="LineNr">220 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> -<span id="L221" class="LineNr">221 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L221" class="LineNr">221 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L222" class="LineNr">222 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># don't increment curr</span> <span id="L223" class="LineNr">223 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> <span id="L224" class="LineNr">224 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> @@ -472,7 +472,7 @@ if ('onhashchange' in window) { <span id="L409" class="LineNr">409 </span> button-start:num <span class="Special"><-</span> subtract width,<span class="Constant"> 20</span> <span id="L410" class="LineNr">410 </span> button-on-screen?:bool <span class="Special"><-</span> greater-or-equal button-start,<span class="Constant"> 0</span> <span id="L411" class="LineNr">411 </span> assert button-on-screen?, <span class="Constant">[screen too narrow for menu]</span> -<span id="L412" class="LineNr">412 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, <span class="Constant">0/row</span>, button-start +<span id="L412" class="LineNr">412 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, <span class="Constant">0/row</span>, button-start <span id="L413" class="LineNr">413 </span> print <a href='../081print.mu.html#L4'>screen</a>, <span class="Constant">[ run (F4) ]</span>, <span class="Constant">255/white</span>, <span class="Constant">161/reddish</span> <span id="L414" class="LineNr">414 </span> <span class="Comment"># dotted line down the middle</span> <span id="L415" class="LineNr">415 </span> trace<span class="Constant"> 11</span>, <span class="Constant">[app]</span>, <span class="Constant">[render divider]</span> @@ -541,7 +541,7 @@ if ('onhashchange' in window) { <span id="L478" class="LineNr">478 </span> <span class="Conceal">¦</span> cursor-row:num <span class="Special"><-</span> get *current-sandbox, <span class="Constant">cursor-row:offset</span> <span id="L479" class="LineNr">479 </span> <span class="Conceal">¦</span> cursor-column:num <span class="Special"><-</span> get *current-sandbox, <span class="Constant">cursor-column:offset</span> <span id="L480" class="LineNr">480 </span> <span class="Delimiter">}</span> -<span id="L481" class="LineNr">481 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column +<span id="L481" class="LineNr">481 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, cursor-row, cursor-column <span id="L482" class="LineNr">482 </span>] <span id="L483" class="LineNr">483 </span> <span id="L484" class="LineNr">484 </span><span class="Comment"># ctrl-n - switch focus</span> @@ -578,7 +578,7 @@ if ('onhashchange' in window) { <span id="L515" class="LineNr">515 </span> <span class="Delimiter">{</span> <span id="L516" class="LineNr">516 </span> <span class="Conceal">¦</span> continue?:bool <span class="Special"><-</span> lesser-than y, bottom <span id="L517" class="LineNr">517 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> continue? -<span id="L518" class="LineNr">518 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, y, col +<span id="L518" class="LineNr">518 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, y, col <span id="L519" class="LineNr">519 </span> <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, style, color <span id="L520" class="LineNr">520 </span> <span class="Conceal">¦</span> y <span class="Special"><-</span> add y,<span class="Constant"> 1</span> <span id="L521" class="LineNr">521 </span> <span class="Conceal">¦</span> <span class="muControl">loop</span> diff --git a/html/edit/005-sandbox.mu.html b/html/edit/005-sandbox.mu.html index ed1860fe..8acb95ef 100644 --- a/html/edit/005-sandbox.mu.html +++ b/html/edit/005-sandbox.mu.html @@ -282,7 +282,7 @@ if ('onhashchange' in window) { <span id="L219" class="LineNr"> 219 </span><span class="muRecipe">def</span> <a href='005-sandbox.mu.html#L219'>update-status</a> <a href='../081print.mu.html#L4'>screen</a>:&:<a href='../081print.mu.html#L4'>screen</a>, msg:text, color:num<span class="muRecipe"> -> </span><a href='../081print.mu.html#L4'>screen</a>:&:<a href='../081print.mu.html#L4'>screen</a> [ <span id="L220" class="LineNr"> 220 </span> <span class="Constant">local-scope</span> <span id="L221" class="LineNr"> 221 </span> <span class="Constant">load-ingredients</span> -<span id="L222" class="LineNr"> 222 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>,<span class="Constant"> 0</span>,<span class="Constant"> 2</span> +<span id="L222" class="LineNr"> 222 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>,<span class="Constant"> 0</span>,<span class="Constant"> 2</span> <span id="L223" class="LineNr"> 223 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> print <a href='../081print.mu.html#L4'>screen</a>, msg, color, <span class="Constant">238/grey/background</span> <span id="L224" class="LineNr"> 224 </span>] <span id="L225" class="LineNr"> 225 </span> @@ -342,13 +342,13 @@ if ('onhashchange' in window) { <span id="L279" class="LineNr"> 279 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> hidden? <span id="L280" class="LineNr"> 280 </span> <span class="Conceal">¦</span> <span class="Comment"># render sandbox menu</span> <span id="L281" class="LineNr"> 281 </span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> -<span id="L282" class="LineNr"> 282 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, left +<span id="L282" class="LineNr"> 282 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, left <span id="L283" class="LineNr"> 283 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='005-sandbox.mu.html#L325'>render-sandbox-menu</a> <a href='../081print.mu.html#L4'>screen</a>, idx, left, right <span id="L284" class="LineNr"> 284 </span> <span class="Conceal">¦</span> <span class="Comment"># save menu row so we can detect clicks to it later</span> <span id="L285" class="LineNr"> 285 </span> <span class="Conceal">¦</span> *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">starting-row-on-screen:offset</span>, row <span id="L286" class="LineNr"> 286 </span> <span class="Conceal">¦</span> <span class="Comment"># render sandbox contents</span> <span id="L287" class="LineNr"> 287 </span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> -<span id="L288" class="LineNr"> 288 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, left +<span id="L288" class="LineNr"> 288 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, left <span id="L289" class="LineNr"> 289 </span> <span class="Conceal">¦</span> sandbox-data:text <span class="Special"><-</span> get *sandbox, <span class="Constant">data:offset</span> <span id="L290" class="LineNr"> 290 </span> <span class="Conceal">¦</span> row, <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='003-shortcuts.mu.html#L1745'>render-code</a> <a href='../081print.mu.html#L4'>screen</a>, sandbox-data, left, right, row <span id="L291" class="LineNr"> 291 </span> <span class="Conceal">¦</span> *sandbox <span class="Special"><-</span> put *sandbox, <span class="Constant">code-ending-row-on-screen:offset</span>, row @@ -431,7 +431,7 @@ if ('onhashchange' in window) { <span id="L368" class="LineNr"> 368 </span> <span class="Constant">load-ingredients</span> <span id="L369" class="LineNr"> 369 </span> <span class="muControl">return-unless</span> s <span id="L370" class="LineNr"> 370 </span> column:num <span class="Special"><-</span> copy left -<span id="L371" class="LineNr"> 371 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L371" class="LineNr"> 371 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L372" class="LineNr"> 372 </span> <a href='../081print.mu.html#L748'>screen-height</a>:num <span class="Special"><-</span> <a href='../081print.mu.html#L748'>screen-height</a> <a href='../081print.mu.html#L4'>screen</a> <span id="L373" class="LineNr"> 373 </span> i:num <span class="Special"><-</span> copy<span class="Constant"> 0</span> <span id="L374" class="LineNr"> 374 </span> len:num <span class="Special"><-</span> length *s @@ -457,7 +457,7 @@ if ('onhashchange' in window) { <span id="L394" class="LineNr"> 394 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> <span id="L395" class="LineNr"> 395 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> <span id="L396" class="LineNr"> 396 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left -<span id="L397" class="LineNr"> 397 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L397" class="LineNr"> 397 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L398" class="LineNr"> 398 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> i <span class="Special"><-</span> add i,<span class="Constant"> 1</span> <span id="L399" class="LineNr"> 399 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> <span id="L400" class="LineNr"> 400 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> @@ -470,7 +470,7 @@ if ('onhashchange' in window) { <span id="L407" class="LineNr"> 407 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, wrap-icon, <span class="Constant">245/grey</span> <span id="L408" class="LineNr"> 408 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left <span id="L409" class="LineNr"> 409 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> -<span id="L410" class="LineNr"> 410 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L410" class="LineNr"> 410 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L411" class="LineNr"> 411 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment"># don't increment i</span> <span id="L412" class="LineNr"> 412 </span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="muControl">loop</span> <span class="Constant">+next-character</span> <span id="L413" class="LineNr"> 413 </span> <span class="Conceal">¦</span> <span class="Delimiter">}</span> @@ -485,7 +485,7 @@ if ('onhashchange' in window) { <span id="L422" class="LineNr"> 422 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> was-at-left? <span id="L423" class="LineNr"> 423 </span> <span class="Conceal">¦</span> row <span class="Special"><-</span> add row,<span class="Constant"> 1</span> <span id="L424" class="LineNr"> 424 </span> <span class="Delimiter">}</span> -<span id="L425" class="LineNr"> 425 </span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, left +<span id="L425" class="LineNr"> 425 </span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, left <span id="L426" class="LineNr"> 426 </span>] <span id="L427" class="LineNr"> 427 </span> <span id="L428" class="LineNr"> 428 </span><span class="muScenario">scenario</span> read-text-wraps-barely-long-lines [ @@ -544,7 +544,7 @@ if ('onhashchange' in window) { <span id="L481" class="LineNr"> 481 </span> <span class="muControl">return-unless</span> sandbox-screen <span id="L482" class="LineNr"> 482 </span> <span class="Comment"># print 'screen:'</span> <span id="L483" class="LineNr"> 483 </span> row <span class="Special"><-</span> <a href='005-sandbox.mu.html#L366'>render-text</a> <a href='../081print.mu.html#L4'>screen</a>, <span class="Constant">[screen:]</span>, left, right, <span class="Constant">245/grey</span>, row -<span id="L484" class="LineNr"> 484 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, left +<span id="L484" class="LineNr"> 484 </span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, left <span id="L485" class="LineNr"> 485 </span> <span class="Comment"># start printing sandbox-screen</span> <span id="L486" class="LineNr"> 486 </span> column:num <span class="Special"><-</span> copy left <span id="L487" class="LineNr"> 487 </span> s-width:num <span class="Special"><-</span> <a href='../081print.mu.html#L735'>screen-width</a> sandbox-screen @@ -561,7 +561,7 @@ if ('onhashchange' in window) { <span id="L498" class="LineNr"> 498 </span> <span class="Conceal">¦</span> done? <span class="Special"><-</span> greater-or-equal row, <a href='../081print.mu.html#L748'>screen-height</a> <span id="L499" class="LineNr"> 499 </span> <span class="Conceal">¦</span> <span class="muControl">break-if</span> done? <span id="L500" class="LineNr"> 500 </span> <span class="Conceal">¦</span> column <span class="Special"><-</span> copy left -<span id="L501" class="LineNr"> 501 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, row, column +<span id="L501" class="LineNr"> 501 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, row, column <span id="L502" class="LineNr"> 502 </span> <span class="Conceal">¦</span> <span class="Comment"># initial leader for each row: two spaces and a '.'</span> <span id="L503" class="LineNr"> 503 </span> <span class="Conceal">¦</span> space:char <span class="Special"><-</span> copy <span class="Constant">32/space</span> <span id="L504" class="LineNr"> 504 </span> <span class="Conceal">¦</span> print <a href='../081print.mu.html#L4'>screen</a>, space, <span class="Constant">245/grey</span> @@ -995,7 +995,7 @@ if ('onhashchange' in window) { <span id="L932" class="LineNr"> 932 </span> <span class="Conceal">¦</span> scrolling?:bool <span class="Special"><-</span> greater-or-equal render-from,<span class="Constant"> 0</span> <span id="L933" class="LineNr"> 933 </span> <span class="Conceal">¦</span> <span class="muControl">break-unless</span> scrolling? <span id="L934" class="LineNr"> 934 </span> <span class="Conceal">¦</span> cursor-column:num <span class="Special"><-</span> get *current-sandbox, <span class="Constant">left:offset</span> -<span id="L935" class="LineNr"> 935 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> <a href='../081print.mu.html#L573'>move-cursor</a> <a href='../081print.mu.html#L4'>screen</a>, <span class="Constant">2/row</span>, cursor-column <span class="Comment"># highlighted sandbox will always start at row 2</span> +<span id="L935" class="LineNr"> 935 </span> <span class="Conceal">¦</span> <a href='../081print.mu.html#L4'>screen</a> <span class="Special"><-</span> move-cursor <a href='../081print.mu.html#L4'>screen</a>, <span class="Constant">2/row</span>, cursor-column <span class="Comment"># highlighted sandbox will always start at row 2</span> <span id="L936" class="LineNr"> 936 </span> <span class="Conceal">¦</span> <span class="muControl">return</span> <span id="L937" class="LineNr"> 937 </span> <span class="Delimiter">}</span> <span id="L938" class="LineNr"> 938 </span>] diff --git a/sandbox/002-typing.mu b/sandbox/002-typing.mu index 7c385b6f..c6c8edd5 100644 --- a/sandbox/002-typing.mu +++ b/sandbox/002-typing.mu @@ -30,7 +30,7 @@ def editor-event-loop screen:&:screen, console:&:console, editor:&:editor -> scr t:touch-event, is-touch?:bool <- maybe-convert e, touch:variant { break-unless is-touch? - move-cursor-in-editor screen, editor, t + move-cursor editor, screen, t loop +next-event } # keyboard events @@ -47,7 +47,7 @@ def editor-event-loop screen:&:screen, console:&:console, editor:&:editor -> scr ] # process click, return if it was on current editor -def move-cursor-in-editor screen:&:screen, editor:&:editor, t:touch-event -> in-focus?:bool, editor:&:editor [ +def move-cursor editor:&:editor, screen:&:screen, t:touch-event -> in-focus?:bool, editor:&:editor [ local-scope load-ingredients return-unless editor, 0/false @@ -62,7 +62,7 @@ def move-cursor-in-editor screen:&:screen, editor:&:editor, t:touch-event -> in- return-if too-far-right?, 0/false # position cursor <move-cursor-begin> - editor <- snap-cursor screen, editor, click-row, click-column + editor <- snap-cursor editor, screen, click-row, click-column undo-coalesce-tag:num <- copy 0/never <move-cursor-end> # gain focus @@ -72,7 +72,7 @@ def move-cursor-in-editor screen:&:screen, editor:&:editor, t:touch-event -> in- # Variant of 'render' that only moves the cursor (coordinates and # before-cursor). If it's past the end of a line, it 'slides' it left. If it's # past the last line it positions at end of last line. -def snap-cursor screen:&:screen, editor:&:editor, target-row:num, target-column:num -> editor:&:editor [ +def snap-cursor editor:&:editor, screen:&:screen, target-row:num, target-column:num -> editor:&:editor [ local-scope load-ingredients return-unless editor diff --git a/sandbox/004-programming-environment.mu b/sandbox/004-programming-environment.mu index 9e28a215..ab91cdaf 100644 --- a/sandbox/004-programming-environment.mu +++ b/sandbox/004-programming-environment.mu @@ -64,7 +64,7 @@ def event-loop screen:&:screen, console:&:console, env:&:environment, resources: click-column:num <- get t, column:offset # later exceptions for non-editor touches will go here <global-touch> - move-cursor-in-editor screen, current-sandbox, t + move-cursor current-sandbox, screen, t screen <- update-cursor screen, current-sandbox, env loop +next-event } |