PageSourceSearch

https://tangentstorm.github.io/bled.rx.html

html tangentstorm.github.io collected 2026-10-03 10:03:25 UTC 29,220 bytes, 391 lines download raw bytes

1<?xml version="1.0" encoding="utf-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5<head>
6<title>bled : a dvorak-oriented fork of the retro editor</title>
7<!-- 2014-02-08 Sat 07:39 -->
8<meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
9<meta  name="generator" content="Org-mode" />
10<meta  name="author" content="michal wallace" />
11<link rel="stylesheet" type="text/css" href="/etc/style.css">
12<script type="text/javascript">
13/*
14@licstart  The following is the entire license notice for the
15JavaScript code in this tag.
16
17Copyright (C) 2012-2013 Free Software Foundation, Inc.
18
19The JavaScript code in this tag is free software: you can
20redistribute it and/or modify it under the terms of the GNU
21General Public License (GNU GPL) as published by the Free Software
22Foundation, either version 3 of the License, or (at your option)
23any later version.  The code is distributed WITHOUT ANY WARRANTY;
24without even the implied warranty of MERCHANTABILITY or FITNESS
25FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
26
27As additional permission under GNU GPL version 3 section 7, you
28may distribute non-source (e.g., minimized or compacted) forms of
29that code without the copy of the GNU GPL normally required by
30section 4, provided you include this license notice and a URL
31through which recipients can access the Corresponding Source.
32
33
34@licend  The above is the entire license notice
35for the JavaScript code in this tag.
36*/
37<!--/*--><![CDATA[/*><!--*/
38 function CodeHighlightOn(elem, id)
39 {
40   var target = document.getElementById(id);
41   if(null != target) {
42     elem.cacheClassElem = elem.className;
43     elem.cacheClassTarget = target.className;
44     target.className = "code-highlighted";
45     elem.className   = "code-highlighted";
46   }
47 }
48 function CodeHighlightOff(elem, id)
49 {
50   var target = document.getElementById(id);
51   if(elem.cacheClassElem)
52     elem.className = elem.cacheClassElem;
53   if(elem.cacheClassTarget)
54     target.className = elem.cacheClassTarget;
55 }
56/*]]>*///-->
57</script>
57
58</head>
59<body>
60<div id="content">
61<h1 class="title">bled : a dvorak-oriented fork of the retro editor</h1>
62<div id="table-of-contents">
63<h2>Table of Contents</h2>
64<div id="text-table-of-contents">
65<ul>
66<li><a href="#sec-1">1. keymap</a></li>
67<li><a href="#sec-2">2. implementation</a>
68<ul>
69<li><a href="#sec-2-1">2.1. variables, etc.</a></li>
70<li><a href="#sec-2-2">2.2. check boundaries</a></li>
71<li><a href="#sec-2-3">2.3. display a block</a></li>
72<li><a href="#sec-2-4">2.4. input processing</a></li>
73<li><a href="#sec-2-5">2.5. various support bits</a></li>
74</ul>
75</li>
76<li><a href="#sec-3">3. public interface</a></li>
77<li><a href="#sec-4">4. keymap</a></li>
78<li><a href="#sec-5">5. OUTPUT bled.rx</a></li>
79<li><a href="#sec-6">6. <code>[0/0]</code> issues list</a>
80<ul>
81<li><a href="#sec-6-1">6.1. <span class="todo TODO">TODO</span> note the TAB&rarr; ESC change in main retro docs..</a></li>
82</ul>
83</li>
84</ul>
85</div>
86</div>
87
88<div id="outline-container-sec-1" class="outline-2">
89<h2 id="sec-1"><span class="section-number-2">1</span> keymap</h2>
90<div class="outline-text-2" id="text-1">
91<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
92
93
94<colgroup>
95<col  class="left" />
96
97<col  class="left" />
98</colgroup>
99<thead>
100<tr>
101<th scope="col" class="left">Key</th>
102<th scope="col" class="left">Action</th>
103</tr>
104</thead>
105<tbody>
106<tr>
107<td class="left">c</td>
108<td class="left">Move cursor up</td>
109</tr>
110
111<tr>
112<td class="left">h</td>
113<td class="left">Move cursor left</td>
114</tr>
115
116<tr>
117<td class="left">t</td>
118<td class="left">Move cursor down</td>
119</tr>
120
121<tr>
122<td class="left">r</td>
123<td class="left">Move cursor right</td>
124</tr>
125
126<tr>
127<td class="left">e</td>
128<td class="left">Evaluate current block</td>
129</tr>
130
131<tr>
132<td class="left">E</td>
133<td class="left">Evaluate all blocks</td>
134</tr>
135
136<tr>
137<td class="left">m</td>
138<td class="left">Move cursor to start of next line</td>
139</tr>
140
141<tr>
142<td class="left">C</td>
143<td class="left">Move cursor to top line of block</td>
144</tr>
145
146<tr>
147<td class="left">H</td>
148<td class="left">Move cursor to start of current line</td>
149</tr>
150
151<tr>
152<td class="left">T</td>
153<td class="left">Move cursor to last line of block</td>
154</tr>
155
156<tr>
157<td class="left">S</td>
158<td class="left">Move cursor to end of current line</td>
159</tr>
160
161<tr>
162<td class="left">M</td>
163<td class="left">Center cursor on current line</td>
164</tr>
165
166<tr>
167<td class="left">z</td>
168<td class="left">Exit RxE</td>
169</tr>
170
171<tr>
172<td class="left">Esc</td>
173<td class="left">Switch between edit and command mode</td>
174</tr>
175
176<tr>
177<td class="left">{</td>
178<td class="left">Load "blocks"</td>
179</tr>
180
181<tr>
182<td class="left">}</td>
183<td class="left">Save "blocks"</td>
184</tr>
185
186<tr>
187<td class="left">[</td>
188<td class="left">Switch to previous block</td>
189</tr>
190
191<tr>
192<td class="left">]</td>
193<td class="left">Switch to next block</td>
194</tr>
195</tbody>
196</table>
197</div>
198</div>
199<div id="outline-container-sec-2" class="outline-2">
200<h2 id="sec-2"><span class="section-number-2">2</span> implementation</h2>
201<div class="outline-text-2" id="text-2">
202</div><div id="outline-container-sec-2-1" class="outline-3">
203<h3 id="sec-2-1"><span class="section-number-3">2.1</span> variables, etc.</h3>
204<div class="outline-text-3" id="text-2-1">
205<div class="org-src-container">
206
207<pre class="src src-retro" id="private"><span style="color: #c63; font-weight: bold;">:</span> 2/ <span style="color: #32cd32;">1</span> <span style="color: #00ffff;">&gt;&gt;</span> <span style="color: #c63; font-weight: bold;">;</span>
208<span style="color: #32cd32;">64</span> <span style="color: #c63; font-weight: bold;">constant</span> cols
209<span style="color: #32cd32;">16</span> <span style="color: #c63; font-weight: bold;">constant</span> rows
210cols rows <span style="color: #00ffff;">*</span> <span style="color: #c63; font-weight: bold;">constant</span> blksz
211
212<span style="color: #c63; font-weight: bold;">variables|</span> buffer count <span style="color: #c63; font-weight: bold;">|</span>
213<span style="color: #c63; font-weight: bold;">:</span> restore <span style="color: #66f;">( -   )</span> &amp;getc <span style="color: #c63; font-weight: bold;">:devector</span> ok <span style="color: #c63; font-weight: bold;">;</span>
214<span style="color: #c63; font-weight: bold;">:</span>
214 get     <span style="color: #66f;">( -c  )</span> @buffer <span style="color: #00ffff;">@</span> <span style="color: #c63; font-weight: bold;">;</span>
215<span style="color: #c63; font-weight: bold;">:</span> <span style="color: #ffd700; font-weight: bold;">next</span>    <span style="color: #66f;">( -c  )</span> @count <span style="color: #00ffff;">[</span> count <span style="color: #00ffff;">--</span> get buffer <span style="color: #00ffff;">++</span> <span style="color: #00ffff;">]</span> <span style="color: #00ffff;">[</span> <span style="color: #32cd32;">32</span> restore <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">if</span> <span style="color: #c63; font-weight: bold;">;</span>
216<span style="color: #c63; font-weight: bold;">:</span> replace <span style="color: #66f;">( -   )</span> &amp;next &amp;getc <span style="color: #c63; font-weight: bold;">:is</span> <span style="color: #c63; font-weight: bold;">;</span>
217<span style="color: #c63; font-weight: bold;">:</span> <span style="color: #c63; font-weight: bold;">eval</span>    <span style="color: #66f;">( an- )</span> !count !buffer replace <span style="color: #c63; font-weight: bold;">;</span>
218
219<span style="color: #c63; font-weight: bold;">variables|</span> #blocks offset blk line column mode active <span style="color: #c63; font-weight: bold;">|</span>
220<span style="color: #c63; font-weight: bold;">:</span> toBlock   blksz <span style="color: #00ffff;">*</span> @offset <span style="color: #00ffff;">+</span> <span style="color: #c63; font-weight: bold;">;</span>
221<span style="color: #c63; font-weight: bold;">:</span> thisBlock @blk toBlock <span style="color: #c63; font-weight: bold;">;</span>
222<span style="color: #c63; font-weight: bold;">:</span> toLine    cols <span style="color: #00ffff;">*</span> thisBlock <span style="color: #00ffff;">+</span> <span style="color: #c63; font-weight: bold;">;</span>
223</pre>
224</div>
225</div>
226</div>
227<div id="outline-container-sec-2-2" class="outline-3">
228<h3 id="sec-2-2"><span class="section-number-3">2.2</span> check boundaries</h3>
229<div class="outline-text-3" id="text-2-2">
230<div class="org-src-container">
231
232<pre class="src src-retro" id="private"><span style="color: #66f;">( check boundaries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )</span>
233<span style="color: #c63; font-weight: bold;">:</span> top <span style="color: #66f;">( - )</span>  <span style="color: #32cd32;">0</span> !line <span style="color: #c63; font-weight: bold;">;</span>
234<span style="color: #c63; font-weight: bold;">:</span> bot <span style="color: #66f;">( - )</span> rows <span style="color: #00ffff;">1-</span> !line <span style="color: #c63; font-weight: bold;">;</span>
235<span style="color: #c63; font-weight: bold;">:</span> beg <span style="color: #66f;">( - )</span>  <span style="color: #32cd32;">0</span> !column <span style="color: #c63; font-weight: bold;">;</span>
236<span style="color: #c63; font-weight: bold;">:</span> end <span style="color: #66f;">( - )</span> cols <span style="color: #00ffff;">1-</span> !column <span style="color: #c63; font-weight: bold;">;</span>
237<span style="color: #c63; font-weight: bold;">:</span> mid <span style="color: #66f;">( - )</span> rows 2/ !column <span style="color: #c63; font-weight: bold;">;</span>
238<span style="color: #c63; font-weight: bold;">:</span> 1st <span style="color: #66f;">( - )</span>  <span style="color: #32cd32;">0</span> !blk <span style="color: #c63; font-weight: bold;">;</span>
239<span style="color: #c63; font-weight: bold;">:</span> bounds <span style="color: #66f;">( - )</span>
240  @column <span style="color: #32cd32;">-1</span> <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> end line <span style="color: #00ffff;">--</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span>
241  @column cols <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> beg line <span style="color: #00ffff;">++</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span>
242  @line   <span style="color: #32cd32;">-1</span> <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> top blk  <span style="color: #00ffff;">--</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span>
243  @line   rows <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> bot blk  <span style="color: #00ffff;">++</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span>
244  @blk    <span style="color: #32cd32;">-1</span> <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span>
244 1st         <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span>
245  @blk    @#blocks <span style="color: #00ffff;">&gt;=</span> <span style="color: #00ffff;">[</span> blk <span style="color: #00ffff;">--</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span> <span style="color: #c63; font-weight: bold;">;</span>
246</pre>
247</div>
248</div>
249</div>
250<div id="outline-container-sec-2-3" class="outline-3">
251<h3 id="sec-2-3"><span class="section-number-3">2.3</span> display a block</h3>
252<div class="outline-text-3" id="text-2-3">
253<div class="org-src-container">
254
255<pre class="src src-retro" id="private"><span style="color: #66f;">( display a block ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )</span>
256<span style="color: #c63; font-weight: bold;">:</span> ds/rows rows <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">dup</span> cols <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">@</span> putc <span style="color: #00ffff;">]</span> ^types'BUFFER <span style="color: #00ffff;">each@</span> cols <span style="color: #00ffff;">+</span> cr <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">times</span> <span style="color: #c63; font-weight: bold;">;</span>
257<span style="color: #c63; font-weight: bold;">:</span> mode?   @mode <span style="color: #00ffff;">[</span> <span style="color: #00ff00;">"INS"</span> <span style="color: #00ffff;">]</span> <span style="color: #00ffff;">[</span> <span style="color: #00ff00;">"CMD"</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">if</span> <span style="color: #c63; font-weight: bold;">;</span>
258<span style="color: #c63; font-weight: bold;">:</span> .block  @column @line @blk mode? <span style="color: #00ff00;">"(%s) #%d - %d:%d  "</span> puts <span style="color: #c63; font-weight: bold;">;</span>
259<span style="color: #c63; font-weight: bold;">:</span> bar     cols <span style="color: #00ffff;">[</span> '- putc <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">times</span> cr <span style="color: #c63; font-weight: bold;">;</span>
260<span style="color: #c63; font-weight: bold;">:</span> vb      @blk toBlock ds/rows <span style="color: #00ffff;">drop</span> bar .block <span style="color: #c63; font-weight: bold;">;</span> <span style="color: #66f;">( visualize block ? )</span>
261<span style="color: #c63; font-weight: bold;">:</span> (v)     <span style="color: #66f;">(   -   )</span> clear vb <span style="color: #c63; font-weight: bold;">;</span>
262<span style="color: #c63; font-weight: bold;">:</span> pos     <span style="color: #66f;">(   -cl )</span> @column @line <span style="color: #c63; font-weight: bold;">;</span>
263<span style="color: #c63; font-weight: bold;">:</span>
263 get     <span style="color: #66f;">( cl-a  )</span> toLine <span style="color: #00ffff;">+</span> <span style="color: #c63; font-weight: bold;">;</span>
264<span style="color: #c63; font-weight: bold;">:</span> va      <span style="color: #66f;">(  a-va )</span> <span style="color: #00ffff;">dup</span> <span style="color: #00ffff;">@</span> <span style="color: #00ffff;">swap</span> <span style="color: #c63; font-weight: bold;">;</span>
265<span style="color: #c63; font-weight: bold;">:</span> c!      <span style="color: #66f;">(  a-   )</span> '* <span style="color: #00ffff;">swap</span> <span style="color: #00ffff;">!</span> <span style="color: #c63; font-weight: bold;">;</span>
266<span style="color: #c63; font-weight: bold;">:</span> show    <span style="color: #66f;">( va-   )</span> <span style="color: #00ffff;">dup</span> c! (v) <span style="color: #00ffff;">!</span> <span style="color: #c63; font-weight: bold;">;</span>
267<span style="color: #c63; font-weight: bold;">:</span> display <span style="color: #66f;">(   -   )</span> bounds pos get va show <span style="color: #c63; font-weight: bold;">;</span>
268</pre>
269</div>
270</div>
271</div>
272<div id="outline-container-sec-2-4" class="outline-3">
273<h3 id="sec-2-4"><span class="section-number-3">2.4</span> input processing</h3>
274<div class="outline-text-3" id="text-2-4">
275<div class="org-src-container">
276
277<pre class="src src-retro" id="private"><span style="color: #66f;">( input processing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )</span>
278
279<span style="color: #32cd32;">27</span> <span style="color: #c63; font-weight: bold;">constant</span> Esc
280
281<span style="color: #c63; font-weight: bold;">:</span> advance? <span style="color: #66f;">(  -  )</span> line <span style="color: #00ffff;">++</span> @line rows <span style="color: #00ffff;">&gt;=</span> <span style="color: #00ffff;">[</span> <span style="color: #32cd32;">0</span> !line blk <span style="color: #00ffff;">++</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span> <span style="color: #32cd32;">0</span> !column <span style="color: #c63; font-weight: bold;">;</span>
282<span style="color: #c63; font-weight: bold;">:</span> del <span style="color: #66f;">( - )</span>
283  @column <span style="color: #00ffff;">dup</span>
284  <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">dup</span> cols <span style="color: #00ffff;">=</span>
285    <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">drop</span> !column display    <span style="color: #32cd32;">0</span> <span style="color: #00ffff;">]</span>
286    <span style="color: #00ffff;">[</span> <span style="color: #32cd32;">32</span> <span style="color: #00ffff;">over</span> @line get <span style="color: #00ffff;">!</span> <span style="color: #00ffff;">1+</span> <span style="color: #32cd32;">-1</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">if</span>
287  <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">while</span> <span style="color: #c63; font-weight: bold;">;</span>
288<span style="color: #c63; font-weight: bold;">:</span> remap    <span style="color: #66f;">( c-c )</span>
289  <span style="color: #00ffff;">dup</span>  <span style="color: #32cd32;">9</span> <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">drop</span> Esc <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span>
290  <span style="color: #00ffff;">dup</span> <span style="color: #32cd32;">13</span> <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">drop</span>  <span style="color: #32cd32;">0</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span>
291  <span style="color: #00ffff;">dup</span> <span style="color: #32cd32;">10</span> <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">drop</span>  <span style="color: #32cd32;">0</span> advance? display <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span> <span style="color: #c63; font-weight: bold;">;</span>
292<span style="color: #c63; font-weight: bold;">:</span> input    <span style="color: #66f;">(  -  )</span>
293  <span style="color: #ffd700; font-weight: bold;">repeat</span>
294    display
295    @mode <span style="color: #ffd700; font-weight: bold;">0;</span> <span style="color: #00ffff;">drop</span>
296    getc <span style="color: #ffd700; font-weight: bold;">0;</span>
297    <span style="color: #00ffff;">dup</span> Esc <span style="color: #00ffff;">&lt;&gt;</span> <span style="color: #ffd700; font-weight: bold;">0;</span> <span style="color: #00ffff;">drop</span>
298    <span style="color: #00ffff;">dup</span>  <span style="color: #32cd32;">8</span> <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> <span style="color: #00ffff;">drop</span> column <span style="color: #00ffff;">--</span> display <span style="color: #00ffff;">]</span> <span style="color: #00ffff;">[</span> pos get <span style="color: #00ffff;">!</span> column <span style="color: #00ffff;">++</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">if</span>
299  <span style="color: #ffd700; font-weight: bold;">again</span> <span style="color: #c63; font-weight: bold;">;</span>
300<span style="color: #c63; font-weight: bold;">:</span> rxe.in   <span style="color: #66f;">(  -c )</span> mode <span style="color: #00ffff;">on</span> remapping <span style="color: #00ffff;">[</span> remapping <span style="color: #00ffff;">off</span> input <span style="color: #00ffff;">]</span> preserve mode <span style="color: #00ffff;">off</span> <span style="color: #c63; font-weight: bold;">;</span>
301<span style="color: #c63; font-weight: bold;">:</span> match    <span style="color: #66f;">( c-  )</span> <span style="color: #00ff00;">
301"$$_"</span> <span style="color: #00ffff;">dup</span> <span style="color: #00ffff;">[</span> <span style="color: #32cd32;">2</span> <span style="color: #00ffff;">+</span> <span style="color: #00ffff;">!</span> <span style="color: #00ffff;">]</span> <span style="color: #00ffff;">dip</span> <span style="color: #c63; font-weight: bold;">find</span> <span style="color: #00ffff;">[</span> @d-&gt;xt <span style="color: #c63; font-weight: bold;">do</span> <span style="color: #00ffff;">]</span> &amp;drop <span style="color: #ffd700; font-weight: bold;">if</span> <span style="color: #c63; font-weight: bold;">;</span>
302<span style="color: #c63; font-weight: bold;">:</span> edit?    <span style="color: #66f;">( c-c )</span> <span style="color: #00ffff;">dup</span> Esc <span style="color: #00ffff;">=</span> <span style="color: #00ffff;">[</span> rxe.in <span style="color: #00ffff;">drop</span> <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">ifTrue</span> <span style="color: #c63; font-weight: bold;">;</span>
303</pre>
304</div>
305</div>
306</div>
307<div id="outline-container-sec-2-5" class="outline-3">
308<h3 id="sec-2-5"><span class="section-number-3">2.5</span> various support bits</h3>
309<div class="outline-text-3" id="text-2-5">
310<div class="org-src-container">
311
312<pre class="src src-retro" id="private"><span style="color: #66f;">( various support bits  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ )</span>
313<span style="color: #c63; font-weight: bold;">:</span> new        <span style="color: #66f;">(  - )</span> @offset <span style="color: #32cd32;">32</span> blksz @#blocks <span style="color: #00ffff;">*</span> <span style="color: #00ffff;">fill</span> <span style="color: #c63; font-weight: bold;">;</span>
314<span style="color: #c63; font-weight: bold;">:</span> e          <span style="color: #66f;">(  - )</span> thisBlock blksz <span style="color: #c63; font-weight: bold;">eval</span> <span style="color: #c63; font-weight: bold;">;</span>
315<span style="color: #c63; font-weight: bold;">:</span> ea         <span style="color: #66f;">(  - )</span> @offset @#blocks blksz <span style="color: #00ffff;">*</span> <span style="color: #c63; font-weight: bold;">eval</span> <span style="color: #c63; font-weight: bold;">;</span>
316<span style="color: #c63; font-weight: bold;">:</span> run        <span style="color: #66f;">(  - )</span>
317  active <span style="color: #00ffff;">on</span> &amp;remap &amp;remapKeys <span style="color: #c63; font-weight: bold;">:is</span> clear
318  <span style="color: #00ffff;">[</span> display getc edit? match @active <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">while</span> &amp;remapKeys <span style="color: #c63; font-weight: bold;">:devector</span> <span style="color: #c63; font-weight: bold;">;</span>
319<span style="color: #c63; font-weight: bold;">:</span> min-wh     <span style="color: #66f;">( -nn )</span> rows <span style="color: #32cd32;">2</span> <span style="color: #00ffff;">+</span> cols <span style="color: #c63; font-weight: bold;">;</span>
320</pre>
321</div>
322</div>
323</div>
324</div>
325<div id="outline-container-sec-3" class="outline-2">
326<h2 id="sec-3"><span class="section-number-2">3</span> public interface</h2>
327<div class="outline-text-2" id="text-3">
328<div class="org-src-container">
329
330<pre class="src src-retro" id="public"><span style="color: #c63; font-weight: bold;">:</span> setBlocks <span style="color: #66f;">( n- )</span> !#blocks <span style="color: #00ffff;">here</span> blksz @#blocks <span style="color: #00ffff;">*</span> <span style="color: #00ffff;">allot</span> !offset new <span style="color: #c63; font-weight: bold;">;</span>
331<span style="color: #c63; font-weight: bold;">:</span> edit <span style="color: #66f;">( - )</span>
332  min-wh <span style="color: #00ffff;">push</span> <span style="color: #00ffff;">push</span>     @ch <span style="color: #00ffff;">pop</span> <span style="color: #00ffff;">&gt;=</span> @cw <span style="color: #00ffff;">pop</span> <span style="color: #00ffff;">&gt;=</span> <span style="color: #00ffff;">and</span>
333  &amp;run <span style="color: #00ffff;">[</span> min-wh <span style="color: #00ffff;">swap</span> <span style="color: #00ff00;">"requires an "</span> puts putn <span style="color: #00ff00;">"x"</span> puts putn
334         <span style="color: #00ff00;">"or greater display, sorry!\n"</span> puts <span style="color: #00ffff;">]</span> <span style="color: #ffd700; font-weight: bold;">if</span> <span style="color: #c63; font-weight: bold;">;</span>
335</pre>
336</div>
337</div>
338</div>
339<div id="outline-container-sec-4" class="outline-2">
340<h2 id="sec-4"><span class="section-number-2">4</span> keymap</h2>
341<div class="outline-text-2" id="text-4">
342<div class="org-src-container">
343
344<pre class="src src-retro" id="public"><span style="color: #66f;">( dvorak keymap )</span>
345<span style="color: #c63; font-weight: bold;">:</span> $$c line <span style="color: #00ffff;">--</span> <span style="color: #c63; font-weight: bold;">;</span>      <span style="color: #c63; font-weight: bold;">:</span> $$C top <span style="color: #c63; font-weight: bold;">;</span>
346<span style="color: #c63; font-weight: bold;">:</span> $$h column <span style="color: #00ffff;">--</span> <span style="color: #c63; font-weight: bold;">;</span>    <span style="color: #c63; font-weight: bold;">:</span> $$H beg <span style="color: #c63; font-weight: bold;">;</span>
347<span style="color: #c63; font-weight: bold;">:</span> $$t line <span style="color: #00ffff;">++</span> <span style="color: #c63; font-weight: bold;">;</span>      <span style="color: #c63; font-weight: bold;">:</span> $$T bot <span style="color: #c63; font-weight: bold;">;</span>
348<span style="color: #c63; font-weight: bold;">:</span> $$n column <span style="color: #00ffff;">++</span> <span style="color: #c63; font-weight: bold;">;</span>    <span style="color: #c63; font-weight: bold;">:</span> $$N end <span style="color: #c63; font-weight: bold;">;</span>
349<span style="color: #c63; font-weight: bold;">:</span> $$m $$t beg <span style="color: #c63; font-weight: bold;">;</span>      <span style="color: #c63; font-weight: bold;">:</span> $$M mid <span style="color: #c63; font-weight: bold;">;</span>
350<span style="color: #c63; font-weight: bold;">:</span> $$d del <span style="color: #c63; font-weight: bold;">;</span>
351<span style="color: #c63; font-weight: bold;">:</span> $$[ blk <span style="color: #00ffff;">--</span> <span style="color: #c63; font-weight: bold;">;</span>       <span style="color: #c63; font-weight: bold;">:</span> $$] blk <span style="color: #00ffff;">++</span> <span style="color: #c63; font-weight: bold;">;</span>
352<span style="color: #c63; font-weight: bold;">:</span> $${ @offset <span style="color: #00ff00;">"blocks"</span> ^files'slurp <span style="color: #00ffff;">drop</span> <span style="color: #c63; font-weight: bold;">;</span>
353<span style="color: #c63; font-weight: bold;">:</span> $$} @offset @#blocks @blksz <span style="color: #00ffff;">*</span> <span style="color: #00ff00;">"blocks"</span> ^files'spew <span style="color: #00ffff;">drop</span> <span style="color: #c63; font-weight: bold;">;</span>
354<span style="color: #c63; font-weight: bold;">:</span> $$e active <span style="color: #00ffff;">off</span>  e <span style="color: #c63; font-weight: bold;">;</span>
355<span style="color: #c63; font-weight: bold;">:</span> $$E active <span style="color: #00ffff;">off</span> ea <span style="color: #c63; font-weight: bold;">;</span>
356<span style="color: #c63; font-weight: bold;">:</span> $$z active <span style="color: #00ffff;">off</span>    <span style="color: #c63; font-weight: bold;">;</span>
357</pre>
358</div>
359</div>
360</div>
361<div id="outline-container-sec-5" class="outline-2">
362<h2 id="sec-5"><span class="section-number-2">5</span> OUTPUT bled.rx</h2>
363<div class="outline-text-2" id="text-5">
364<div class="org-src-container">
365
366<pre class="src src-retro"><span style="color: #c63; font-weight: bold;">needs</span> <span style="color: #ff6347;">files'</span>
367<span style="color: #c63; font-weight: bold;">chain:</span> <span style="color: #ff6347;">editor'</span>
368<span style="color: #c63; font-weight: bold;">{{</span>
369  &lt;&lt;private&gt;&gt;
370<span style="color: #c63; font-weight: bold;">---reveal---</span>
371  &lt;&lt;public&gt;&gt;
372<span style="color: #c63; font-weight: bold;">}}</span>
373  <span style="color: #32cd32;">128</span> setBlocks
374<span style="color: #c63; font-weight: bold;">;chain</span>
375
376<span style="color: #c63; font-weight: bold;">global</span>
377<span style="color: #c63; font-weight: bold;">with</span> <span style="color: #ff6347;">editor'</span>
378</pre>
379</div>
380</div>
381</div>
382<div id="outline-container-sec-6" class="outline-2">
383<h2 id="sec-6"><span class="section-number-2">6</span> <code>[0/0]</code> issues list</h2>
384<div class="outline-text-2" id="text-6">
385</div><div id="outline-container-sec-6-1" class="outline-3">
386<h3 id="sec-6-1"><span class="section-number-3">6.1</span> <span class="todo TODO">TODO</span> note the TAB&rarr; ESC change in main retro docs..</h3>
387</div>
388</div>
389</div>
390</body>
391</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.