From 809a7943a3dc9252ac6ba79f33b501ae500f8a83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Dessoude?= Date: Mon, 30 Dec 2019 15:32:42 +0100 Subject: [PATCH] feature: allow blank lines in enumConstant lists --- .../src/printers/classes.js | 5 ++++- .../test/unit-test/enum/_input.java | 18 ++++++++++++++++++ .../test/unit-test/enum/_output.java | 14 ++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/prettier-plugin-java/src/printers/classes.js b/packages/prettier-plugin-java/src/printers/classes.js index 5a54606db..26a16e071 100644 --- a/packages/prettier-plugin-java/src/printers/classes.js +++ b/packages/prettier-plugin-java/src/printers/classes.js @@ -2,6 +2,7 @@ const _ = require("lodash"); const { line, softline, hardline } = require("prettier").doc.builders; const { + getBlankLinesSeparator, hasLeadingLineComments, reject, rejectAndConcat, @@ -685,8 +686,10 @@ class ClassesPrettierVisitor { enumConstantList(ctx) { const enumConstants = this.mapVisit(ctx.enumConstant); + + const blankLineSeparators = getBlankLinesSeparator(ctx.enumConstant); const commas = ctx.Comma - ? ctx.Comma.map(elt => concat([elt, hardline])) + ? ctx.Comma.map((elt, index) => concat([elt, blankLineSeparators[index]])) : []; return group(rejectAndJoinSeps(commas, enumConstants)); diff --git a/packages/prettier-plugin-java/test/unit-test/enum/_input.java b/packages/prettier-plugin-java/test/unit-test/enum/_input.java index acae17bb6..4a088a5ea 100644 --- a/packages/prettier-plugin-java/test/unit-test/enum/_input.java +++ b/packages/prettier-plugin-java/test/unit-test/enum/_input.java @@ -97,3 +97,21 @@ public static enum VALID_THINGS { } } + +public enum OtherEnum { + ONE, TWO, + + THREE, + + + + FOUR, + /* Five */ + FIVE, + + /* Six */ + SIX + + +} + diff --git a/packages/prettier-plugin-java/test/unit-test/enum/_output.java b/packages/prettier-plugin-java/test/unit-test/enum/_output.java index 735c37420..89c8935c6 100644 --- a/packages/prettier-plugin-java/test/unit-test/enum/_output.java +++ b/packages/prettier-plugin-java/test/unit-test/enum/_output.java @@ -115,3 +115,17 @@ public static enum VALID_THINGS { SECOND } } + +public enum OtherEnum { + ONE, + TWO, + + THREE, + + FOUR, + /* Five */ + FIVE, + + /* Six */ + SIX +}