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 +}