@rhost/testkit 1.4.1 → 1.5.1

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.
Files changed (70) hide show
  1. package/dist/cli/index.js +15 -4
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/cli/init.d.ts.map +1 -1
  4. package/dist/cli/init.js +107 -19
  5. package/dist/cli/init.js.map +1 -1
  6. package/dist/cli/lint.d.ts +2 -0
  7. package/dist/cli/lint.d.ts.map +1 -0
  8. package/dist/cli/lint.js +163 -0
  9. package/dist/cli/lint.js.map +1 -0
  10. package/dist/cli/mush-format.d.ts +2 -0
  11. package/dist/cli/mush-format.d.ts.map +1 -0
  12. package/dist/cli/mush-format.js +232 -0
  13. package/dist/cli/mush-format.js.map +1 -0
  14. package/dist/client.d.ts +43 -1
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +78 -5
  17. package/dist/client.js.map +1 -1
  18. package/dist/index.d.ts +3 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +10 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/offline/document.d.ts +8 -0
  23. package/dist/offline/document.d.ts.map +1 -0
  24. package/dist/offline/document.js +124 -0
  25. package/dist/offline/document.js.map +1 -0
  26. package/dist/offline/expect.d.ts +27 -0
  27. package/dist/offline/expect.d.ts.map +1 -0
  28. package/dist/offline/expect.js +90 -0
  29. package/dist/offline/expect.js.map +1 -0
  30. package/dist/offline/index.d.ts +5 -0
  31. package/dist/offline/index.d.ts.map +1 -0
  32. package/dist/offline/index.js +14 -0
  33. package/dist/offline/index.js.map +1 -0
  34. package/dist/offline/mock-client.d.ts +19 -0
  35. package/dist/offline/mock-client.d.ts.map +1 -0
  36. package/dist/offline/mock-client.js +36 -0
  37. package/dist/offline/mock-client.js.map +1 -0
  38. package/dist/offline/mock-world.d.ts +30 -0
  39. package/dist/offline/mock-world.d.ts.map +1 -0
  40. package/dist/offline/mock-world.js +64 -0
  41. package/dist/offline/mock-world.js.map +1 -0
  42. package/dist/offline/reduced-expect.d.ts +38 -0
  43. package/dist/offline/reduced-expect.d.ts.map +1 -0
  44. package/dist/offline/reduced-expect.js +61 -0
  45. package/dist/offline/reduced-expect.js.map +1 -0
  46. package/dist/offline/runner.d.ts +13 -0
  47. package/dist/offline/runner.d.ts.map +1 -0
  48. package/dist/offline/runner.js +174 -0
  49. package/dist/offline/runner.js.map +1 -0
  50. package/dist/offline/types.d.ts +78 -0
  51. package/dist/offline/types.d.ts.map +1 -0
  52. package/dist/offline/types.js +3 -0
  53. package/dist/offline/types.js.map +1 -0
  54. package/dist/reporter.d.ts +3 -1
  55. package/dist/reporter.d.ts.map +1 -1
  56. package/dist/reporter.js +20 -0
  57. package/dist/reporter.js.map +1 -1
  58. package/dist/runner.d.ts +39 -0
  59. package/dist/runner.d.ts.map +1 -1
  60. package/dist/runner.js +82 -15
  61. package/dist/runner.js.map +1 -1
  62. package/dist/validator/mush-format.d.ts +43 -0
  63. package/dist/validator/mush-format.d.ts.map +1 -0
  64. package/dist/validator/mush-format.js +484 -0
  65. package/dist/validator/mush-format.js.map +1 -0
  66. package/dist/validator/mush-lint.d.ts +22 -0
  67. package/dist/validator/mush-lint.d.ts.map +1 -0
  68. package/dist/validator/mush-lint.js +590 -0
  69. package/dist/validator/mush-lint.js.map +1 -0
  70. package/package.json +10 -2
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export interface ExpandOptions {
2
+ /** Indent size in spaces. Default: 2. */
3
+ indent?: number;
4
+ }
5
+ export interface CompressOptions {
6
+ /** Normalise function names to lowercase. Default: false. */
7
+ lowercase?: boolean;
8
+ }
9
+ export interface FileFormatResult {
10
+ output: string;
11
+ changed: boolean;
12
+ }
13
+ /**
14
+ * Expand a compressed installer line's attribute value into pretty
15
+ * multi-line format for use in a src/*.mush file.
16
+ *
17
+ * expandAttrValue('$+finger *:@pemit %#=[u(me/FN_FINGER,%0)]')
18
+ * →
19
+ * $+finger *:
20
+ * @pemit %#=
21
+ * [u(me/FN_FINGER, %0)]
22
+ */
23
+ export declare function expandAttrValue(value: string, opts?: ExpandOptions): string;
24
+ /**
25
+ * Compress a pretty src/*.mush attribute value to a single line suitable
26
+ * for an installer file. Strips leading/trailing whitespace per argument
27
+ * and collapses multi-line indentation.
28
+ */
29
+ export declare function compressAttrValue(value: string, opts?: CompressOptions): string;
30
+ /**
31
+ * Expand a full installer file to pretty src format.
32
+ */
33
+ export declare function expandFile(content: string, opts?: ExpandOptions): FileFormatResult;
34
+ /**
35
+ * Compress a pretty src/*.mush file to installer format.
36
+ */
37
+ export declare function compressFile(content: string, meta?: {
38
+ name?: string;
39
+ version?: string;
40
+ author?: string;
41
+ requires?: string;
42
+ }, opts?: CompressOptions): FileFormatResult;
43
+ //# sourceMappingURL=mush-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mush-format.d.ts","sourceRoot":"","sources":["../../src/validator/mush-format.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAS/E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,MAAM,CAcnF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,gBAAgB,CAmEtF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,EAClF,IAAI,GAAE,eAAoB,GACzB,gBAAgB,CAoFlB"}
@@ -0,0 +1,484 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // mush-format — full-file softcode formatter
4
+ //
5
+ // Handles the two-way conversion mandated by mush-architect's FILE FORMAT
6
+ // CONTRACT:
7
+ //
8
+ // expand dist/*.installer.txt → src/*.mush (compressed → readable)
9
+ // compress src/*.mush → dist/*.installer.txt (readable → compressed)
10
+ //
11
+ // The key capability that the existing `fmt` module lacks: this formatter
12
+ // understands the full attribute-value structure — dollar patterns, @commands,
13
+ // command lists (`;`), and braced content — by using the compiled PEG grammar.
14
+ // Braced content is re-parsed recursively so `{@switch ...}` gets indented
15
+ // as nested commands rather than rendered as an opaque string.
16
+ // ---------------------------------------------------------------------------
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.expandAttrValue = expandAttrValue;
19
+ exports.compressAttrValue = compressAttrValue;
20
+ exports.expandFile = expandFile;
21
+ exports.compressFile = compressFile;
22
+ const mushcode_1 = require("@ursamu/mushcode");
23
+ /**
24
+ * Expand a compressed installer line's attribute value into pretty
25
+ * multi-line format for use in a src/*.mush file.
26
+ *
27
+ * expandAttrValue('$+finger *:@pemit %#=[u(me/FN_FINGER,%0)]')
28
+ * →
29
+ * $+finger *:
30
+ * @pemit %#=
31
+ * [u(me/FN_FINGER, %0)]
32
+ */
33
+ function expandAttrValue(value, opts = {}) {
34
+ const indent = opts.indent ?? 2;
35
+ try {
36
+ const ast = (0, mushcode_1.parse)(value);
37
+ return prettyNode(ast, 0, indent);
38
+ }
39
+ catch {
40
+ // Not parseable (syntax error, RhostMUSH-specific syntax, etc.) — return as-is
41
+ return value;
42
+ }
43
+ }
44
+ /**
45
+ * Compress a pretty src/*.mush attribute value to a single line suitable
46
+ * for an installer file. Strips leading/trailing whitespace per argument
47
+ * and collapses multi-line indentation.
48
+ */
49
+ function compressAttrValue(value, opts = {}) {
50
+ // Strip leading/trailing whitespace from the whole value
51
+ const trimmed = value.trim();
52
+ try {
53
+ const ast = (0, mushcode_1.parse)(trimmed);
54
+ let result = (0, mushcode_1.print)(ast, { mode: 'compact' });
55
+ if (opts.lowercase) {
56
+ result = result.replace(/([A-Za-z][A-Za-z0-9_]*)\(/g, (_, name) => name.toLowerCase() + '(');
57
+ }
58
+ return result;
59
+ }
60
+ catch {
61
+ // Fall back to simple whitespace collapse
62
+ return trimmed.replace(/\s+/g, ' ');
63
+ }
64
+ }
65
+ /**
66
+ * Expand a full installer file to pretty src format.
67
+ */
68
+ function expandFile(content, opts = {}) {
69
+ const lines = content.split('\n');
70
+ const out = [];
71
+ for (const raw of lines) {
72
+ const line = raw.trimEnd();
73
+ // Strip installer @@ header/footer comments — they're generated on compress
74
+ if (line.startsWith('@@ ===') || line.startsWith('@@ ---['))
75
+ continue;
76
+ if (line.match(/^@@ Mushcode Installer/i))
77
+ continue;
78
+ if (line.match(/^@@ \[END OF FILE\]/i))
79
+ continue;
80
+ if (line.match(/^@@ Version:/i))
81
+ continue;
82
+ if (line.match(/^@@ Requires:/i))
83
+ continue;
84
+ if (line.match(/^@@ Author:/i))
85
+ continue;
86
+ if (line.match(/^@@ $/))
87
+ continue;
88
+ // Convert @@ section markers to // comments
89
+ if (line.startsWith('@@')) {
90
+ const comment = line.replace(/^@@\s*/, '').trim();
91
+ if (comment)
92
+ out.push(`// ${comment}`);
93
+ else
94
+ out.push('');
95
+ continue;
96
+ }
97
+ // Attribute set: &ATTR obj=value
98
+ const attrMatch = line.match(/^(&[A-Za-z_][A-Za-z0-9_-]*(?:\.[0-9]+)?\s+[^=]+)=(.*)$/);
99
+ if (attrMatch) {
100
+ const header = attrMatch[1];
101
+ const value = attrMatch[2];
102
+ if (!value.trim()) {
103
+ out.push(`${header}=`);
104
+ }
105
+ else {
106
+ const pretty = expandAttrValue(value, opts);
107
+ const ind = ' '.repeat(opts.indent ?? 2);
108
+ // Multi-line value: put value on new line indented
109
+ if (pretty.includes('\n')) {
110
+ out.push(`${header}=`);
111
+ out.push(pretty.split('\n').map(l => ind + l).join('\n'));
112
+ }
113
+ else {
114
+ out.push(`${header}=${pretty}`);
115
+ }
116
+ }
117
+ out.push(''); // blank line between attrs for readability
118
+ continue;
119
+ }
120
+ // @command with value: @cmd obj=value
121
+ const cmdMatch = line.match(/^(@[a-zA-Z][a-zA-Z0-9_/-]*)(\s+[^=]+=)(.+)$/);
122
+ if (cmdMatch) {
123
+ const [, cmd, objPart, value] = cmdMatch;
124
+ const pretty = expandAttrValue(value, opts);
125
+ if (pretty.includes('\n')) {
126
+ const ind = ' '.repeat(opts.indent ?? 2);
127
+ out.push(`${cmd}${objPart}`);
128
+ out.push(pretty.split('\n').map(l => ind + l).join('\n'));
129
+ }
130
+ else {
131
+ out.push(`${cmd}${objPart}${pretty}`);
132
+ }
133
+ continue;
134
+ }
135
+ // Everything else (@create, @set, @lock, connect, QUIT, etc.) — pass through
136
+ out.push(line);
137
+ }
138
+ const output = out.join('\n').replace(/\n{3,}/g, '\n\n').trim() + '\n';
139
+ return { output, changed: output !== content };
140
+ }
141
+ /**
142
+ * Compress a pretty src/*.mush file to installer format.
143
+ */
144
+ function compressFile(content, meta = {}, opts = {}) {
145
+ const lines = content.split('\n');
146
+ const installerLines = [];
147
+ // Collect non-comment logical lines, joining multi-line attribute values
148
+ const logicalLines = [];
149
+ let currentLine = '';
150
+ for (const raw of lines) {
151
+ const line = raw.trim();
152
+ // Skip // comments entirely in compressed output
153
+ if (line.startsWith('//'))
154
+ continue;
155
+ // Skip blank lines
156
+ if (!line) {
157
+ if (currentLine) {
158
+ logicalLines.push(currentLine);
159
+ currentLine = '';
160
+ }
161
+ continue;
162
+ }
163
+ // A new logical line starts with a command-level keyword or &
164
+ const isNewCommand = /^[@&a-zA-Z+]/.test(line) || line === 'QUIT' || line === 'think';
165
+ if (isNewCommand && currentLine) {
166
+ logicalLines.push(currentLine);
167
+ currentLine = line;
168
+ }
169
+ else if (isNewCommand) {
170
+ currentLine = line;
171
+ }
172
+ else {
173
+ // Continuation line: append with a space (collapsing indentation)
174
+ currentLine += (currentLine ? ' ' : '') + line;
175
+ }
176
+ }
177
+ if (currentLine)
178
+ logicalLines.push(currentLine);
179
+ // Build installer output
180
+ const name = meta.name ?? 'Unnamed System';
181
+ const version = meta.version ?? '0.0.0';
182
+ const author = meta.author ?? '';
183
+ const requires = meta.requires ?? 'None';
184
+ const sep = '@@ ' + '='.repeat(75);
185
+ installerLines.push(sep);
186
+ installerLines.push(`@@ Mushcode Installer for: ${name}`);
187
+ installerLines.push(`@@ Version: ${version}`);
188
+ if (author)
189
+ installerLines.push(`@@ Author: ${author}`);
190
+ installerLines.push(`@@ Requires: ${requires}`);
191
+ installerLines.push(sep);
192
+ installerLines.push('');
193
+ for (const logical of logicalLines) {
194
+ // Attribute set: compress the value
195
+ const attrMatch = logical.match(/^(&[A-Za-z_][A-Za-z0-9_-]*(?:\.[0-9]+)?\s+[^=]+)=(.*)$/);
196
+ if (attrMatch) {
197
+ const header = attrMatch[1];
198
+ const value = attrMatch[2].trim();
199
+ const compressed = value ? compressAttrValue(value, opts) : '';
200
+ installerLines.push(`${header}=${compressed}`);
201
+ continue;
202
+ }
203
+ // @command with value: compress the value part
204
+ const cmdMatch = logical.match(/^(@[a-zA-Z][a-zA-Z0-9_/-]*)(\s+[^=]+=)(.+)$/);
205
+ if (cmdMatch) {
206
+ const [, cmd, objPart, value] = cmdMatch;
207
+ const compressed = compressAttrValue(value.trim(), opts);
208
+ installerLines.push(`${cmd}${objPart}${compressed}`);
209
+ continue;
210
+ }
211
+ installerLines.push(logical);
212
+ }
213
+ installerLines.push('');
214
+ installerLines.push(sep);
215
+ installerLines.push('@@ ---[ UNINSTALL ]---');
216
+ installerLines.push('@@ @@ To uninstall: destroy all objects created by the installer above.');
217
+ installerLines.push(sep);
218
+ installerLines.push('@@ [END OF FILE]');
219
+ const output = installerLines.join('\n') + '\n';
220
+ return { output, changed: true };
221
+ }
222
+ function prettyNode(node, depth, indent) {
223
+ const pad = (d) => ' '.repeat(d * indent);
224
+ switch (node.type) {
225
+ case 'DollarPattern': {
226
+ const pattern = prettyNode(node.pattern, depth, indent);
227
+ const action = prettyNode(node.action, depth + 1, indent);
228
+ return `${pattern}:\n${pad(depth + 1)}${action}`;
229
+ }
230
+ case 'ListenPattern': {
231
+ // Pattern prettyNode adds '$'; for ListenPattern we need '^', so access parts directly
232
+ const patParts = node.pattern.parts;
233
+ const pattern = '^' + patParts.map(p => prettyInline(p)).join('');
234
+ const action = prettyNode(node.action, depth + 1, indent);
235
+ return `${pattern}:\n${pad(depth + 1)}${action}`;
236
+ }
237
+ case 'Pattern':
238
+ return '$' + node.parts.map(p => prettyInline(p)).join('');
239
+ case 'PatternAlts': {
240
+ const pats = node.patterns.map(p => p.parts.map(pp => prettyInline(pp)).join(''));
241
+ return '$' + pats.join(';');
242
+ }
243
+ case 'Wildcard':
244
+ return node.wildcard;
245
+ case 'CommandList': {
246
+ const cmds = node.commands
247
+ .map(c => pad(depth) + prettyNode(c, depth, indent));
248
+ return cmds.join(';\n');
249
+ }
250
+ case 'AtCommand': {
251
+ const sw = node.switches.map(s => '/' + s).join('');
252
+ const obj = node.object ? ' ' + prettyNode(node.object, depth, indent) : '';
253
+ const val = node.value
254
+ ? formatAtCmdValue(node.name, node.value, depth, indent)
255
+ : '';
256
+ return `@${node.name}${sw}${obj}${val}`;
257
+ }
258
+ case 'AttributeSet': {
259
+ const attrObj = prettyNode(node.object, depth, indent);
260
+ const val = prettyNode(node.value, depth + 1, indent);
261
+ if (val.includes('\n')) {
262
+ return `&${node.attribute} ${attrObj}=\n${pad(depth + 1)}${val}`;
263
+ }
264
+ return `&${node.attribute} ${attrObj}=${val}`;
265
+ }
266
+ case 'UserCommand': {
267
+ return formatUserCommand(node.parts, depth, indent);
268
+ }
269
+ case 'Text':
270
+ return node.parts.map(p => prettyInline(p)).join('');
271
+ case 'EvalBlock':
272
+ return '[' + prettyEvalInline(node.parts) + ']';
273
+ case 'FunctionCall':
274
+ return prettyFunctionCall(node, depth, indent);
275
+ case 'BracedString':
276
+ return prettyBraced(node.parts, depth, indent);
277
+ case 'Substitution': return '%' + node.code;
278
+ case 'SpecialVar': return node.code;
279
+ case 'Escape': return '\\' + node.char;
280
+ case 'Literal': return node.value;
281
+ default: return '';
282
+ }
283
+ }
284
+ /**
285
+ * Format an @command value. For @switch, detect case-list pattern and
286
+ * break each `pattern, {action}` pair onto its own indented block.
287
+ */
288
+ function formatAtCmdValue(cmdName, valNode, depth, indent) {
289
+ const pad = (d) => ' '.repeat(d * indent);
290
+ const valText = prettyNode(valNode, depth + 1, indent);
291
+ // @switch / @switchall — try to format as a case list.
292
+ // formatCaseList already applies pad(depth+1) to each line — don't double-add it.
293
+ if (cmdName === 'switch' || cmdName === 'switchall') {
294
+ const caseList = formatSwitchValue(valNode, depth + 1, indent);
295
+ if (caseList) {
296
+ return `=\n${caseList}`;
297
+ }
298
+ }
299
+ // CommandList values already carry pad(depth+1) on each line from prettyNode.
300
+ if (valText.includes('\n')) {
301
+ return `=\n${valText}`;
302
+ }
303
+ // Long single-line value: push to next line with one indent
304
+ if (valText.length > 60) {
305
+ return `=\n${pad(depth + 1)}${valText}`;
306
+ }
307
+ return `=${valText}`;
308
+ }
309
+ /**
310
+ * Format a UserCommand node.
311
+ * Detects the @switch case-list pattern: alternating text-patterns and
312
+ * BracedString actions separated by commas.
313
+ */
314
+ function formatUserCommand(parts, depth, indent) {
315
+ // Count BracedStrings in the parts
316
+ const braceCount = parts.filter(p => p.type === 'BracedString').length;
317
+ // If there are braced strings, split at them and format as a case list
318
+ if (braceCount >= 1) {
319
+ return formatCaseList(parts, depth, indent);
320
+ }
321
+ // Otherwise just inline
322
+ return parts.map(p => prettyInline(p)).join('');
323
+ }
324
+ /**
325
+ * Split a list of UserCommand parts at BracedString nodes, producing a
326
+ * formatted case-list like:
327
+ *
328
+ * 1, {
329
+ * @pemit %#=Error
330
+ * }, {
331
+ * @switch ...
332
+ * }
333
+ */
334
+ function formatCaseList(parts, depth, indent) {
335
+ const pad = (d) => ' '.repeat(d * indent);
336
+ const chunks = [];
337
+ let buf = '';
338
+ for (const part of parts) {
339
+ if (part.type === 'BracedString') {
340
+ // Flush the text buffer as a case label (trim trailing comma+space)
341
+ const label = buf.replace(/,\s*$/, '').trimEnd();
342
+ if (label)
343
+ chunks.push(label);
344
+ buf = '';
345
+ // Format the brace content
346
+ chunks.push(prettyBraced(part.parts, depth, indent));
347
+ }
348
+ else {
349
+ buf += prettyInline(part);
350
+ }
351
+ }
352
+ if (buf.trim())
353
+ chunks.push(buf.trim());
354
+ // Reassemble: label, brace, comma-separator, label, brace, ...
355
+ const lines = [];
356
+ for (let i = 0; i < chunks.length; i++) {
357
+ const chunk = chunks[i];
358
+ const next = chunks[i + 1];
359
+ if (chunk.startsWith('{')) {
360
+ // It's a brace — does it need a trailing comma?
361
+ const hasMore = next !== undefined;
362
+ lines.push(pad(depth) + chunk + (hasMore ? ',' : ''));
363
+ }
364
+ else {
365
+ // It's a label — attach to next brace if the brace is coming
366
+ if (next && next.startsWith('{')) {
367
+ lines.push(pad(depth) + chunk + ', ' + next + (chunks[i + 2] !== undefined ? ',' : ''));
368
+ i++; // skip the brace we just attached
369
+ }
370
+ else {
371
+ lines.push(pad(depth) + chunk);
372
+ }
373
+ }
374
+ }
375
+ return lines.join('\n');
376
+ }
377
+ /**
378
+ * Format a BracedString by re-parsing its text content as a CommandList
379
+ * when it looks like command content. Falls back to inline rendering if
380
+ * re-parsing fails or the content is simple.
381
+ */
382
+ function prettyBraced(parts, depth, indent) {
383
+ const pad = (d) => ' '.repeat(d * indent);
384
+ const text = extractText(parts);
385
+ // Simple content (no @ & commands, no semicolons): keep inline
386
+ const isComplex = /^[@&]|;/.test(text.trim());
387
+ if (!isComplex) {
388
+ return `{${text}}`;
389
+ }
390
+ // Try to re-parse braced content as a command sequence
391
+ try {
392
+ const inner = (0, mushcode_1.parse)(text.trim());
393
+ const formatted = prettyNode(inner, depth + 1, indent);
394
+ return `{\n${pad(depth + 1)}${formatted}\n${pad(depth)}}`;
395
+ }
396
+ catch {
397
+ return `{${text}}`;
398
+ }
399
+ }
400
+ /**
401
+ * Detect @switch value pattern and format it as aligned case blocks.
402
+ * Returns null if the pattern isn't recognised.
403
+ */
404
+ function formatSwitchValue(valNode, depth, indent) {
405
+ if (valNode.type !== 'UserCommand')
406
+ return null;
407
+ const parts = valNode.parts;
408
+ const braceCount = parts.filter(p => p.type === 'BracedString').length;
409
+ if (braceCount < 1)
410
+ return null;
411
+ return formatCaseList(parts, depth, indent);
412
+ }
413
+ // ---------------------------------------------------------------------------
414
+ // Helpers for inline rendering (no newlines)
415
+ // ---------------------------------------------------------------------------
416
+ function prettyInline(node) {
417
+ switch (node.type) {
418
+ case 'Literal': return node.value;
419
+ case 'Substitution': return '%' + node.code;
420
+ case 'SpecialVar': return node.code;
421
+ case 'Escape': return '\\' + node.char;
422
+ case 'Wildcard': return node.wildcard;
423
+ case 'EvalBlock': return '[' + prettyEvalInline(node.parts) + ']';
424
+ case 'BracedString': return '{' + extractText(node.parts) + '}';
425
+ case 'FunctionCall': return prettyFunctionCallInline(node);
426
+ case 'Text': return node.parts.map(p => prettyInline(p)).join('');
427
+ case 'Arg': return node.parts.map(p => prettyInline(p)).join('');
428
+ default: return '';
429
+ }
430
+ }
431
+ function prettyEvalInline(parts) {
432
+ return parts.map(p => prettyInline(p)).join('');
433
+ }
434
+ function prettyFunctionCallInline(node) {
435
+ const name = node.name;
436
+ const args = node.args;
437
+ if (args.length === 0)
438
+ return `${name}()`;
439
+ // Trim each arg's serialised text so we don't double-space after commas that
440
+ // already had trailing/leading whitespace in the original source.
441
+ const argStrs = args.map(a => a.parts.map(p => prettyInline(p)).join('').trim());
442
+ return `${name}(${argStrs.join(', ')})`;
443
+ }
444
+ /**
445
+ * Pretty-print a FunctionCall node.
446
+ * Stays inline if all args are simple; wraps to multi-line otherwise.
447
+ */
448
+ function prettyFunctionCall(node, depth, indent) {
449
+ const pad = (d) => ' '.repeat(d * indent);
450
+ const name = node.name;
451
+ const args = node.args;
452
+ if (args.length === 0)
453
+ return `${name}()`;
454
+ const hasNested = args.some(a => a.parts.some(p => p.type === 'FunctionCall' || p.type === 'EvalBlock' || p.type === 'BracedString'));
455
+ if (!hasNested) {
456
+ return prettyFunctionCallInline(node);
457
+ }
458
+ const serialized = args.map(a => pad(depth + 1) + a.parts.map(p => prettyInline(p)).join('')).join(',\n');
459
+ return `${name}(\n${serialized}\n${pad(depth)})`;
460
+ }
461
+ // ---------------------------------------------------------------------------
462
+ // Text extractor — collapses AST nodes back to raw text for re-parsing
463
+ // ---------------------------------------------------------------------------
464
+ function extractText(parts) {
465
+ return parts.map(p => {
466
+ switch (p.type) {
467
+ case 'Literal': return p.value;
468
+ case 'Substitution': return '%' + p.code;
469
+ case 'SpecialVar': return p.code;
470
+ case 'Escape': return '\\' + p.char;
471
+ case 'EvalBlock': return '[' + extractText(p.parts) + ']';
472
+ case 'BracedString': return '{' + extractText(p.parts) + '}';
473
+ case 'FunctionCall': {
474
+ const name = p.name;
475
+ const args = p.args;
476
+ if (args.length === 0)
477
+ return `${name}()`;
478
+ return `${name}(${args.map(a => extractText(a.parts)).join(',')})`;
479
+ }
480
+ default: return '';
481
+ }
482
+ }).join('');
483
+ }
484
+ //# sourceMappingURL=mush-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mush-format.js","sourceRoot":"","sources":["../../src/validator/mush-format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export type LintSeverity = 'ERROR' | 'WARN' | 'INFO';
2
+ export interface LintDiag {
3
+ code: string;
4
+ severity: LintSeverity;
5
+ /** 1-based line number in the source file */
6
+ line: number;
7
+ /** Attribute name if applicable */
8
+ attr?: string;
9
+ message: string;
10
+ }
11
+ export interface LintResult {
12
+ diagnostics: LintDiag[];
13
+ errors: number;
14
+ warnings: number;
15
+ infos: number;
16
+ }
17
+ /**
18
+ * Lint a softcode file (.mush or .installer.txt).
19
+ * Returns all diagnostics sorted by line number.
20
+ */
21
+ export declare function lintContent(content: string, filename?: string): LintResult;
22
+ //# sourceMappingURL=mush-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mush-lint.d.ts","sourceRoot":"","sources":["../../src/validator/mush-lint.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,QAAQ,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAuCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAY,GAAG,UAAU,CAmC7E"}