From fd922094c08f5930651d42b26b1716158c99a4e6 Mon Sep 17 00:00:00 2001 From: Arnaud Freismuth Date: Wed, 13 Nov 2019 18:30:26 +0100 Subject: [PATCH 1/6] add formatter off-on --- packages/java-parser/src/comments.js | 57 +++++++++++++++++++ packages/java-parser/src/index.js | 9 ++- packages/java-parser/src/parser.js | 7 ++- .../scripts/single-printer-run/_input.java | 40 ++++++------- .../scripts/single-printer-run/_output.java | 53 +++++++++++------ .../formatter-on-off/_input.java | 19 +++++++ .../formatter-on-off/_output.java | 28 +++++++++ .../prettier-ignore/prettier-ignore-spec.js | 1 + 8 files changed, 172 insertions(+), 42 deletions(-) create mode 100644 packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java create mode 100644 packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java diff --git a/packages/java-parser/src/comments.js b/packages/java-parser/src/comments.js index 19d1c250..0739c851 100644 --- a/packages/java-parser/src/comments.js +++ b/packages/java-parser/src/comments.js @@ -155,6 +155,53 @@ function shouldIgnore(node, comments, ignoredNodes) { } } +function filterFormatterOffOn(comments) { + return [...comments].filter(comment => + comment.image.match( + /(\/\/(\s*)@formatter:off(\s*))|(\/\*(\s*)@formatter:off(\s*)\*\/)|(\/\/(\s*)@formatter:on(\s*))|(\/\*(\s*)@formatter:on(\s*)\*\/)/gm + ) + ); +} + +function matchFormatterOffOnPair(comments) { + let isCommentOff = false; + let isNextCommentOff = true; + const pairs = []; + let paired = {}; + comments.forEach(comment => { + isNextCommentOff = comment.image.slice(comment.image.length - 3) === "off"; + + if (!isCommentOff) { + if (isNextCommentOff) { + paired.off = comment; + } + } else { + if (!isNextCommentOff) { + paired.on = comment; + pairs.push(paired); + paired = {}; + } + } + + isCommentOff = isNextCommentOff; + }); + + return pairs; +} + +function shouldNotFormat(node, commentPairs, ignoredNodes) { + const matchingPair = _.find( + commentPairs, + comment => comment.on.extendedRange.startOffset > node.location.endOffset + ); + if ( + matchingPair !== undefined && + matchingPair.off.endOffset < node.location.startOffset + ) { + node.ignore = true; + } +} + function attachIgnoreNodes(ignoreComments, ignoredNodes) { ignoreComments.forEach(comment => { if (ignoredNodes[comment.startOffset]) { @@ -167,9 +214,19 @@ function ignoredComments(tokens, comments) { return extendCommentRange(tokens, filterPrettierIgnore(comments)); } +function formatterOffOnComments(tokens, comments) { + const offOn = filterFormatterOffOn(comments); + const extendedRangeOffOn = extendCommentRange(tokens, offOn); + const pairs = matchFormatterOffOnPair(extendedRangeOffOn); + + return pairs; +} + module.exports = { attachComments, shouldIgnore, + shouldNotFormat, + formatterOffOnComments, ignoredComments, attachIgnoreNodes }; diff --git a/packages/java-parser/src/index.js b/packages/java-parser/src/index.js index 2f1689c5..5d827ce2 100644 --- a/packages/java-parser/src/index.js +++ b/packages/java-parser/src/index.js @@ -4,7 +4,8 @@ const JavaParser = require("./parser"); const { attachComments, ignoredComments, - attachIgnoreNodes + attachIgnoreNodes, + formatterOffOnComments } = require("./comments"); const parser = new JavaParser(); @@ -36,6 +37,12 @@ function parse(inputText, entryPoint = "compilationUnit") { ); parser.setIgnoredComments(ignoreComments); + const offOnComments = formatterOffOnComments( + lexResult.tokens, + lexResult.groups.comments + ); + parser.setOffOnComments(offOnComments); + // Automatic CST created when parsing const cst = parser[entryPoint](); diff --git a/packages/java-parser/src/parser.js b/packages/java-parser/src/parser.js index 3c18d1ff..6cee56af 100644 --- a/packages/java-parser/src/parser.js +++ b/packages/java-parser/src/parser.js @@ -10,7 +10,7 @@ const interfaces = require("./productions/interfaces"); const arrays = require("./productions/arrays"); const blocksStatements = require("./productions/blocks-and-statements"); const expressions = require("./productions/expressions"); -const { shouldIgnore } = require("./comments"); +const { shouldIgnore, shouldNotFormat } = require("./comments"); /** * This parser attempts to strongly align with the specs style at: @@ -79,6 +79,7 @@ class JavaParser extends Parser { super.cstPostNonTerminal(ruleCstResult, ruleName); if (this.isBackTracking() === false) { shouldIgnore(ruleCstResult, this.ignoredComments, this.ignoredNodes); + shouldNotFormat(ruleCstResult, this.offOnComments, this.ignoreNodes); } } @@ -108,6 +109,10 @@ class JavaParser extends Parser { this.ignoredNodes = {}; this.ignoredComments = [...comments]; } + + setOffOnComments(commentOffOn) { + this.offOnComments = [...commentOffOn]; + } } module.exports = JavaParser; diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java index edf095b8..2699a8e2 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java @@ -1,33 +1,25 @@ -public enum Enum { - - SOME_ENUM, ANOTHER_ENUM, LAST_ENUM; - +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } } -public enum Enum { - - THIS_IS_GOOD("abc"), THIS_IS_FINE("abc"); - - public static final String thisWillBeDeleted = "DELETED"; - - private final String value; - - public Enum(String value) { - this.value = value; +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } +} - public String toString() { - return "STRING"; +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } - } +// @formatter:on -class CLassWithEnum { - - public static enum VALID_THINGS { - - FIRST, SECOND - +public class PrettierIgnoreClass3 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } - } diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java index f86f9a1c..6f449056 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java @@ -1,25 +1,46 @@ -public enum Enum { - SOME_ENUM, ANOTHER_ENUM, LAST_ENUM; -} - -public enum Enum { - THIS_IS_GOOD("abc"), THIS_IS_FINE("abc"); - public static final String thisWillBeDeleted = "DELETED"; +public class PrettierIgnoreClass { - private final String value; + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} - public Enum(String value) { - this.value = value; +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } +} + +public class PrettierIgnoreClass2 { - public String toString() { - return "STRING"; + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } } -class CLassWithEnum { +// @formatter:on +public class PrettierIgnoreClass3 { - public static enum VALID_THINGS { - FIRST, SECOND; - } + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} } diff --git a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java new file mode 100644 index 00000000..f6a11233 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java @@ -0,0 +1,19 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on + +public class PrettierIgnoreClass3 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java new file mode 100644 index 00000000..6d409b7e --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java @@ -0,0 +1,28 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on + +public class PrettierIgnoreClass3 { + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} \ No newline at end of file diff --git a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/prettier-ignore-spec.js b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/prettier-ignore-spec.js index dfa4e1af..708cd307 100644 --- a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/prettier-ignore-spec.js +++ b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/prettier-ignore-spec.js @@ -3,6 +3,7 @@ const path = require("path"); describe("prettier-java", () => { testSample(path.resolve(__dirname, "./classDeclaration")); + testSample(path.resolve(__dirname, "./formatter-on-off")); testSample(path.resolve(__dirname, "./method")); testSample(path.resolve(__dirname, "./multiple-ignore")); }); From ec8249a7c49aa4f0c8d6297d8899602d734dc2a1 Mon Sep 17 00:00:00 2001 From: Arnaud Freismuth Date: Wed, 13 Nov 2019 20:51:55 +0100 Subject: [PATCH 2/6] add rules for last is formatter:off --- packages/java-parser/src/comments.js | 32 ++++++---- packages/java-parser/src/parser.js | 2 +- .../scripts/single-printer-run/_input.java | 41 +++++++++++-- .../scripts/single-printer-run/_output.java | 61 ++++++++++++++++++- 4 files changed, 117 insertions(+), 19 deletions(-) diff --git a/packages/java-parser/src/comments.js b/packages/java-parser/src/comments.js index 0739c851..c3bf7e65 100644 --- a/packages/java-parser/src/comments.js +++ b/packages/java-parser/src/comments.js @@ -164,39 +164,47 @@ function filterFormatterOffOn(comments) { } function matchFormatterOffOnPair(comments) { - let isCommentOff = false; - let isNextCommentOff = true; + let isPreviousCommentOff = false; + let isCurrentCommentOff = true; const pairs = []; let paired = {}; - comments.forEach(comment => { - isNextCommentOff = comment.image.slice(comment.image.length - 3) === "off"; + comments.forEach((comment, index, array) => { + isCurrentCommentOff = + comment.image.slice(comment.image.length - 3) === "off"; - if (!isCommentOff) { - if (isNextCommentOff) { + if (!isPreviousCommentOff) { + if (isCurrentCommentOff) { paired.off = comment; } } else { - if (!isNextCommentOff) { + if (!isCurrentCommentOff) { paired.on = comment; pairs.push(paired); paired = {}; } } - isCommentOff = isNextCommentOff; + if (index === array.length - 1 && isCurrentCommentOff) { + paired.on = undefined; + pairs.push(paired); + paired = {}; + } + + isPreviousCommentOff = isCurrentCommentOff; }); return pairs; } -function shouldNotFormat(node, commentPairs, ignoredNodes) { +function shouldNotFormat(node, commentPairs) { const matchingPair = _.find( - commentPairs, - comment => comment.on.extendedRange.startOffset > node.location.endOffset + commentPairs.reverse(), + comment => comment.off.extendedRange.endOffset < node.location.startOffset ); if ( matchingPair !== undefined && - matchingPair.off.endOffset < node.location.startOffset + (matchingPair.on === undefined || + matchingPair.on.startOffset > node.location.endOffset) ) { node.ignore = true; } diff --git a/packages/java-parser/src/parser.js b/packages/java-parser/src/parser.js index 6cee56af..ab6e7cd6 100644 --- a/packages/java-parser/src/parser.js +++ b/packages/java-parser/src/parser.js @@ -79,7 +79,7 @@ class JavaParser extends Parser { super.cstPostNonTerminal(ruleCstResult, ruleName); if (this.isBackTracking() === false) { shouldIgnore(ruleCstResult, this.ignoredComments, this.ignoredNodes); - shouldNotFormat(ruleCstResult, this.offOnComments, this.ignoreNodes); + shouldNotFormat(ruleCstResult, this.offOnComments); } } diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java index 2699a8e2..690f772f 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java @@ -1,25 +1,58 @@ +// @formatter:on public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } // @formatter:off public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } +// @formatter:on +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } +} +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on public class PrettierIgnoreClass2 { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } // @formatter:on public class PrettierIgnoreClass3 { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + + } +} + + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } } diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java index 6f449056..7134051a 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java @@ -1,3 +1,4 @@ +// @formatter:on public class PrettierIgnoreClass { public void myMethod( @@ -16,18 +17,54 @@ public void myMethod( // @formatter:off public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } +// @formatter:on public class PrettierIgnoreClass2 { + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } +// @formatter:on +public class PrettierIgnoreClass2 { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + // @formatter:on public class PrettierIgnoreClass3 { @@ -44,3 +81,23 @@ public void myMethod( int param10 ) {} } + +// @formatter:off +public class PrettierIgnoreClass { + + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass2 { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} From f744c9f33ee2db9dfedd63e9f9dd917eda668bfb Mon Sep 17 00:00:00 2001 From: Arnaud Freismuth Date: Wed, 13 Nov 2019 20:54:43 +0100 Subject: [PATCH 3/6] change tests --- .../scripts/single-printer-run/_input.java | 10 +-- .../scripts/single-printer-run/_output.java | 10 +-- .../formatter-on-off/_input.java | 49 +++++++++-- .../formatter-on-off/_output.java | 85 +++++++++++++++++-- 4 files changed, 134 insertions(+), 20 deletions(-) diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java index 690f772f..416a9924 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java @@ -12,7 +12,7 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } } // @formatter:on -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { } @@ -24,14 +24,14 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } } // @formatter:on -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { } } // @formatter:on -public class PrettierIgnoreClass3 { +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { } @@ -45,13 +45,13 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } } -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { } } -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { } diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java index 7134051a..9d6c6d25 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java @@ -24,7 +24,7 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } // @formatter:on -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod( int param1, @@ -49,7 +49,7 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } // @formatter:on -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod( int param1, @@ -66,7 +66,7 @@ public void myMethod( } // @formatter:on -public class PrettierIgnoreClass3 { +public class PrettierIgnoreClass { public void myMethod( int param1, @@ -90,13 +90,13 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } } -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { } } -public class PrettierIgnoreClass2 { +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { } diff --git a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java index f6a11233..416a9924 100644 --- a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java +++ b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java @@ -1,19 +1,58 @@ +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + // @formatter:off public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + + } +} +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } } +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { -public class PrettierIgnoreClass2 { + } +} +// @formatter:on +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } // @formatter:on -public class PrettierIgnoreClass3 { +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + + } +} + +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + } } diff --git a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java index 6d409b7e..9d6c6d25 100644 --- a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java +++ b/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java @@ -1,18 +1,73 @@ +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + // @formatter:off public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } -public class PrettierIgnoreClass2 { +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - + } } + +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + // @formatter:on +public class PrettierIgnoreClass { -public class PrettierIgnoreClass3 { public void myMethod( int param1, int param2, @@ -25,4 +80,24 @@ public void myMethod( int param9, int param10 ) {} -} \ No newline at end of file +} + +// @formatter:off +public class PrettierIgnoreClass { + + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} From 180de0c91784a940323fe0a01516dda14392544c Mon Sep 17 00:00:00 2001 From: Arnaud Freismuth Date: Thu, 14 Nov 2019 09:21:45 +0100 Subject: [PATCH 4/6] rework code --- packages/java-parser/src/comments.js | 23 ++++++++----------- .../scripts/single-printer-run/_input.java | 1 - .../scripts/single-printer-run/_output.java | 15 ++++++++++-- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/packages/java-parser/src/comments.js b/packages/java-parser/src/comments.js index c3bf7e65..8949c640 100644 --- a/packages/java-parser/src/comments.js +++ b/packages/java-parser/src/comments.js @@ -158,7 +158,7 @@ function shouldIgnore(node, comments, ignoredNodes) { function filterFormatterOffOn(comments) { return [...comments].filter(comment => comment.image.match( - /(\/\/(\s*)@formatter:off(\s*))|(\/\*(\s*)@formatter:off(\s*)\*\/)|(\/\/(\s*)@formatter:on(\s*))|(\/\*(\s*)@formatter:on(\s*)\*\/)/gm + /(\/\/(\s*)@formatter:(off|on)(\s*))|(\/\*(\s*)@formatter:(off|on)(\s*)\*\/)/gm ) ); } @@ -168,9 +168,8 @@ function matchFormatterOffOnPair(comments) { let isCurrentCommentOff = true; const pairs = []; let paired = {}; - comments.forEach((comment, index, array) => { - isCurrentCommentOff = - comment.image.slice(comment.image.length - 3) === "off"; + comments.forEach(comment => { + isCurrentCommentOff = comment.image.slice(-3) === "off"; if (!isPreviousCommentOff) { if (isCurrentCommentOff) { @@ -183,22 +182,20 @@ function matchFormatterOffOnPair(comments) { paired = {}; } } - - if (index === array.length - 1 && isCurrentCommentOff) { - paired.on = undefined; - pairs.push(paired); - paired = {}; - } - isPreviousCommentOff = isCurrentCommentOff; }); + if (comments.length > 0 && isCurrentCommentOff) { + paired.on = undefined; + pairs.push(paired); + } + return pairs; } function shouldNotFormat(node, commentPairs) { - const matchingPair = _.find( - commentPairs.reverse(), + const matchingPair = _.findLast( + commentPairs, comment => comment.off.extendedRange.endOffset < node.location.startOffset ); if ( diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java index 416a9924..859ee367 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java @@ -50,7 +50,6 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } } - public class PrettierIgnoreClass { public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java index 9d6c6d25..1d9bb6e3 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java @@ -96,8 +96,19 @@ public void myMethod(int param1, int param2, int param3, int param4, int param5, } } +// @formatter:on public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - } + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} } From 2a9b81a8fdee4bc32a796ef6d60141097e9a6aed Mon Sep 17 00:00:00 2001 From: Arnaud Freismuth Date: Mon, 18 Nov 2019 21:11:46 +0100 Subject: [PATCH 5/6] add jsdoc and rearrange methods --- packages/java-parser/src/comments.js | 56 ++++++--- .../scripts/single-printer-run/_input.java | 54 +++----- .../scripts/single-printer-run/_output.java | 115 ++---------------- .../class_declaration}/_input.java | 0 .../class_declaration}/_output.java | 0 5 files changed, 68 insertions(+), 157 deletions(-) rename packages/prettier-plugin-java/test/unit-test/{prettier-ignore/formatter-on-off => formatter-on-off/class_declaration}/_input.java (100%) rename packages/prettier-plugin-java/test/unit-test/{prettier-ignore/formatter-on-off => formatter-on-off/class_declaration}/_output.java (100%) diff --git a/packages/java-parser/src/comments.js b/packages/java-parser/src/comments.js index 8949c640..e9dc2267 100644 --- a/packages/java-parser/src/comments.js +++ b/packages/java-parser/src/comments.js @@ -115,7 +115,7 @@ function findUpperBoundToken(tokens, comment) { /** * Extends each comments offsets to the left and the right in order to match the - * previous and next token offset. This allow to directly match the prettier-ignore + * previous and next token offset. This allow to directly match the prettier-ignore or formatter:off|on * comment to the correct CSTNode. * @param {*} tokens ordered array of tokens * @param {*} comments array of prettier-ignore comments @@ -137,6 +137,11 @@ function extendCommentRange(tokens, comments) { return ignoreComments; } +/** + * Filter comments to find prettier-ignore's ones. + * @param comments + * @returns prettier-ignore comments + */ function filterPrettierIgnore(comments) { return [...comments].filter(comment => comment.image.match( @@ -145,6 +150,12 @@ function filterPrettierIgnore(comments) { ); } +/** + * Check if an node must be ignore because of prettier-ignore comment + * @param node + * @param comments + * @param ignoredNodes + */ function shouldIgnore(node, comments, ignoredNodes) { const matchingComment = _.find( comments, @@ -155,6 +166,23 @@ function shouldIgnore(node, comments, ignoredNodes) { } } +function attachIgnoreNodes(ignoreComments, ignoredNodes) { + ignoreComments.forEach(comment => { + if (ignoredNodes[comment.startOffset]) { + ignoredNodes[comment.startOffset].ignore = true; + } + }); +} + +function ignoredComments(tokens, comments) { + return extendCommentRange(tokens, filterPrettierIgnore(comments)); +} + +/** + * Filter comments to find formatter:off and formatter:on. + * @param comments + * @returns formatter:off and formatter:on comments + */ function filterFormatterOffOn(comments) { return [...comments].filter(comment => comment.image.match( @@ -163,6 +191,11 @@ function filterFormatterOffOn(comments) { ); } +/** + * Create pairs of formatter:off and formatter:on + * @param comments + * @returns pairs of formatter:off and formatter:on + */ function matchFormatterOffOnPair(comments) { let isPreviousCommentOff = false; let isCurrentCommentOff = true; @@ -193,6 +226,11 @@ function matchFormatterOffOnPair(comments) { return pairs; } +/** + * Check if the node is between formatter:off and formatter:on and change his ignore state + * @param node + * @param commentPairs + */ function shouldNotFormat(node, commentPairs) { const matchingPair = _.findLast( commentPairs, @@ -207,24 +245,10 @@ function shouldNotFormat(node, commentPairs) { } } -function attachIgnoreNodes(ignoreComments, ignoredNodes) { - ignoreComments.forEach(comment => { - if (ignoredNodes[comment.startOffset]) { - ignoredNodes[comment.startOffset].ignore = true; - } - }); -} - -function ignoredComments(tokens, comments) { - return extendCommentRange(tokens, filterPrettierIgnore(comments)); -} - function formatterOffOnComments(tokens, comments) { const offOn = filterFormatterOffOn(comments); const extendedRangeOffOn = extendCommentRange(tokens, offOn); - const pairs = matchFormatterOffOnPair(extendedRangeOffOn); - - return pairs; + return matchFormatterOffOnPair(extendedRangeOffOn); } module.exports = { diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java index 859ee367..edf095b8 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java @@ -1,57 +1,33 @@ -// @formatter:on -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { +public enum Enum { + + SOME_ENUM, ANOTHER_ENUM, LAST_ENUM; - } } -// @formatter:off -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { +public enum Enum { - } -} -// @formatter:on -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + THIS_IS_GOOD("abc"), THIS_IS_FINE("abc"); - } -} -// @formatter:off -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + public static final String thisWillBeDeleted = "DELETED"; - } -} -// @formatter:on -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + private final String value; + public Enum(String value) { + this.value = value; } -} -// @formatter:on - -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + public String toString() { + return "STRING"; } -} +} -// @formatter:off -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { +class CLassWithEnum { - } -} + public static enum VALID_THINGS { -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + FIRST, SECOND } -} -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - } } diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java index 1d9bb6e3..f86f9a1c 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java @@ -1,114 +1,25 @@ -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} +public enum Enum { + SOME_ENUM, ANOTHER_ENUM, LAST_ENUM; } -// @formatter:off -public class PrettierIgnoreClass { +public enum Enum { + THIS_IS_GOOD("abc"), THIS_IS_FINE("abc"); + public static final String thisWillBeDeleted = "DELETED"; - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + private final String value; + public Enum(String value) { + this.value = value; } -} - -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} - -// @formatter:off -public class PrettierIgnoreClass { - - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + public String toString() { + return "STRING"; } } -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} - -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} - -// @formatter:off -public class PrettierIgnoreClass { - - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { +class CLassWithEnum { + public static enum VALID_THINGS { + FIRST, SECOND; } } - -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} diff --git a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_input.java similarity index 100% rename from packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_input.java rename to packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_input.java diff --git a/packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_output.java similarity index 100% rename from packages/prettier-plugin-java/test/unit-test/prettier-ignore/formatter-on-off/_output.java rename to packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_output.java From 393ee631aea2dccaf42447ae5bbf3c6ee41698ce Mon Sep 17 00:00:00 2001 From: Arnaud Freismuth Date: Thu, 28 Nov 2019 14:23:06 +0100 Subject: [PATCH 6/6] add tests --- packages/java-parser/src/comments.js | 2 +- .../scripts/single-printer-run/_input.java | 32 +----- .../scripts/single-printer-run/_output.java | 25 +---- .../begin_with_on/_input.java | 19 ++++ .../begin_with_on/_output.java | 40 +++++++ .../formatter-on-off/class/_input.java | 12 ++ .../formatter-on-off/class/_output.java | 23 ++++ .../class_declaration/_input.java | 58 ---------- .../class_declaration/_output.java | 103 ------------------ .../formatter-on-off/end_with_off/_input.java | 25 +++++ .../end_with_off/_output.java | 36 ++++++ .../formatter-on-off/inside_block/_input.java | 8 ++ .../inside_block/_output.java | 23 ++++ .../formatter-on-off/method/_input.java | 7 ++ .../formatter-on-off/method/_output.java | 8 ++ .../formatter-on-off/multiple/_input.java | 24 ++++ .../formatter-on-off/multiple/_output.java | 47 ++++++++ 17 files changed, 281 insertions(+), 211 deletions(-) create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_input.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_output.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_input.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_output.java delete mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_input.java delete mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_output.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_input.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_output.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_input.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_output.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_input.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_output.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_input.java create mode 100644 packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_output.java diff --git a/packages/java-parser/src/comments.js b/packages/java-parser/src/comments.js index e9dc2267..cad7f86f 100644 --- a/packages/java-parser/src/comments.js +++ b/packages/java-parser/src/comments.js @@ -234,7 +234,7 @@ function matchFormatterOffOnPair(comments) { function shouldNotFormat(node, commentPairs) { const matchingPair = _.findLast( commentPairs, - comment => comment.off.extendedRange.endOffset < node.location.startOffset + comment => comment.off.extendedRange.endOffset <= node.location.startOffset ); if ( matchingPair !== undefined && diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java index edf095b8..a3612b08 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_input.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_input.java @@ -1,33 +1,9 @@ -public enum Enum { +public class PrettierIgnoreClass { + // @formatter:off - SOME_ENUM, ANOTHER_ENUM, LAST_ENUM; - -} - -public enum Enum { - - THIS_IS_GOOD("abc"), THIS_IS_FINE("abc"); - - public static final String thisWillBeDeleted = "DELETED"; - - private final String value; - - public Enum(String value) { - this.value = value; - } - - public String toString() { - return "STRING"; - } - -} - -class CLassWithEnum { - - public static enum VALID_THINGS { - - FIRST, SECOND + public void myMethod() { + // @formatter:on } } diff --git a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java index f86f9a1c..6328c23f 100644 --- a/packages/prettier-plugin-java/scripts/single-printer-run/_output.java +++ b/packages/prettier-plugin-java/scripts/single-printer-run/_output.java @@ -1,25 +1,8 @@ -public enum Enum { - SOME_ENUM, ANOTHER_ENUM, LAST_ENUM; -} - -public enum Enum { - THIS_IS_GOOD("abc"), THIS_IS_FINE("abc"); - public static final String thisWillBeDeleted = "DELETED"; - - private final String value; - - public Enum(String value) { - this.value = value; - } - - public String toString() { - return "STRING"; - } -} +public class PrettierIgnoreClass { -class CLassWithEnum { + // @formatter:off - public static enum VALID_THINGS { - FIRST, SECOND; + public void myMethod() { + // @formatter:on } } diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_input.java new file mode 100644 index 00000000..fcb68371 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_input.java @@ -0,0 +1,19 @@ +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_output.java new file mode 100644 index 00000000..a6bdb391 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/begin_with_on/_output.java @@ -0,0 +1,40 @@ +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_input.java new file mode 100644 index 00000000..89158458 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_input.java @@ -0,0 +1,12 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_output.java new file mode 100644 index 00000000..96f09366 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class/_output.java @@ -0,0 +1,23 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_input.java deleted file mode 100644 index 416a9924..00000000 --- a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_input.java +++ /dev/null @@ -1,58 +0,0 @@ -// @formatter:on -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -// @formatter:off -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} -// @formatter:on -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} -// @formatter:off -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} -// @formatter:on -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} -// @formatter:on - -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - - -// @formatter:off -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_output.java deleted file mode 100644 index 9d6c6d25..00000000 --- a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/class_declaration/_output.java +++ /dev/null @@ -1,103 +0,0 @@ -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} - -// @formatter:off -public class PrettierIgnoreClass { - - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} - -// @formatter:off -public class PrettierIgnoreClass { - - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} - -// @formatter:on -public class PrettierIgnoreClass { - - public void myMethod( - int param1, - int param2, - int param3, - int param4, - int param5, - int param6, - int param7, - int param8, - int param9, - int param10 - ) {} -} - -// @formatter:off -public class PrettierIgnoreClass { - - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} - -public class PrettierIgnoreClass { - public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { - - } -} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_input.java new file mode 100644 index 00000000..e1765cbd --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_input.java @@ -0,0 +1,25 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_output.java new file mode 100644 index 00000000..415cbefc --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/end_with_off/_output.java @@ -0,0 +1,36 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_input.java new file mode 100644 index 00000000..b8f2f6e9 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_input.java @@ -0,0 +1,8 @@ +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + // @formatter:off + System.out.println("This operation with two very long string should not break because the formatter is off"); + // @formatter:on + System.out.println("This operation with two very long string should break because the formatter is on"); + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_output.java new file mode 100644 index 00000000..590760a3 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/inside_block/_output.java @@ -0,0 +1,23 @@ +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) { + // @formatter:off + System.out.println("This operation with two very long string should not break because the formatter is off"); + + // @formatter:on + System.out.println( + "This operation with two very long string should break because the formatter is on" + ); + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_input.java new file mode 100644 index 00000000..cdb406cc --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_input.java @@ -0,0 +1,7 @@ +public class PrettierIgnoreClass { + // @formatter:off + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } + // @formatter:on +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_output.java new file mode 100644 index 00000000..2ede64a7 --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/method/_output.java @@ -0,0 +1,8 @@ +public class PrettierIgnoreClass { + + // @formatter:off + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +// @formatter:on +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_input.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_input.java new file mode 100644 index 00000000..58583fdb --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_input.java @@ -0,0 +1,24 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} +// @formatter:on +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} diff --git a/packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_output.java b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_output.java new file mode 100644 index 00000000..ecaec8fc --- /dev/null +++ b/packages/prettier-plugin-java/test/unit-test/formatter-on-off/multiple/_output.java @@ -0,0 +1,47 @@ +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +} + +// @formatter:off +public class PrettierIgnoreClass { + public void myMethod(int param1, int param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9, int param10) { + + } +} + +// @formatter:on +public class PrettierIgnoreClass { + + public void myMethod( + int param1, + int param2, + int param3, + int param4, + int param5, + int param6, + int param7, + int param8, + int param9, + int param10 + ) {} +}