@meltemi/diagrams-language 1.10.0 → 1.10.17
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/diagnostics.d.ts +7 -0
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/format.d.ts +1 -0
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +189 -22
- package/dist/format.js.map +1 -1
- package/package.json +2 -2
package/dist/diagnostics.d.ts
CHANGED
|
@@ -19,6 +19,13 @@ export interface DiagnosticData {
|
|
|
19
19
|
readonly width: number;
|
|
20
20
|
readonly height: number;
|
|
21
21
|
};
|
|
22
|
+
/** `layout.gap-floor`: the participant, the side, the gap written and the gap drawn. */
|
|
23
|
+
readonly gap?: {
|
|
24
|
+
readonly participant: string;
|
|
25
|
+
readonly side: "before" | "after";
|
|
26
|
+
readonly written: number;
|
|
27
|
+
readonly applied: number;
|
|
28
|
+
};
|
|
22
29
|
}
|
|
23
30
|
/** A problem found in a source text. Codes are stable and documented in docs/language/diagnostics.md. */
|
|
24
31
|
export interface Diagnostic {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iGAAiG;IACjG,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9F,wFAAwF;IACxF,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,+DAA+D;AAC/D,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,CAAM;gBAEL,KAAK,EAAE,SAAS;IAE7C,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IAMvC,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,GAAG,UAAU,CAwBrF;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAUhF;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,OAAO,CAErE"}
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAkDA,+DAA+D;AAC/D,MAAM,OAAO,aAAa;IAGK;IAFpB,KAAK,GAAiB,EAAE,CAAC;IAElC,YAA6B,KAAgB;QAAhB,UAAK,GAAL,KAAK,CAAW;IAAG,CAAC;IAEjD,GAAG,CAAC,KAAsB;QACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACjE,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB,EAAE,KAAsB;IACvE,MAAM,UAAU,GAQZ;QACF,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,OAAO;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC,CAAC;IACN,CAAC;IACD,IAAI,KAAK,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,WAAkC;IAChE,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACzB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAC/C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM;QAC3C,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CACZ;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,WAAkC;IAC1D,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AACzD,CAAC"}
|
package/dist/format.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export type FormatResult = {
|
|
|
17
17
|
/**
|
|
18
18
|
* Lays out a source in the canonical format. Only spaces, line breaks and indentation change:
|
|
19
19
|
* token text and order, and every comment, are kept. Files with syntax errors are refused.
|
|
20
|
+
* A `pen` statement's point list is printed filled to 100 columns, not one item per line.
|
|
20
21
|
*/
|
|
21
22
|
export declare function formatSource(text: string, options?: FormatOptions): FormatResult;
|
|
22
23
|
//# sourceMappingURL=format.d.ts.map
|
package/dist/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGlE,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAyBxE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,CAyBpF"}
|
package/dist/format.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { lastToken, walk } from "./cst.js";
|
|
1
2
|
import { createDiagnostic } from "./diagnostics.js";
|
|
2
3
|
import { diffLines } from "./diff.js";
|
|
3
4
|
import { messages } from "./messages/index.js";
|
|
@@ -21,9 +22,14 @@ const BLOCK_ITEMS = new Set([
|
|
|
21
22
|
"StoryBlock",
|
|
22
23
|
"ExportBlock",
|
|
23
24
|
]);
|
|
25
|
+
/** Columns a `pen` statement fits in on one line, and the lines of its filled point list. */
|
|
26
|
+
const FILL_COLUMNS = 100;
|
|
27
|
+
/** Columns a tab counts for when a line is measured. */
|
|
28
|
+
const TAB_COLUMNS = 4;
|
|
24
29
|
/**
|
|
25
30
|
* Lays out a source in the canonical format. Only spaces, line breaks and indentation change:
|
|
26
31
|
* token text and order, and every comment, are kept. Files with syntax errors are refused.
|
|
32
|
+
* A `pen` statement's point list is printed filled to 100 columns, not one item per line.
|
|
27
33
|
*/
|
|
28
34
|
export function formatSource(text, options = {}) {
|
|
29
35
|
const indent = options.indent ?? 2;
|
|
@@ -44,27 +50,71 @@ export function formatSource(text, options = {}) {
|
|
|
44
50
|
const errors = parsed.diagnostics.filter((d) => d.severity === "error");
|
|
45
51
|
if (errors.length > 0)
|
|
46
52
|
return { ok: false, diagnostics: errors };
|
|
47
|
-
const formatted = print(parsed.tokens, parsed.root.items, {
|
|
53
|
+
const formatted = print(parsed.tokens, parsed.root.items, penLists(parsed.root, parsed.tokens), {
|
|
48
54
|
unit: indent === "tab" ? "\t" : " ".repeat(indent),
|
|
49
55
|
eol: detectLineEnding(text),
|
|
50
56
|
});
|
|
51
57
|
const edits = formatted === text ? [] : diffLines(text, formatted);
|
|
52
58
|
return { ok: true, text: formatted, edits, changed: formatted !== text };
|
|
53
59
|
}
|
|
54
|
-
|
|
60
|
+
/** The point list of every `pen` statement (its first list argument), in source order. */
|
|
61
|
+
function penLists(root, tokens) {
|
|
62
|
+
const index = new Map();
|
|
63
|
+
tokens.forEach((token, i) => index.set(token, i));
|
|
64
|
+
const found = [];
|
|
65
|
+
walk(root, (node) => {
|
|
66
|
+
if (node.kind !== "KeywordStatement" || node.keyword.text !== "pen")
|
|
67
|
+
return;
|
|
68
|
+
const list = node.args.find((arg) => arg.kind === "List");
|
|
69
|
+
const end = lastToken(node);
|
|
70
|
+
const first = index.get(node.keyword);
|
|
71
|
+
const open = list === undefined ? undefined : index.get(list.open);
|
|
72
|
+
const last = end === undefined ? undefined : index.get(end);
|
|
73
|
+
if (first !== undefined && open !== undefined && last !== undefined) {
|
|
74
|
+
found.push({ first, open, last });
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return found.sort((a, b) => a.first - b.first);
|
|
78
|
+
}
|
|
79
|
+
/** Width of a text in columns, a tab counting for {@link TAB_COLUMNS}. */
|
|
80
|
+
function columnsOf(text) {
|
|
81
|
+
return text.length + (text.split("\t").length - 1) * (TAB_COLUMNS - 1);
|
|
82
|
+
}
|
|
83
|
+
/** Whether one space separates `token` from what was printed before it on the same line. */
|
|
84
|
+
function spaceBetween(lastKind, last, token) {
|
|
85
|
+
if (lastKind === null)
|
|
86
|
+
return false;
|
|
87
|
+
if (lastKind === "comment")
|
|
88
|
+
return true;
|
|
89
|
+
if (NO_SPACE_BEFORE.has(token.kind) || NO_SPACE_AFTER.has(lastKind))
|
|
90
|
+
return false;
|
|
91
|
+
// `api["API"]`: a bracket written right after an identifier is a shorthand declaration.
|
|
92
|
+
if (token.kind === "LBracket" &&
|
|
93
|
+
lastKind === "Identifier" &&
|
|
94
|
+
last !== null &&
|
|
95
|
+
last.end === token.start &&
|
|
96
|
+
token.leadingTrivia.length === 0) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
function print(tokens, items, pens, settings) {
|
|
55
102
|
// ------------------------------------------------------------ structural facts
|
|
56
103
|
const partner = new Map();
|
|
104
|
+
/** The innermost opener around every token, or -1 at the top level. */
|
|
105
|
+
const enclosing = [];
|
|
57
106
|
const stack = [];
|
|
58
107
|
tokens.forEach((token, i) => {
|
|
59
|
-
if (
|
|
60
|
-
stack.push(i);
|
|
61
|
-
else if (CLOSERS.has(token.kind)) {
|
|
108
|
+
if (CLOSERS.has(token.kind)) {
|
|
62
109
|
const open = stack.pop();
|
|
63
110
|
if (open !== undefined) {
|
|
64
111
|
partner.set(open, i);
|
|
65
112
|
partner.set(i, open);
|
|
66
113
|
}
|
|
67
114
|
}
|
|
115
|
+
enclosing.push(stack[stack.length - 1] ?? -1);
|
|
116
|
+
if (OPENERS.has(token.kind))
|
|
117
|
+
stack.push(i);
|
|
68
118
|
});
|
|
69
119
|
const spansNewline = (open) => {
|
|
70
120
|
const close = partner.get(open) ?? open;
|
|
@@ -87,6 +137,105 @@ function print(tokens, items, settings) {
|
|
|
87
137
|
if (item >= 0)
|
|
88
138
|
lastTokenOfItem.set(i, item);
|
|
89
139
|
});
|
|
140
|
+
/**
|
|
141
|
+
* Columns of the tokens `from` to `to` printed on one line, with the comments between them.
|
|
142
|
+
* The comments before `from` are not counted.
|
|
143
|
+
*/
|
|
144
|
+
const flatColumns = (from, to) => {
|
|
145
|
+
let columns = 0;
|
|
146
|
+
let lastKind = null;
|
|
147
|
+
let last = null;
|
|
148
|
+
for (let j = from; j <= to; j++) {
|
|
149
|
+
const token = tokens[j];
|
|
150
|
+
if (j > from) {
|
|
151
|
+
for (const trivia of token.leadingTrivia) {
|
|
152
|
+
if (trivia.kind !== "LineComment" && trivia.kind !== "BlockComment")
|
|
153
|
+
continue;
|
|
154
|
+
columns += (lastKind === null ? 0 : 1) + columnsOf(trivia.text);
|
|
155
|
+
lastKind = "comment";
|
|
156
|
+
last = null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (token.kind === "Newline" || token.kind === "EOF")
|
|
160
|
+
continue;
|
|
161
|
+
if (spaceBetween(lastKind, last, token))
|
|
162
|
+
columns += 1;
|
|
163
|
+
columns += columnsOf(token.text);
|
|
164
|
+
lastKind = token.kind;
|
|
165
|
+
last = token;
|
|
166
|
+
}
|
|
167
|
+
return columns;
|
|
168
|
+
};
|
|
169
|
+
/** Whether a comment between `open` and `close` ends its line or stands on a line of its own. */
|
|
170
|
+
const breakingComment = (open, close) => {
|
|
171
|
+
for (let j = open + 1; j <= close; j++) {
|
|
172
|
+
for (const trivia of tokens[j].leadingTrivia) {
|
|
173
|
+
if (trivia.kind === "LineComment")
|
|
174
|
+
return true;
|
|
175
|
+
if (trivia.kind === "BlockComment" &&
|
|
176
|
+
(trivia.text.includes("\n") || tokens[j - 1].kind === "Newline")) {
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return false;
|
|
182
|
+
};
|
|
183
|
+
/** The last token of the list item that starts at `from`, with the commas that follow it. */
|
|
184
|
+
const itemEnd = (from, close) => {
|
|
185
|
+
let level = 0;
|
|
186
|
+
for (let j = from; j < close; j++) {
|
|
187
|
+
const kind = tokens[j].kind;
|
|
188
|
+
if (OPENERS.has(kind))
|
|
189
|
+
level++;
|
|
190
|
+
else if (CLOSERS.has(kind))
|
|
191
|
+
level--;
|
|
192
|
+
else if (kind === "Comma" && level === 0) {
|
|
193
|
+
let end = j;
|
|
194
|
+
for (let k = j + 1; k < close; k++) {
|
|
195
|
+
const next = tokens[k].kind;
|
|
196
|
+
if (next === "Comma")
|
|
197
|
+
end = k;
|
|
198
|
+
else if (next !== "Newline")
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
return end;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return close - 1;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Pen point lists: `true` when filled over several lines, `false` when printed on one line.
|
|
208
|
+
* The choice depends on the statement's tokens, comments and depth only, never on the source's
|
|
209
|
+
* line breaks, so formatting the output again makes the same choice. Later statements are
|
|
210
|
+
* decided first, so a statement's block already knows whether a filled list expands it.
|
|
211
|
+
*/
|
|
212
|
+
const fills = new Map();
|
|
213
|
+
const indentColumns = columnsOf(settings.unit);
|
|
214
|
+
for (const pen of [...pens].reverse()) {
|
|
215
|
+
const close = partner.get(pen.open) ?? pen.open;
|
|
216
|
+
for (let j = pen.open; j < close; j++)
|
|
217
|
+
expanded.delete(j);
|
|
218
|
+
let levels = 0;
|
|
219
|
+
for (let o = enclosing[pen.first]; o >= 0; o = enclosing[o])
|
|
220
|
+
levels++;
|
|
221
|
+
// The statement's first line ends at a block written over several lines.
|
|
222
|
+
let end = pen.last;
|
|
223
|
+
for (let j = close + 1; j <= pen.last; j++) {
|
|
224
|
+
if (expanded.has(j)) {
|
|
225
|
+
end = j;
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
const filled = breakingComment(pen.open, close) ||
|
|
230
|
+
levels * indentColumns + flatColumns(pen.first, end) > FILL_COLUMNS;
|
|
231
|
+
fills.set(pen.open, filled);
|
|
232
|
+
if (filled) {
|
|
233
|
+
// The list's lines expand every block around the statement.
|
|
234
|
+
expanded.add(pen.open);
|
|
235
|
+
for (let o = enclosing[pen.first]; o >= 0; o = enclosing[o])
|
|
236
|
+
expanded.add(o);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
90
239
|
// ------------------------------------------------------------ emitter state
|
|
91
240
|
const lines = [];
|
|
92
241
|
let line = "";
|
|
@@ -100,11 +249,18 @@ function print(tokens, items, settings) {
|
|
|
100
249
|
let forced = null;
|
|
101
250
|
let afterItem = null;
|
|
102
251
|
const open = [];
|
|
252
|
+
/**
|
|
253
|
+
* The pen point list being printed, until its `]`: `item` is set after each of its commas,
|
|
254
|
+
* when the next item is placed on the current line or the next one.
|
|
255
|
+
*/
|
|
256
|
+
let fill = null;
|
|
103
257
|
const depth = () => open.filter((o) => o.kind === "LBrace" || o.expanded).length;
|
|
104
258
|
const insideExpandedGroup = () => {
|
|
105
259
|
const top = open[open.length - 1];
|
|
106
260
|
return top !== undefined && top.kind !== "LBrace" && top.expanded;
|
|
107
261
|
};
|
|
262
|
+
/** The text of the line being built after its last line break (a block comment may hold some). */
|
|
263
|
+
const currentLine = () => line.slice(line.lastIndexOf("\n") + 1);
|
|
108
264
|
const newLines = (count, level) => {
|
|
109
265
|
lines.push(line.replace(/[ \t]+$/, ""));
|
|
110
266
|
if (count >= 2)
|
|
@@ -114,6 +270,14 @@ function print(tokens, items, settings) {
|
|
|
114
270
|
const breaksFor = (isToken) => {
|
|
115
271
|
if (!started)
|
|
116
272
|
return 0;
|
|
273
|
+
if (fill !== null) {
|
|
274
|
+
// Inside a pen's point list the source's line breaks are dropped: only a comment that
|
|
275
|
+
// stood on a line of its own, the line after a line comment and the fill's breaks remain.
|
|
276
|
+
let breaks = mustBreak || (!isToken && pending > 0) ? 1 : 0;
|
|
277
|
+
if (forced !== null && (isToken || breaks > 0))
|
|
278
|
+
breaks = forced;
|
|
279
|
+
return breaks;
|
|
280
|
+
}
|
|
117
281
|
let breaks = Math.min(pending, 2);
|
|
118
282
|
if (mustBreak)
|
|
119
283
|
breaks = Math.max(breaks, 1);
|
|
@@ -148,23 +312,7 @@ function print(tokens, items, settings) {
|
|
|
148
312
|
if (isLine)
|
|
149
313
|
mustBreak = true;
|
|
150
314
|
};
|
|
151
|
-
const needsSpace = (token) =>
|
|
152
|
-
if (lastKind === null)
|
|
153
|
-
return false;
|
|
154
|
-
if (lastKind === "comment")
|
|
155
|
-
return true;
|
|
156
|
-
if (NO_SPACE_BEFORE.has(token.kind) || NO_SPACE_AFTER.has(lastKind))
|
|
157
|
-
return false;
|
|
158
|
-
// `api["API"]`: a bracket written right after an identifier is a shorthand declaration.
|
|
159
|
-
if (token.kind === "LBracket" &&
|
|
160
|
-
lastKind === "Identifier" &&
|
|
161
|
-
lastToken !== null &&
|
|
162
|
-
lastToken.end === token.start &&
|
|
163
|
-
token.leadingTrivia.length === 0) {
|
|
164
|
-
return false;
|
|
165
|
-
}
|
|
166
|
-
return true;
|
|
167
|
-
};
|
|
315
|
+
const needsSpace = (token) => spaceBetween(lastKind, lastToken, token);
|
|
168
316
|
// ------------------------------------------------------------ emission
|
|
169
317
|
tokens.forEach((token, i) => {
|
|
170
318
|
for (const trivia of token.leadingTrivia) {
|
|
@@ -187,6 +335,14 @@ function print(tokens, items, settings) {
|
|
|
187
335
|
if (top?.expanded)
|
|
188
336
|
forced = 1;
|
|
189
337
|
}
|
|
338
|
+
// A filled pen list moves an item to the next line when it no longer fits on this one.
|
|
339
|
+
if (fill?.filled && fill.item && token.kind !== "Comma" && i !== fill.close) {
|
|
340
|
+
fill.item = false;
|
|
341
|
+
const current = currentLine();
|
|
342
|
+
const width = columnsOf(current) + (needsSpace(token) ? 1 : 0) + flatColumns(i, itemEnd(i, fill.close));
|
|
343
|
+
if (current.trim() !== "" && width > FILL_COLUMNS)
|
|
344
|
+
forced = 1;
|
|
345
|
+
}
|
|
190
346
|
const breaks = breaksFor(true);
|
|
191
347
|
if (breaks > 0)
|
|
192
348
|
newLines(breaks, depth());
|
|
@@ -202,6 +358,17 @@ function print(tokens, items, settings) {
|
|
|
202
358
|
open.push({ index: i, expanded: isExpanded, kind: token.kind });
|
|
203
359
|
if (isExpanded)
|
|
204
360
|
forced = 1;
|
|
361
|
+
const filled = fills.get(i);
|
|
362
|
+
if (filled !== undefined) {
|
|
363
|
+
fill = { open: i, close: partner.get(i) ?? i, filled, item: false };
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
else if (fill !== null && i === fill.close) {
|
|
367
|
+
fill = null;
|
|
368
|
+
}
|
|
369
|
+
else if (fill !== null && token.kind === "Comma") {
|
|
370
|
+
if (open[open.length - 1]?.index === fill.open)
|
|
371
|
+
fill.item = true;
|
|
205
372
|
}
|
|
206
373
|
else if (token.kind === "Comma" && insideExpandedGroup()) {
|
|
207
374
|
forced = 1;
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meltemi/diagrams-language",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.17",
|
|
4
4
|
"description": "Lexer, lossless parser, CST and diagnostics for the .meltemi language.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dist"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@meltemi/diagrams-i18n": "1.10.
|
|
29
|
+
"@meltemi/diagrams-i18n": "1.10.17"
|
|
30
30
|
},
|
|
31
31
|
"publishConfig": {
|
|
32
32
|
"access": "public"
|