aontu 0.60.0 → 0.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aontu.d.ts +1 -1
- package/dist/aontu.js +1 -1
- package/dist/cli.js +59 -23
- package/dist/cli.js.map +1 -1
- package/dist/format.d.ts +1 -0
- package/dist/format.js +97 -11
- package/dist/format.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/std.js +8 -0
- package/dist/std.js.map +1 -1
- package/dist/template.d.ts +2 -1
- package/dist/template.js +51 -15
- package/dist/template.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/aontu.ts +1 -1
- package/src/cli.ts +65 -25
- package/src/format.ts +116 -11
- package/src/std.ts +8 -0
- package/src/template.ts +55 -15
package/dist/template.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.DEFAULT_MARKER = void 0;
|
|
5
5
|
exports.desugarTemplate = desugarTemplate;
|
|
6
6
|
exports.resugarTemplate = resugarTemplate;
|
|
7
|
+
exports.templateOutputs = templateOutputs;
|
|
7
8
|
exports.markerFor = markerFor;
|
|
8
9
|
// THE TEMPLATE SURFACE (docs/design/TEMPLATE.0.md; RENDER.0.md P8).
|
|
9
10
|
// A generator written in the TARGET's own syntax: a marked line is
|
|
@@ -28,12 +29,22 @@ exports.markerFor = markerFor;
|
|
|
28
29
|
// comment, and derives for a language this table has never seen: the
|
|
29
30
|
// caller passes the token.
|
|
30
31
|
//
|
|
31
|
-
// A MARKER IS RECOGNISED AFTER LEADING WHITESPACE AND
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
// indented two spaces in the
|
|
35
|
-
//
|
|
36
|
-
// the
|
|
32
|
+
// A MARKER IS RECOGNISED AFTER LEADING WHITESPACE, AND THE INDENTATION
|
|
33
|
+
// THE RESUGARING WRITES IS THE AONTU'S (D2, amended 2026-09-07). An
|
|
34
|
+
// output line is verbatim -- a line indented two spaces in the template
|
|
35
|
+
// is indented two spaces in the generated file (D7) -- and that is the
|
|
36
|
+
// half a reader of the TARGET needs. The other half is the document:
|
|
37
|
+
// the marker lines carry a tree, and a tree nobody can see the shape of
|
|
38
|
+
// is the one thing this surface took away. So the marker stands at the
|
|
39
|
+
// left margin and the aontu is indented AFTER it, which `aontu fmt`
|
|
40
|
+
// (FMT.0.md M-BM-'3.14) is what writes.
|
|
41
|
+
//
|
|
42
|
+
// Reading is unchanged and stays generous: a marker after leading
|
|
43
|
+
// whitespace is a marker, and its own indentation still counts toward
|
|
44
|
+
// the aontu it carries, so a template written the other way desugars to
|
|
45
|
+
// the same document. What changes is the spelling the round trip
|
|
46
|
+
// answers, and `template --check` names the difference as the drift it
|
|
47
|
+
// is.
|
|
37
48
|
//
|
|
38
49
|
// THE SUGAR IS THE FIXPOINT OF THE TWO TRANSFORMS (D6), and that is
|
|
39
50
|
// the whole of the resugaring's safety. A canonical line that looks
|
|
@@ -121,13 +132,17 @@ function indentOf(line) {
|
|
|
121
132
|
}
|
|
122
133
|
return i;
|
|
123
134
|
}
|
|
124
|
-
// The line without its
|
|
125
|
-
function
|
|
135
|
+
// The line without its trailing spaces and tabs.
|
|
136
|
+
function trimEnd(line) {
|
|
126
137
|
let end = line.length;
|
|
127
138
|
while (0 < end && (' ' === line[end - 1] || '\t' === line[end - 1])) {
|
|
128
139
|
end--;
|
|
129
140
|
}
|
|
130
|
-
return line.slice(
|
|
141
|
+
return line.slice(0, end);
|
|
142
|
+
}
|
|
143
|
+
// The line without its indentation or its trailing spaces and tabs.
|
|
144
|
+
function trimLine(line) {
|
|
145
|
+
return trimEnd(line).slice(indentOf(line));
|
|
131
146
|
}
|
|
132
147
|
function readLine(line, marker) {
|
|
133
148
|
const cut = indentOf(line);
|
|
@@ -140,12 +155,15 @@ function readLine(line, marker) {
|
|
|
140
155
|
// The block form's closer is part of the marker, not of the aontu.
|
|
141
156
|
// A block marker line that never closes is not a marker line: the
|
|
142
157
|
// language's own parser would not read it as a comment either.
|
|
158
|
+
// Only the TRAILING space goes: what stands between the opener and
|
|
159
|
+
// the aontu is the aontu's indentation, exactly as it is for a line
|
|
160
|
+
// marker, and the one-space rule below takes the marker's own.
|
|
143
161
|
if (isBlock(marker)) {
|
|
144
162
|
const end = body.lastIndexOf(BLOCK_CLOSE);
|
|
145
163
|
if (end < 0) {
|
|
146
164
|
return { marker: false, indent: '', text: line };
|
|
147
165
|
}
|
|
148
|
-
body =
|
|
166
|
+
body = trimEnd(body.slice(0, end));
|
|
149
167
|
}
|
|
150
168
|
// ONE SPACE AFTER THE MARKER IS THE MARKER'S, so `//- x: 1` carries
|
|
151
169
|
// `x: 1` and the resugaring writes the space back. A marker written
|
|
@@ -246,12 +264,30 @@ function resugarTemplate(src, marker) {
|
|
|
246
264
|
if (undefined !== target && desugarTemplate(target, mark) === trimLine(line)) {
|
|
247
265
|
return target;
|
|
248
266
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
267
|
+
// THE MARKER STANDS AT THE LEFT MARGIN and the line's indentation
|
|
268
|
+
// is written after it, so the aontu's own shape is on the page.
|
|
269
|
+
// The one space is the marker's, which the reading takes back.
|
|
270
|
+
const text = trimEnd(line);
|
|
252
271
|
const close = isBlock(mark) ? ' ' + BLOCK_CLOSE : '';
|
|
253
|
-
return '' === text ?
|
|
272
|
+
return '' === text ? mark + close : mark + ' ' + text + close;
|
|
254
273
|
});
|
|
255
274
|
return out.join('\n') + (tail ? '\n' : '');
|
|
256
|
-
}
|
|
275
|
+
}
|
|
276
|
+
// WHICH LINES OF THE DESUGARED DOCUMENT ARE THE TARGET'S. The
|
|
277
|
+
// desugaring is line for line, so this is one flag per line of what
|
|
278
|
+
// `desugarTemplate` returns: true where the template's line was not a
|
|
279
|
+
// marker, and so where the document's line is one quoted line of the
|
|
280
|
+
// generated file.
|
|
281
|
+
//
|
|
282
|
+
// `aontu fmt` reads it (FMT.0.md M-BM-'3.14) to hold those lines on lines of
|
|
283
|
+
// their own. A body element is a string like any other, and the packing
|
|
284
|
+
// budget would put three of them on one line -- which is aontu where
|
|
285
|
+
// three lines of output were, and a generator that writes them as one.
|
|
286
|
+
function templateOutputs(src, marker) {
|
|
287
|
+
const lines = src.split('\n');
|
|
288
|
+
if (1 < lines.length && '' === lines[lines.length - 1]) {
|
|
289
|
+
lines.pop();
|
|
290
|
+
}
|
|
291
|
+
return lines.map((line) => !readLine(line, marker).marker);
|
|
292
|
+
} /* node:coverage ignore next 9 */
|
|
257
293
|
//# sourceMappingURL=template.js.map
|
package/dist/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
|