@libernet/prettier-plugin-starkom 0.1.0 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAyB,MAAM,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AA6gBrC,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,IAAI,CA4BxB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAyB,MAAM,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AA8pBrC,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,IAAI,CA+BxB,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ var ast = starkom_ast.starkom.ast.v1;
7
7
  // ---- Prettier doc builders -------------------------------------------------------
8
8
  const { hardline, softline, line, group, indent, join, ifBreak } = doc.builders;
9
9
  // ---- Enum constants (matching proto values) --------------------------------------
10
+ const TokenType = ast.Token.Type;
10
11
  const DeclarationType = ast.DeclarationStatement.Type;
11
12
  const DeclarationModifier = ast.DeclarationStatement.Modifier;
12
13
  const AssignmentDirection = ast.AssignmentDirection;
@@ -88,6 +89,46 @@ function ref(idx) {
88
89
  function hasRef(idx) {
89
90
  return (idx ?? 0) !== 0;
90
91
  }
92
+ function lineOf(lineStarts, offset) {
93
+ let low = 0;
94
+ let high = lineStarts.length - 1;
95
+ while (low < high) {
96
+ const mid = (low + high + 1) >> 1;
97
+ if ((lineStarts[mid] ?? 0) <= offset) {
98
+ low = mid;
99
+ }
100
+ else {
101
+ high = mid - 1;
102
+ }
103
+ }
104
+ return low;
105
+ }
106
+ function hasBlankLineBetweenOffsets(lineStarts, offsetA, offsetB) {
107
+ if (!lineStarts || lineStarts.length === 0) {
108
+ return false;
109
+ }
110
+ return lineOf(lineStarts, offsetB) - lineOf(lineStarts, offsetA) >= 2;
111
+ }
112
+ function buildComments(file) {
113
+ const result = [];
114
+ for (const tok of file["tokens"] ?? []) {
115
+ const offset = tok["offset"] ?? 0;
116
+ const label = tok["label"] ?? "";
117
+ if (tok["type"] === TokenType.TOKEN_TYPE_SINGLE_LINE_COMMENT) {
118
+ result.push({ offset, endOffset: offset + label.length + 2, label, isLineComment: true });
119
+ }
120
+ else if (tok["type"] === TokenType.TOKEN_TYPE_MULTI_LINE_COMMENT) {
121
+ result.push({ offset, endOffset: offset + label.length + 4, label, isLineComment: false });
122
+ }
123
+ }
124
+ return result;
125
+ }
126
+ function commentsInRange(allComments, startOffset, endOffset) {
127
+ return allComments.filter((c) => c.offset >= startOffset && c.offset < endOffset);
128
+ }
129
+ function printComment(comment) {
130
+ return comment.isLineComment ? `//${comment.label}` : `/*${comment.label}*/`;
131
+ }
91
132
  function escapeString(s) {
92
133
  return s
93
134
  .replace(/\\/g, "\\\\")
@@ -99,19 +140,54 @@ function escapeString(s) {
99
140
  }
100
141
  // ---- File -----------------------------------------------------------------------
101
142
  function printFile(file) {
143
+ const comments = buildComments(file);
144
+ const lineStarts = file["lineStarts"] ?? [];
102
145
  const sections = [];
146
+ // Find the byte offset of the pragma keyword (first non-comment token).
147
+ let pragmaOffset = 0;
148
+ for (const tok of file["tokens"] ?? []) {
149
+ const type = tok["type"] ?? 0;
150
+ if (type !== TokenType.TOKEN_TYPE_SINGLE_LINE_COMMENT &&
151
+ type !== TokenType.TOKEN_TYPE_MULTI_LINE_COMMENT) {
152
+ pragmaOffset = tok["offset"] ?? 0;
153
+ break;
154
+ }
155
+ }
103
156
  const v = file["version"];
104
- sections.push(`pragma starkom ${v?.["major"] ?? 0}.${v?.["minor"] ?? 0}.${v?.["patch"] ?? 0};`);
157
+ const pragmaDoc = `pragma starkom ${v?.["major"] ?? 0}.${v?.["minor"] ?? 0}.${v?.["patch"] ?? 0};`;
158
+ // Interleave any leading comments with the pragma using blank-line-aware separators.
159
+ const preComments = commentsInRange(comments, 0, pragmaOffset);
160
+ if (preComments.length === 0) {
161
+ sections.push(pragmaDoc);
162
+ }
163
+ else {
164
+ const items = [
165
+ ...preComments.map((c) => ({
166
+ doc: printComment(c),
167
+ startOffset: c.offset,
168
+ endOffset: c.endOffset,
169
+ })),
170
+ { doc: pragmaDoc, startOffset: pragmaOffset, endOffset: pragmaOffset },
171
+ ];
172
+ const parts = [items[0].doc];
173
+ for (let i = 1; i < items.length; i++) {
174
+ const sep = hasBlankLineBetweenOffsets(lineStarts, items[i - 1].endOffset, items[i].startOffset)
175
+ ? [hardline, hardline]
176
+ : hardline;
177
+ parts.push(sep, items[i].doc);
178
+ }
179
+ sections.push(parts);
180
+ }
105
181
  const includes = file["includes"] ?? [];
106
182
  if (includes.length > 0) {
107
183
  sections.push(join(hardline, includes.map((inc) => `include "${escapeString(inc)}";`)));
108
184
  }
109
185
  for (const def of file["definitions"] ?? []) {
110
186
  if (def["templateDefinition"]) {
111
- sections.push(printTemplate(file, def["templateDefinition"]));
187
+ sections.push(printTemplate(file, def["templateDefinition"], comments));
112
188
  }
113
189
  else if (def["functionDefinition"]) {
114
- sections.push(printFunction(file, def["functionDefinition"]));
190
+ sections.push(printFunction(file, def["functionDefinition"], comments));
115
191
  }
116
192
  }
117
193
  if (file["mainComponent"]) {
@@ -125,22 +201,22 @@ function formatParams(params) {
125
201
  return "()";
126
202
  return group(["(", indent([softline, join([",", line], params)]), softline, ")"]);
127
203
  }
128
- function printTemplate(file, t) {
204
+ function printTemplate(file, t, comments) {
129
205
  return [
130
206
  "template ",
131
207
  t["name"] ?? "",
132
208
  formatParams(t["params"] ?? []),
133
209
  " ",
134
- printBlock(file, ref(t["bodyIndex"])),
210
+ printBlock(file, ref(t["bodyIndex"]), comments),
135
211
  ];
136
212
  }
137
- function printFunction(file, f) {
213
+ function printFunction(file, f, comments) {
138
214
  return [
139
215
  "function ",
140
216
  f["name"] ?? "",
141
217
  formatParams(f["params"] ?? []),
142
218
  " ",
143
- printBlock(file, ref(f["bodyIndex"])),
219
+ printBlock(file, ref(f["bodyIndex"]), comments),
144
220
  ];
145
221
  }
146
222
  function printMainComponent(file, mc) {
@@ -149,32 +225,53 @@ function printMainComponent(file, mc) {
149
225
  return ["component main", pubPart, " = ", printExpression(file, ref(mc["instantiation"])), ";"];
150
226
  }
151
227
  // ---- Statements -----------------------------------------------------------------
152
- function printBlock(file, idx) {
228
+ function printBlock(file, idx, comments) {
153
229
  const node = mustStatement(file, idx);
154
230
  if (node["statement"] !== "block") {
155
- return ["{", indent([hardline, printStatement(file, idx)]), hardline, "}"];
231
+ return ["{", indent([hardline, printStatement(file, idx, comments)]), hardline, "}"];
156
232
  }
157
233
  const statements = node["block"]?.["statements"] ?? [];
158
- if (statements.length === 0) {
234
+ const blockRange = node["range"];
235
+ const blockStart = blockRange ? (blockRange["offset"] ?? 0) : 0;
236
+ const blockEnd = blockRange ? blockStart + (blockRange["length"] ?? 0) : Infinity;
237
+ const lineStarts = file["lineStarts"] ?? [];
238
+ const statementItems = statements.map((stmtIdx) => {
239
+ const stmt = mustStatement(file, stmtIdx);
240
+ const range = stmt["range"];
241
+ const startOffset = range ? (range["offset"] ?? 0) : 0;
242
+ const endOffset = range ? startOffset + (range["length"] ?? 0) : 0;
243
+ return { kind: "statement", idx: stmtIdx, startOffset, endOffset };
244
+ });
245
+ const blockComments = commentsInRange(comments, blockStart + 1, blockEnd);
246
+ const commentItems = blockComments.map((c) => ({ kind: "comment", comment: c }));
247
+ const items = [...statementItems, ...commentItems].sort((a, b) => {
248
+ const aOffset = a.kind === "statement" ? a.startOffset : a.comment.offset;
249
+ const bOffset = b.kind === "statement" ? b.startOffset : b.comment.offset;
250
+ return aOffset - bOffset;
251
+ });
252
+ if (items.length === 0)
159
253
  return "{}";
254
+ const itemStartOffset = (item) => item.kind === "statement" ? item.startOffset : item.comment.offset;
255
+ const itemEndOffset = (item) => item.kind === "statement" ? item.endOffset : item.comment.endOffset;
256
+ const printItem = (item) => item.kind === "statement"
257
+ ? printStatement(file, item.idx, comments)
258
+ : printComment(item.comment);
259
+ const body = [printItem(items[0])];
260
+ for (let i = 1; i < items.length; i++) {
261
+ const separator = hasBlankLineBetweenOffsets(lineStarts, itemEndOffset(items[i - 1]), itemStartOffset(items[i]))
262
+ ? [hardline, hardline]
263
+ : hardline;
264
+ body.push(separator, printItem(items[i]));
160
265
  }
161
- return [
162
- "{",
163
- indent([
164
- hardline,
165
- join(hardline, statements.map((i) => printStatement(file, i))),
166
- ]),
167
- hardline,
168
- "}",
169
- ];
266
+ return ["{", indent([hardline, body]), hardline, "}"];
170
267
  }
171
- function printStatement(file, idx) {
268
+ function printStatement(file, idx, comments) {
172
269
  const node = mustStatement(file, idx);
173
270
  switch (node["statement"]) {
174
271
  case "empty":
175
272
  return ";";
176
273
  case "block":
177
- return printBlock(file, idx);
274
+ return printBlock(file, idx, comments);
178
275
  case "declaration":
179
276
  return [printDeclarationStatement(file, node["declaration"]), ";"];
180
277
  case "expression":
@@ -182,16 +279,16 @@ function printStatement(file, idx) {
182
279
  case "ifStatement": {
183
280
  const s = node["ifStatement"];
184
281
  const head = ["if (", printExpression(file, ref(s["condition"])), ") "];
185
- const then_ = printBlock(file, ref(s["thenBranch"]));
282
+ const then_ = printBlock(file, ref(s["thenBranch"]), comments);
186
283
  if (!hasRef(s["elseBranch"])) {
187
284
  return [head, then_];
188
285
  }
189
286
  const elseNode = mustStatement(file, ref(s["elseBranch"]));
190
287
  if (elseNode["statement"] === "ifStatement") {
191
288
  // else-if chain: omit braces around the nested if
192
- return [head, then_, " else ", printStatement(file, ref(s["elseBranch"]))];
289
+ return [head, then_, " else ", printStatement(file, ref(s["elseBranch"]), comments)];
193
290
  }
194
- return [head, then_, " else ", printBlock(file, ref(s["elseBranch"]))];
291
+ return [head, then_, " else ", printBlock(file, ref(s["elseBranch"]), comments)];
195
292
  }
196
293
  case "whileLoopStatement": {
197
294
  const s = node["whileLoopStatement"];
@@ -199,14 +296,14 @@ function printStatement(file, idx) {
199
296
  "while (",
200
297
  printExpression(file, ref(s["condition"])),
201
298
  ") ",
202
- printBlock(file, ref(s["body"])),
299
+ printBlock(file, ref(s["body"]), comments),
203
300
  ];
204
301
  }
205
302
  case "doWhileLoopStatement": {
206
303
  const s = node["doWhileLoopStatement"];
207
304
  return [
208
305
  "do ",
209
- printBlock(file, ref(s["body"])),
306
+ printBlock(file, ref(s["body"]), comments),
210
307
  " while (",
211
308
  printExpression(file, ref(s["condition"])),
212
309
  ");",
@@ -217,7 +314,7 @@ function printStatement(file, idx) {
217
314
  const hasCondition = hasRef(s["condition"]);
218
315
  const hasStep = hasRef(s["step"]);
219
316
  const initializer = hasRef(s["initializer"])
220
- ? printForInit(file, ref(s["initializer"]))
317
+ ? printForInit(file, ref(s["initializer"]), comments)
221
318
  : "";
222
319
  const condition = hasCondition ? [" ", printExpression(file, ref(s["condition"]))] : "";
223
320
  const step = hasStep ? [" ", printExpression(file, ref(s["step"]))] : "";
@@ -229,7 +326,7 @@ function printStatement(file, idx) {
229
326
  ";",
230
327
  step,
231
328
  ") ",
232
- printBlock(file, ref(s["body"])),
329
+ printBlock(file, ref(s["body"]), comments),
233
330
  ];
234
331
  }
235
332
  case "breakStatement":
@@ -247,7 +344,7 @@ function printStatement(file, idx) {
247
344
  }
248
345
  }
249
346
  // Prints a for-loop initializer (declaration or expression, without trailing semicolon).
250
- function printForInit(file, idx) {
347
+ function printForInit(file, idx, _comments) {
251
348
  const node = mustStatement(file, idx);
252
349
  switch (node["statement"]) {
253
350
  case "empty":
@@ -315,8 +412,9 @@ function printExpression(file, idx) {
315
412
  return node["stringLiteral"]?.["value"] ?? '""';
316
413
  case "arrayLiteral": {
317
414
  const elements = (node["arrayLiteral"]?.["elements"] ?? []).map((i) => printExpression(file, i));
318
- if (elements.length === 0)
415
+ if (elements.length === 0) {
319
416
  return "[]";
417
+ }
320
418
  return group([
321
419
  "[",
322
420
  indent([softline, join([",", line], elements), ifBreak(",", "")]),
@@ -330,8 +428,9 @@ function printExpression(file, idx) {
330
428
  return ["(", printExpression(file, ref(node["subExpression"]?.["inner"])), ")"];
331
429
  case "tuple": {
332
430
  const components = node["tuple"]?.["components"] ?? [];
333
- if (components.length === 0)
431
+ if (components.length === 0) {
334
432
  return "()";
433
+ }
335
434
  if (components.length === 1) {
336
435
  // Single-element tuple: (x,) — trailing comma is mandatory.
337
436
  return ["(", printExpression(file, components[0]), ",)"];
@@ -423,8 +522,9 @@ function printPostfix(file, operand, pf) {
423
522
  return [operand, "[", printExpression(file, pf["subscriptExpression"] ?? 0), "]"];
424
523
  case "invocation": {
425
524
  const args = (pf["invocation"]?.["arguments"] ?? []).map((i) => printExpression(file, i));
426
- if (args.length === 0)
525
+ if (args.length === 0) {
427
526
  return [operand, "()"];
527
+ }
428
528
  return [operand, group(["(", indent([softline, join([",", line], args)]), softline, ")"])];
429
529
  }
430
530
  case "increment":
@@ -448,7 +548,10 @@ const plugin = {
448
548
  parsers: {
449
549
  starkom: {
450
550
  parse(text, options) {
451
- return parse(options["filepath"] ?? "<anonymous>", text, false);
551
+ return parse(options["filepath"] ?? "<anonymous>", text, {
552
+ withTokens: true,
553
+ withRanges: true,
554
+ });
452
555
  },
453
556
  astFormat: "starkom",
454
557
  locStart: (_node) => 0,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libernet/prettier-plugin-starkom",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Prettier plugin for formatting Starkom code.",
5
5
  "homepage": "https://github.com/libernet-xyz/prettier-plugin-starkom#readme",
6
6
  "bugs": {
@@ -27,7 +27,7 @@
27
27
  "prettier": ">=3.0.0"
28
28
  },
29
29
  "dependencies": {
30
- "@libernet/starkom": "^0.4.0"
30
+ "@libernet/starkom": "^0.5.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/chai": "^5.2.3",