@openrewrite/rewrite 8.69.0-20251208-174001 → 8.69.0-20251209-084905
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/javascript/format.d.ts.map +1 -1
- package/dist/javascript/format.js +27 -7
- package/dist/javascript/format.js.map +1 -1
- package/dist/javascript/parser.js +1 -1
- package/dist/javascript/parser.js.map +1 -1
- package/dist/javascript/tabs-and-indents-visitor.d.ts.map +1 -1
- package/dist/javascript/tabs-and-indents-visitor.js +80 -12
- package/dist/javascript/tabs-and-indents-visitor.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/javascript/format.ts +26 -7
- package/src/javascript/parser.ts +1 -1
- package/src/javascript/tabs-and-indents-visitor.ts +77 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-and-indents-visitor.d.ts","sourceRoot":"","sources":["../../src/javascript/tabs-and-indents-visitor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAGH,CAAC,EAOJ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,MAAM,EAAmB,IAAI,EAAC,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAI5C,qBAAa,qBAAqB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAGlD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAAuB,OAAO,CAAC,SAAS,CAAC;IAFzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAET,mBAAmB,EAAE,mBAAmB,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;cAU/E,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKhE,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"tabs-and-indents-visitor.d.ts","sourceRoot":"","sources":["../../src/javascript/tabs-and-indents-visitor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAGH,CAAC,EAOJ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,MAAM,EAAmB,IAAI,EAAC,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAI5C,qBAAa,qBAAqB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAGlD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAAuB,OAAO,CAAC,SAAS,CAAC;IAFzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAET,mBAAmB,EAAE,mBAAmB,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;cAU/E,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKhE,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;IAaV,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA2ChE,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,uBAAuB;IAwD/B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,iBAAiB;IAUZ,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAuBlG,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,kBAAkB;IAsCb,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAC1E,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACrB,CAAC,EAAE,CAAC,GACL,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IA2BvC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,mBAAmB;IAmBd,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,EAC/C,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EACvB,CAAC,EAAE,CAAC,GACL,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAyBxC,OAAO,CAAC,mBAAmB;IA0D3B,OAAO,CAAC,4BAA4B;IAapC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAgBjB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAanF,OAAO,CAAC,oBAAoB;IA8C5B,OAAO,CAAC,aAAa;CAMxB"}
|
|
@@ -94,10 +94,23 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
94
94
|
return [parentIndent !== null && parentIndent !== void 0 ? parentIndent : "", parentKind !== null && parentKind !== void 0 ? parentKind : 'continuation'];
|
|
95
95
|
}
|
|
96
96
|
computeMyIndent(tree, parentMyIndent, parentIndentKind) {
|
|
97
|
+
var _a, _b, _c;
|
|
97
98
|
// CompilationUnit is the root - it always has myIndent="" regardless of prefix content
|
|
98
99
|
if (tree.kind === tree_1.JS.Kind.CompilationUnit) {
|
|
99
100
|
return "";
|
|
100
101
|
}
|
|
102
|
+
// TemplateExpressionSpan: reset indent context - template literal content determines its own indentation
|
|
103
|
+
// The expression inside ${...} should be indented based on where it appears in the template, not outer code
|
|
104
|
+
if (tree.kind === tree_1.JS.Kind.TemplateExpressionSpan) {
|
|
105
|
+
// Extract base indent from the expression's prefix whitespace (after the last newline)
|
|
106
|
+
const span = tree;
|
|
107
|
+
const prefix = (_c = (_b = (_a = span.expression) === null || _a === void 0 ? void 0 : _a.prefix) === null || _b === void 0 ? void 0 : _b.whitespace) !== null && _c !== void 0 ? _c : "";
|
|
108
|
+
const lastNewline = prefix.lastIndexOf("\n");
|
|
109
|
+
if (lastNewline >= 0) {
|
|
110
|
+
return prefix.slice(lastNewline + 1);
|
|
111
|
+
}
|
|
112
|
+
return "";
|
|
113
|
+
}
|
|
101
114
|
if (tree.kind === java_1.J.Kind.IfElse || parentIndentKind === 'align') {
|
|
102
115
|
return parentMyIndent;
|
|
103
116
|
}
|
|
@@ -287,14 +300,55 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
287
300
|
});
|
|
288
301
|
}
|
|
289
302
|
preVisitContainer(container) {
|
|
290
|
-
var _a, _b;
|
|
291
|
-
|
|
303
|
+
var _a, _b, _c, _d;
|
|
304
|
+
let myIndent = (_b = (_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.messages.get("myIndent")) !== null && _b !== void 0 ? _b : "";
|
|
305
|
+
// Check if we're in a method chain - use chainedIndent if available
|
|
306
|
+
// This ensures arguments inside method chains like `.select(arg)` inherit the chain's indent level
|
|
307
|
+
// BUT stop at scope boundaries:
|
|
308
|
+
// 1. Blocks - nested code inside callbacks should NOT use outer chainedIndent
|
|
309
|
+
// 2. Other Containers - nested function call arguments should NOT use outer chainedIndent
|
|
310
|
+
for (let c = this.cursor.parent; c; c = c.parent) {
|
|
311
|
+
// Stop searching if we hit a Block (function body, arrow function body, etc.)
|
|
312
|
+
// This prevents chainedIndent from leaking into nested scopes
|
|
313
|
+
if (((_c = c.value) === null || _c === void 0 ? void 0 : _c.kind) === java_1.J.Kind.Block) {
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
// Stop searching if we hit another Container (arguments of another function call)
|
|
317
|
+
// This prevents chainedIndent from leaking into nested function calls
|
|
318
|
+
if (((_d = c.value) === null || _d === void 0 ? void 0 : _d.kind) === java_1.J.Kind.Container) {
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
const chainedIndent = c.messages.get("chainedIndent");
|
|
322
|
+
if (chainedIndent !== undefined) {
|
|
323
|
+
myIndent = chainedIndent;
|
|
324
|
+
break;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
292
327
|
this.cursor.messages.set("myIndent", myIndent);
|
|
293
328
|
this.cursor.messages.set("indentKind", 'continuation');
|
|
294
329
|
}
|
|
295
330
|
postVisitContainer(container) {
|
|
296
|
-
var _a, _b;
|
|
297
|
-
|
|
331
|
+
var _a, _b, _c, _d;
|
|
332
|
+
let parentIndent = (_b = (_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.messages.get("myIndent")) !== null && _b !== void 0 ? _b : "";
|
|
333
|
+
// Check for chainedIndent for closing delimiter alignment in method chains
|
|
334
|
+
// BUT stop at scope boundaries:
|
|
335
|
+
// 1. Blocks - nested code inside callbacks should NOT use outer chainedIndent
|
|
336
|
+
// 2. Other Containers - nested function call arguments should NOT use outer chainedIndent
|
|
337
|
+
for (let c = this.cursor.parent; c; c = c.parent) {
|
|
338
|
+
// Stop searching if we hit a Block (function body, arrow function body, etc.)
|
|
339
|
+
if (((_c = c.value) === null || _c === void 0 ? void 0 : _c.kind) === java_1.J.Kind.Block) {
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
// Stop searching if we hit another Container (arguments of another function call)
|
|
343
|
+
if (((_d = c.value) === null || _d === void 0 ? void 0 : _d.kind) === java_1.J.Kind.Container) {
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
const chainedIndent = c.messages.get("chainedIndent");
|
|
347
|
+
if (chainedIndent !== undefined) {
|
|
348
|
+
parentIndent = chainedIndent;
|
|
349
|
+
break;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
298
352
|
// Normalize the last element's after whitespace (closing delimiter like `)`)
|
|
299
353
|
// The closing delimiter should align with the parent's indent level
|
|
300
354
|
if (container.elements.length > 0) {
|
|
@@ -389,7 +443,7 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
389
443
|
});
|
|
390
444
|
}
|
|
391
445
|
preVisitRightPadded(right) {
|
|
392
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
446
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
393
447
|
// Get parent indent from parent cursor
|
|
394
448
|
const parentIndent = (_b = (_a = this.cursor.parent) === null || _a === void 0 ? void 0 : _a.messages.get("myIndent")) !== null && _b !== void 0 ? _b : "";
|
|
395
449
|
const parentIndentKind = (_d = (_c = this.cursor.parent) === null || _c === void 0 ? void 0 : _c.messages.get("indentKind")) !== null && _d !== void 0 ? _d : "";
|
|
@@ -401,12 +455,17 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
401
455
|
let myIndent = parentIndent;
|
|
402
456
|
if (hasNewline && isMethodChain) {
|
|
403
457
|
// Search up the cursor hierarchy for an existing chainedIndent (to avoid stacking in method chains)
|
|
404
|
-
|
|
458
|
+
let existingChainedIndent;
|
|
459
|
+
for (let c = this.cursor.parent; c; c = c.parent) {
|
|
460
|
+
existingChainedIndent = c.messages.get("chainedIndent");
|
|
461
|
+
if (existingChainedIndent !== undefined) {
|
|
462
|
+
break;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
405
465
|
if (existingChainedIndent === undefined) {
|
|
406
466
|
myIndent = parentIndent + this.singleIndent;
|
|
407
|
-
// Set
|
|
408
|
-
(
|
|
409
|
-
(_j = this.cursor.parent) === null || _j === void 0 ? void 0 : _j.messages.delete("chainedIndent");
|
|
467
|
+
// Set chainedIndent on parent so further chain elements don't stack
|
|
468
|
+
(_g = this.cursor.parent) === null || _g === void 0 ? void 0 : _g.messages.set("chainedIndent", myIndent);
|
|
410
469
|
}
|
|
411
470
|
else {
|
|
412
471
|
myIndent = existingChainedIndent;
|
|
@@ -418,18 +477,27 @@ class TabsAndIndentsVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
418
477
|
// This allows subsequent elements on the SAME line to inherit the continuation level
|
|
419
478
|
const element = right.element;
|
|
420
479
|
if (this.isSpreadElement(element)) {
|
|
421
|
-
(
|
|
480
|
+
(_h = this.cursor.parent) === null || _h === void 0 ? void 0 : _h.messages.set("continuationIndent", myIndent);
|
|
422
481
|
}
|
|
423
482
|
}
|
|
424
483
|
else if ((0, java_1.isJava)(right.element) && !this.elementPrefixContainsNewline(right.element)) {
|
|
425
484
|
// Element has no newline - check if a previous sibling established continuation
|
|
426
|
-
const continuationIndent = (
|
|
485
|
+
const continuationIndent = (_j = this.cursor.parent) === null || _j === void 0 ? void 0 : _j.messages.get("continuationIndent");
|
|
427
486
|
if (continuationIndent !== undefined) {
|
|
428
487
|
myIndent = continuationIndent;
|
|
429
488
|
}
|
|
430
489
|
}
|
|
431
490
|
this.cursor.messages.set("myIndent", myIndent);
|
|
432
|
-
|
|
491
|
+
// Set 'align' for most RightPadded elements to prevent double-continuation
|
|
492
|
+
// EXCEPT when Parentheses wraps a Binary expression - in that case, the Binary's
|
|
493
|
+
// children need continuation mode to get proper indentation for multi-line operands
|
|
494
|
+
const rightPaddedParentKind = (_l = (_k = this.cursor.parent) === null || _k === void 0 ? void 0 : _k.value) === null || _l === void 0 ? void 0 : _l.kind;
|
|
495
|
+
const elementKind = (_m = right.element) === null || _m === void 0 ? void 0 : _m.kind;
|
|
496
|
+
const isParenthesesWrappingBinary = rightPaddedParentKind === java_1.J.Kind.Parentheses &&
|
|
497
|
+
elementKind === java_1.J.Kind.Binary;
|
|
498
|
+
if (!isParenthesesWrappingBinary) {
|
|
499
|
+
this.cursor.messages.set("indentKind", "align");
|
|
500
|
+
}
|
|
433
501
|
}
|
|
434
502
|
elementPrefixContainsNewline(element) {
|
|
435
503
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs-and-indents-visitor.js","sourceRoot":"","sources":["../../src/javascript/tabs-and-indents-visitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabs-and-indents-visitor.js","sourceRoot":"","sources":["../../src/javascript/tabs-and-indents-visitor.ts"],"names":[],"mappings":"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"}
|
package/dist/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
8.69.0-
|
|
1
|
+
8.69.0-20251209-084905
|
package/package.json
CHANGED
package/src/javascript/format.ts
CHANGED
|
@@ -127,16 +127,26 @@ export class SpacesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
127
127
|
protected async visitArrayAccess(arrayAccess: J.ArrayAccess, p: P): Promise<J | undefined> {
|
|
128
128
|
const ret = await super.visitArrayAccess(arrayAccess, p) as J.ArrayAccess;
|
|
129
129
|
return produce(ret, draft => {
|
|
130
|
-
|
|
131
|
-
draft.dimension.index.
|
|
130
|
+
// Preserve newlines - only modify if no newlines present
|
|
131
|
+
if (!draft.dimension.index.element.prefix.whitespace.includes("\n")) {
|
|
132
|
+
draft.dimension.index.element.prefix.whitespace = this.style.within.arrayBrackets ? " " : "";
|
|
133
|
+
}
|
|
134
|
+
if (!draft.dimension.index.after.whitespace.includes("\n")) {
|
|
135
|
+
draft.dimension.index.after.whitespace = this.style.within.arrayBrackets ? " " : "";
|
|
136
|
+
}
|
|
132
137
|
});
|
|
133
138
|
}
|
|
134
139
|
|
|
135
140
|
protected async visitAssignment(assignment: J.Assignment, p: P): Promise<J | undefined> {
|
|
136
141
|
const ret = await super.visitAssignment(assignment, p) as J.Assignment;
|
|
137
142
|
return produce(ret, draft => {
|
|
138
|
-
|
|
139
|
-
draft.assignment.
|
|
143
|
+
// Preserve newlines - only modify if no newlines present
|
|
144
|
+
if (!draft.assignment.before.whitespace.includes("\n")) {
|
|
145
|
+
draft.assignment.before.whitespace = this.style.aroundOperators.assignment ? " " : "";
|
|
146
|
+
}
|
|
147
|
+
if (!draft.assignment.element.prefix.whitespace.includes("\n")) {
|
|
148
|
+
draft.assignment.element.prefix.whitespace = this.style.aroundOperators.assignment ? " " : "";
|
|
149
|
+
}
|
|
140
150
|
});
|
|
141
151
|
}
|
|
142
152
|
|
|
@@ -228,8 +238,12 @@ export class SpacesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
228
238
|
// Apply afterComma rule to elements after the first
|
|
229
239
|
for (let i = 1; i < draft.elements.length; i++) {
|
|
230
240
|
const currentWs = draft.elements[i].element.prefix.whitespace;
|
|
241
|
+
// Also check for Spread marker with newline (for spread elements the newline is in the marker)
|
|
242
|
+
const element = draft.elements[i].element as J;
|
|
243
|
+
const spreadMarker = element.markers?.markers?.find(m => m.kind === JS.Markers.Spread) as { prefix: J.Space } | undefined;
|
|
244
|
+
const hasNewlineInSpread = spreadMarker?.prefix?.whitespace?.includes("\n");
|
|
231
245
|
// Preserve original newlines - only adjust spacing when elements are on same line
|
|
232
|
-
if (!currentWs.includes("\n")) {
|
|
246
|
+
if (!currentWs.includes("\n") && !hasNewlineInSpread) {
|
|
233
247
|
draft.elements[i].element.prefix.whitespace = this.style.other.afterComma ? " " : "";
|
|
234
248
|
}
|
|
235
249
|
}
|
|
@@ -471,8 +485,13 @@ export class SpacesVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
471
485
|
draft.name.before.whitespace = " ";
|
|
472
486
|
}
|
|
473
487
|
draft.name.element.prefix.whitespace = " ";
|
|
474
|
-
|
|
475
|
-
draft.initializer.
|
|
488
|
+
// Preserve newlines - only modify if no newlines present
|
|
489
|
+
if (!draft.initializer.before.whitespace.includes("\n")) {
|
|
490
|
+
draft.initializer.before.whitespace = this.style.aroundOperators.assignment ? " " : "";
|
|
491
|
+
}
|
|
492
|
+
if (!draft.initializer.element.prefix.whitespace.includes("\n")) {
|
|
493
|
+
draft.initializer.element.prefix.whitespace = this.style.aroundOperators.assignment ? " " : "";
|
|
494
|
+
}
|
|
476
495
|
});
|
|
477
496
|
}
|
|
478
497
|
|
package/src/javascript/parser.ts
CHANGED
|
@@ -3342,7 +3342,7 @@ export class JavaScriptParserVisitor {
|
|
|
3342
3342
|
{
|
|
3343
3343
|
kind: J.Kind.EnumValueSet,
|
|
3344
3344
|
id: randomId(),
|
|
3345
|
-
prefix:
|
|
3345
|
+
prefix: emptySpace,
|
|
3346
3346
|
markers: emptyMarkers,
|
|
3347
3347
|
enums: node.members.map(em => this.rightPadded(this.visit(em), this.suffix(em))),
|
|
3348
3348
|
terminatedWithSemicolon: node.members.hasTrailingComma
|
|
@@ -104,6 +104,18 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
104
104
|
if (tree.kind === JS.Kind.CompilationUnit) {
|
|
105
105
|
return "";
|
|
106
106
|
}
|
|
107
|
+
// TemplateExpressionSpan: reset indent context - template literal content determines its own indentation
|
|
108
|
+
// The expression inside ${...} should be indented based on where it appears in the template, not outer code
|
|
109
|
+
if (tree.kind === JS.Kind.TemplateExpressionSpan) {
|
|
110
|
+
// Extract base indent from the expression's prefix whitespace (after the last newline)
|
|
111
|
+
const span = tree as JS.TemplateExpression.Span;
|
|
112
|
+
const prefix = span.expression?.prefix?.whitespace ?? "";
|
|
113
|
+
const lastNewline = prefix.lastIndexOf("\n");
|
|
114
|
+
if (lastNewline >= 0) {
|
|
115
|
+
return prefix.slice(lastNewline + 1);
|
|
116
|
+
}
|
|
117
|
+
return "";
|
|
118
|
+
}
|
|
107
119
|
if (tree.kind === J.Kind.IfElse || parentIndentKind === 'align') {
|
|
108
120
|
return parentMyIndent;
|
|
109
121
|
}
|
|
@@ -309,13 +321,57 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
309
321
|
}
|
|
310
322
|
|
|
311
323
|
private preVisitContainer<T extends J>(container: J.Container<T>): void {
|
|
312
|
-
|
|
324
|
+
let myIndent = this.cursor.parent?.messages.get("myIndent") as string ?? "";
|
|
325
|
+
|
|
326
|
+
// Check if we're in a method chain - use chainedIndent if available
|
|
327
|
+
// This ensures arguments inside method chains like `.select(arg)` inherit the chain's indent level
|
|
328
|
+
// BUT stop at scope boundaries:
|
|
329
|
+
// 1. Blocks - nested code inside callbacks should NOT use outer chainedIndent
|
|
330
|
+
// 2. Other Containers - nested function call arguments should NOT use outer chainedIndent
|
|
331
|
+
for (let c = this.cursor.parent; c; c = c.parent) {
|
|
332
|
+
// Stop searching if we hit a Block (function body, arrow function body, etc.)
|
|
333
|
+
// This prevents chainedIndent from leaking into nested scopes
|
|
334
|
+
if (c.value?.kind === J.Kind.Block) {
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
// Stop searching if we hit another Container (arguments of another function call)
|
|
338
|
+
// This prevents chainedIndent from leaking into nested function calls
|
|
339
|
+
if (c.value?.kind === J.Kind.Container) {
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
const chainedIndent = c.messages.get("chainedIndent") as string | undefined;
|
|
343
|
+
if (chainedIndent !== undefined) {
|
|
344
|
+
myIndent = chainedIndent;
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
313
349
|
this.cursor.messages.set("myIndent", myIndent);
|
|
314
350
|
this.cursor.messages.set("indentKind", 'continuation');
|
|
315
351
|
}
|
|
316
352
|
|
|
317
353
|
private postVisitContainer<T extends J>(container: J.Container<T>): J.Container<T> {
|
|
318
|
-
|
|
354
|
+
let parentIndent = this.cursor.parent?.messages.get("myIndent") as string ?? "";
|
|
355
|
+
|
|
356
|
+
// Check for chainedIndent for closing delimiter alignment in method chains
|
|
357
|
+
// BUT stop at scope boundaries:
|
|
358
|
+
// 1. Blocks - nested code inside callbacks should NOT use outer chainedIndent
|
|
359
|
+
// 2. Other Containers - nested function call arguments should NOT use outer chainedIndent
|
|
360
|
+
for (let c = this.cursor.parent; c; c = c.parent) {
|
|
361
|
+
// Stop searching if we hit a Block (function body, arrow function body, etc.)
|
|
362
|
+
if (c.value?.kind === J.Kind.Block) {
|
|
363
|
+
break;
|
|
364
|
+
}
|
|
365
|
+
// Stop searching if we hit another Container (arguments of another function call)
|
|
366
|
+
if (c.value?.kind === J.Kind.Container) {
|
|
367
|
+
break;
|
|
368
|
+
}
|
|
369
|
+
const chainedIndent = c.messages.get("chainedIndent") as string | undefined;
|
|
370
|
+
if (chainedIndent !== undefined) {
|
|
371
|
+
parentIndent = chainedIndent;
|
|
372
|
+
break;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
319
375
|
|
|
320
376
|
// Normalize the last element's after whitespace (closing delimiter like `)`)
|
|
321
377
|
// The closing delimiter should align with the parent's indent level
|
|
@@ -446,12 +502,17 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
446
502
|
let myIndent = parentIndent;
|
|
447
503
|
if (hasNewline && isMethodChain) {
|
|
448
504
|
// Search up the cursor hierarchy for an existing chainedIndent (to avoid stacking in method chains)
|
|
449
|
-
|
|
505
|
+
let existingChainedIndent: string | undefined;
|
|
506
|
+
for (let c = this.cursor.parent; c; c = c.parent) {
|
|
507
|
+
existingChainedIndent = c.messages.get("chainedIndent") as string | undefined;
|
|
508
|
+
if (existingChainedIndent !== undefined) {
|
|
509
|
+
break;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
450
512
|
if (existingChainedIndent === undefined) {
|
|
451
513
|
myIndent = parentIndent + this.singleIndent;
|
|
452
|
-
// Set
|
|
453
|
-
this.cursor.parent?.messages.set("
|
|
454
|
-
this.cursor.parent?.messages.delete("chainedIndent");
|
|
514
|
+
// Set chainedIndent on parent so further chain elements don't stack
|
|
515
|
+
this.cursor.parent?.messages.set("chainedIndent", myIndent);
|
|
455
516
|
} else {
|
|
456
517
|
myIndent = existingChainedIndent;
|
|
457
518
|
}
|
|
@@ -472,7 +533,16 @@ export class TabsAndIndentsVisitor<P> extends JavaScriptVisitor<P> {
|
|
|
472
533
|
}
|
|
473
534
|
|
|
474
535
|
this.cursor.messages.set("myIndent", myIndent);
|
|
475
|
-
|
|
536
|
+
// Set 'align' for most RightPadded elements to prevent double-continuation
|
|
537
|
+
// EXCEPT when Parentheses wraps a Binary expression - in that case, the Binary's
|
|
538
|
+
// children need continuation mode to get proper indentation for multi-line operands
|
|
539
|
+
const rightPaddedParentKind = this.cursor.parent?.value?.kind;
|
|
540
|
+
const elementKind = (right.element as any)?.kind;
|
|
541
|
+
const isParenthesesWrappingBinary = rightPaddedParentKind === J.Kind.Parentheses &&
|
|
542
|
+
elementKind === J.Kind.Binary;
|
|
543
|
+
if (!isParenthesesWrappingBinary) {
|
|
544
|
+
this.cursor.messages.set("indentKind", "align");
|
|
545
|
+
}
|
|
476
546
|
}
|
|
477
547
|
|
|
478
548
|
private elementPrefixContainsNewline(element: J): boolean {
|