prettier-plugin-java 2.6.4 → 2.6.6
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/LICENSE +1 -1
- package/dist/index.js +2 -2
- package/dist/printers/blocks-and-statements.js +1 -1
- package/dist/printers/classes.js +3 -0
- package/dist/printers/comments/handle-comments.js +2 -2
- package/dist/printers/expressions.js +34 -10
- package/dist/printers/printer-utils.js +11 -9
- package/dist/utils/expressions-utils.js +25 -0
- package/dist/utils/printSingleLambdaInvocation.js +18 -0
- package/index.d.ts +4 -0
- package/package.json +24 -16
package/LICENSE
CHANGED
package/dist/index.js
CHANGED
|
@@ -6,8 +6,8 @@ const languages = [
|
|
|
6
6
|
name: "Java",
|
|
7
7
|
parsers: ["java"],
|
|
8
8
|
group: "Java",
|
|
9
|
-
tmScope: "text.html.vue",
|
|
10
|
-
aceMode: "html",
|
|
9
|
+
tmScope: "text.html.vue", // FIXME
|
|
10
|
+
aceMode: "html", // FIXME
|
|
11
11
|
codemirrorMode: "clike",
|
|
12
12
|
codemirrorMimeType: "text/x-java",
|
|
13
13
|
extensions: [".java"],
|
|
@@ -76,7 +76,7 @@ export class BlocksAndStatementPrettierVisitor extends BaseCstPrettierPrinter {
|
|
|
76
76
|
labeledStatement(ctx) {
|
|
77
77
|
const identifier = ctx.Identifier[0];
|
|
78
78
|
const statement = this.visit(ctx.statement);
|
|
79
|
-
return
|
|
79
|
+
return concat([identifier, ctx.Colon[0], " ", statement]);
|
|
80
80
|
}
|
|
81
81
|
expressionStatement(ctx) {
|
|
82
82
|
const statementExpression = this.visit(ctx.statementExpression);
|
package/dist/printers/classes.js
CHANGED
|
@@ -65,12 +65,12 @@ function moveOperatorLeadingCommentsToNextExpression(ctx) {
|
|
|
65
65
|
}
|
|
66
66
|
function moveExpressionTrailingCommentsToNextOperator(ctx) {
|
|
67
67
|
const binaryOperators = ctx.BinaryOperator;
|
|
68
|
-
let binaryOperatorIndex =
|
|
68
|
+
let binaryOperatorIndex = 0;
|
|
69
69
|
if (binaryOperators === null || binaryOperators === void 0 ? void 0 : binaryOperators.length) {
|
|
70
70
|
ctx.unaryExpression.forEach(unaryExpression => {
|
|
71
71
|
var _a;
|
|
72
72
|
if (hasTrailingComments(unaryExpression)) {
|
|
73
|
-
while (binaryOperatorIndex < binaryOperators.length &&
|
|
73
|
+
while (binaryOperatorIndex < binaryOperators.length - 1 &&
|
|
74
74
|
unaryExpression.location.endOffset &&
|
|
75
75
|
binaryOperators[binaryOperatorIndex].startOffset <
|
|
76
76
|
unaryExpression.location.endOffset) {
|
|
@@ -5,8 +5,8 @@ import { isAnnotationCstNode } from "../types/utils.js";
|
|
|
5
5
|
import { printArgumentListWithBraces } from "../utils/index.js";
|
|
6
6
|
import { printTokenWithComments } from "./comments/format-comments.js";
|
|
7
7
|
import { handleCommentsBinaryExpression, handleCommentsParameters } from "./comments/handle-comments.js";
|
|
8
|
-
import { concat, dedent, group, indent } from "./prettier-builder.js";
|
|
9
|
-
import { binary, findDeepElementInPartsArray, isExplicitLambdaParameter, isUniqueMethodInvocation, putIntoBraces, rejectAndConcat, rejectAndJoin, rejectAndJoinSeps, sortAnnotationIdentifier, sortNodes, sortTokens } from "./printer-utils.js";
|
|
8
|
+
import { concat, dedent, group, indent, indentIfBreak } from "./prettier-builder.js";
|
|
9
|
+
import { binary, findDeepElementInPartsArray, getOperators, isExplicitLambdaParameter, isUniqueMethodInvocation, putIntoBraces, rejectAndConcat, rejectAndJoin, rejectAndJoinSeps, sortAnnotationIdentifier, sortNodes, sortTokens } from "./printer-utils.js";
|
|
10
10
|
const { breakParent, conditionalGroup, ifBreak, label, line, lineSuffixBoundary, softline } = builders;
|
|
11
11
|
const { removeLines, willBreak } = utils;
|
|
12
12
|
export class ExpressionsPrettierVisitor extends BaseCstPrettierPrinter {
|
|
@@ -125,6 +125,7 @@ export class ExpressionsPrettierVisitor extends BaseCstPrettierPrinter {
|
|
|
125
125
|
return binaryExpression;
|
|
126
126
|
}
|
|
127
127
|
binaryExpression(ctx, params) {
|
|
128
|
+
var _a, _b, _c, _d;
|
|
128
129
|
handleCommentsBinaryExpression(ctx);
|
|
129
130
|
const sortedNodes = sortNodes([
|
|
130
131
|
ctx.pattern,
|
|
@@ -132,15 +133,38 @@ export class ExpressionsPrettierVisitor extends BaseCstPrettierPrinter {
|
|
|
132
133
|
ctx.expression,
|
|
133
134
|
ctx.unaryExpression
|
|
134
135
|
]);
|
|
135
|
-
const
|
|
136
|
-
const tokens = sortTokens([
|
|
137
|
-
ctx.Instanceof,
|
|
138
|
-
ctx.AssignmentOperator,
|
|
139
|
-
ctx.Less,
|
|
140
|
-
ctx.Greater,
|
|
141
|
-
ctx.BinaryOperator
|
|
142
|
-
]);
|
|
136
|
+
const tokens = sortTokens(getOperators(ctx));
|
|
143
137
|
const hasTokens = tokens.length > 0;
|
|
138
|
+
const nodeParams = sortedNodes.length === 1 ? params : undefined;
|
|
139
|
+
const nodes = [];
|
|
140
|
+
for (let i = 0; i < sortedNodes.length; i++) {
|
|
141
|
+
const node = this.visit(sortedNodes[i], nodeParams);
|
|
142
|
+
const isAssignment = ((_b = (_a = tokens[i]) === null || _a === void 0 ? void 0 : _a.tokenType.CATEGORIES) === null || _b === void 0 ? void 0 : _b.find(({ name }) => name === "AssignmentOperator")) !== undefined;
|
|
143
|
+
if (!isAssignment) {
|
|
144
|
+
nodes.push(node);
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const [equals] = tokens.splice(i, 1);
|
|
148
|
+
const expression = sortedNodes[++i];
|
|
149
|
+
const nextNode = this.visit(expression);
|
|
150
|
+
const conditionalExpression = (_c = expression.children.conditionalExpression) === null || _c === void 0 ? void 0 : _c[0].children;
|
|
151
|
+
const binaryExpression = (_d = conditionalExpression === null || conditionalExpression === void 0 ? void 0 : conditionalExpression.binaryExpression) === null || _d === void 0 ? void 0 : _d[0].children;
|
|
152
|
+
const breakAfterOperator = (conditionalExpression === null || conditionalExpression === void 0 ? void 0 : conditionalExpression.QuestionMark) === undefined &&
|
|
153
|
+
binaryExpression !== undefined &&
|
|
154
|
+
getOperators(binaryExpression).length > 0;
|
|
155
|
+
if (breakAfterOperator) {
|
|
156
|
+
nodes.push(concat([node, " ", equals, group(indent([line, nextNode]))]));
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
const groupId = Symbol("assignment");
|
|
160
|
+
nodes.push(concat([
|
|
161
|
+
node,
|
|
162
|
+
" ",
|
|
163
|
+
equals,
|
|
164
|
+
indent(group(line, { id: groupId })),
|
|
165
|
+
indentIfBreak(nextNode, { groupId })
|
|
166
|
+
]));
|
|
167
|
+
}
|
|
144
168
|
const content = binary(nodes, tokens, true);
|
|
145
169
|
return hasTokens && (params === null || params === void 0 ? void 0 : params.addParenthesisToWrapStatement)
|
|
146
170
|
? group(concat([
|
|
@@ -8,7 +8,7 @@ import { isCstNode } from "../types/utils.js";
|
|
|
8
8
|
import { isEmptyDoc } from "../utils/index.js";
|
|
9
9
|
import { hasComments, hasLeadingComments, hasTrailingComments } from "./comments/comments-utils.js";
|
|
10
10
|
import { getTokenLeadingComments, printTokenWithComments } from "./comments/format-comments.js";
|
|
11
|
-
import { concat, group, ifBreak,
|
|
11
|
+
import { concat, group, ifBreak, join } from "./prettier-builder.js";
|
|
12
12
|
const { indent, hardline, line, lineSuffixBoundary, softline } = builders;
|
|
13
13
|
const orderedModifiers = [
|
|
14
14
|
"Public",
|
|
@@ -456,14 +456,16 @@ export function binary(nodes, tokens, isRoot = false) {
|
|
|
456
456
|
}
|
|
457
457
|
}
|
|
458
458
|
level.push(nodes.shift());
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
459
|
+
return group(join(line, level));
|
|
460
|
+
}
|
|
461
|
+
export function getOperators(ctx) {
|
|
462
|
+
return [
|
|
463
|
+
ctx.AssignmentOperator,
|
|
464
|
+
ctx.BinaryOperator,
|
|
465
|
+
ctx.Greater,
|
|
466
|
+
ctx.Instanceof,
|
|
467
|
+
ctx.Less
|
|
468
|
+
].filter(token => token !== undefined);
|
|
467
469
|
}
|
|
468
470
|
function getOperator(tokens) {
|
|
469
471
|
if (!tokens.length) {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function isArgumentListSingleLambda(argumentList) {
|
|
2
|
+
if (argumentList === undefined) {
|
|
3
|
+
return false;
|
|
4
|
+
}
|
|
5
|
+
const args = argumentList[0].children.expression;
|
|
6
|
+
if (args.length !== 1) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const argument = args[0];
|
|
10
|
+
return argument.children.lambdaExpression !== undefined;
|
|
11
|
+
}
|
|
12
|
+
export const isSingleArgumentLambdaExpressionWithBlock = (argumentList) => {
|
|
13
|
+
if (argumentList === undefined) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const args = argumentList[0].children.expression;
|
|
17
|
+
if (args.length !== 1) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const argument = args[0];
|
|
21
|
+
return (argument.children.lambdaExpression !== undefined &&
|
|
22
|
+
argument.children.lambdaExpression[0].children.lambdaBody[0].children
|
|
23
|
+
.block !== undefined);
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc2lvbnMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZXhwcmVzc2lvbnMtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxZQUErQztJQUUvQyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7UUFDOUIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxDQUN2RCxZQUErQyxFQUMvQyxFQUFFO0lBQ0YsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNqRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUNMLFFBQVEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUssU0FBUztRQUNoRCxRQUFRLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTthQUNsRSxLQUFLLEtBQUssU0FBUyxDQUN2QixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { builders } from "prettier/doc";
|
|
2
|
+
import { isSingleArgumentLambdaExpressionWithBlock } from "./expressions-utils.js";
|
|
3
|
+
import { printTokenWithComments } from "../printers/comments/format-comments.js";
|
|
4
|
+
import { concat, dedent, indent } from "../printers/prettier-builder.js";
|
|
5
|
+
import { putIntoBraces } from "../printers/printer-utils.js";
|
|
6
|
+
const { softline, ifBreak } = builders;
|
|
7
|
+
export default function printSingleLambdaInvocation(argumentListCtx, rBrace, lBrace) {
|
|
8
|
+
const lambdaParametersGroupId = Symbol("lambdaParameters");
|
|
9
|
+
const argumentList = this.visit(argumentListCtx, {
|
|
10
|
+
lambdaParametersGroupId,
|
|
11
|
+
isInsideMethodInvocationSuffix: true
|
|
12
|
+
});
|
|
13
|
+
const formattedRBrace = isSingleArgumentLambdaExpressionWithBlock(argumentListCtx)
|
|
14
|
+
? ifBreak(indent(concat([softline, rBrace])), printTokenWithComments(rBrace), { groupId: lambdaParametersGroupId })
|
|
15
|
+
: indent(concat([softline, rBrace]));
|
|
16
|
+
return dedent(putIntoBraces(argumentList, "", lBrace, formattedRBrace));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRTaW5nbGVMYW1iZGFJbnZvY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3ByaW50U2luZ2xlTGFtYmRhSW52b2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU3RCxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQztBQUV2QyxNQUFNLENBQUMsT0FBTyxVQUFVLDJCQUEyQixDQUNqRCxlQUFrRCxFQUNsRCxNQUFjLEVBQ2QsTUFBYztJQUVkLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7UUFDL0MsdUJBQXVCO1FBQ3ZCLDhCQUE4QixFQUFFLElBQUk7S0FDckMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxlQUFlLEdBQUcseUNBQXlDLENBQy9ELGVBQWUsQ0FDaEI7UUFDQyxDQUFDLENBQUMsT0FBTyxDQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNsQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsRUFDOUIsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FDckM7UUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyJ9
|
package/index.d.ts
ADDED
package/package.json
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prettier-plugin-java",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.6",
|
|
4
4
|
"description": "Prettier Java Plugin",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"exports":
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./index.d.ts",
|
|
9
|
+
"import": "./dist/index.js"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
7
12
|
"files": [
|
|
8
|
-
"dist"
|
|
13
|
+
"dist",
|
|
14
|
+
"index.d.ts"
|
|
9
15
|
],
|
|
10
16
|
"homepage": "https://jhipster.github.io/prettier-java/",
|
|
11
17
|
"repository": "https://github.com/jhipster/prettier-java",
|
|
12
18
|
"license": "Apache-2.0",
|
|
13
19
|
"dependencies": {
|
|
14
|
-
"java-parser": "2.3.
|
|
15
|
-
"lodash": "4.17.21"
|
|
16
|
-
"prettier": "3.2.5"
|
|
20
|
+
"java-parser": "2.3.3",
|
|
21
|
+
"lodash": "4.17.21"
|
|
17
22
|
},
|
|
18
23
|
"scripts": {
|
|
19
24
|
"test": "yarn run test:unit && yarn run test:e2e-core",
|
|
@@ -28,15 +33,18 @@
|
|
|
28
33
|
},
|
|
29
34
|
"devDependencies": {
|
|
30
35
|
"@chevrotain/types": "11.0.3",
|
|
31
|
-
"@types/chai": "
|
|
32
|
-
"@types/fs-extra": "
|
|
33
|
-
"@types/jest": "29.
|
|
34
|
-
"@types/klaw-sync": "6.0.
|
|
35
|
-
"@types/lodash": "4.
|
|
36
|
-
"@types/node": "18.
|
|
37
|
-
"@types/sinon": "
|
|
38
|
-
"ts-node": "10.9.
|
|
39
|
-
"typescript": "
|
|
36
|
+
"@types/chai": "5.0.1",
|
|
37
|
+
"@types/fs-extra": "11.0.4",
|
|
38
|
+
"@types/jest": "29.5.14",
|
|
39
|
+
"@types/klaw-sync": "6.0.5",
|
|
40
|
+
"@types/lodash": "4.17.13",
|
|
41
|
+
"@types/node": "18.19.64",
|
|
42
|
+
"@types/sinon": "17.0.3",
|
|
43
|
+
"ts-node": "10.9.2",
|
|
44
|
+
"typescript": "5.6.3"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"prettier": "^3.0.0"
|
|
40
48
|
},
|
|
41
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "b80f28061b45d46df03c441ff3af3d68e84b3c23"
|
|
42
50
|
}
|