Skip to content

Commit deda6ca

Browse files
docs: how to use prettier with Checkstyle
1 parent 5cc2fce commit deda6ca

File tree

3 files changed

+111
-0
lines changed

3 files changed

+111
-0
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,18 @@ If you are using an IDE such as IntelliJ, you might want to configure it to matc
113113
For IntelliJ, you can use this configuration:
114114
![IntelliJ config](./docs/intellij_imports_config.png)
115115

116+
You can also import the Checkstyle configuration provided in the next section.
117+
118+
## Checkstyle configuration
119+
120+
You can use Prettier in combination with other linter, like Checkstyle.
121+
122+
Here is one [Checkstyle Prettier compatible configuration](./docs/checkstyle/checkstyle.xml) you can use to start with !
123+
124+
You can directly import the config into IntelliJ Idea for instance:
125+
126+
![Import Checkstyle configuration](./docs/checkstyle/import-checkstyle-configuration.gif)
127+
116128
## Contributing
117129

118130
Contributions are very welcome.

docs/checkstyle/checkstyle.xml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<?xml version="1.0"?>
2+
<!DOCTYPE module PUBLIC
3+
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
4+
"https://checkstyle.org/dtds/configuration_1_3.dtd">
5+
6+
<module name = "Checker">
7+
<property name="charset" value="UTF-8"/>
8+
9+
<property name="severity" value="error"/>
10+
11+
<property name="fileExtensions" value="java, properties, xml"/>
12+
<module name="BeforeExecutionExclusionFileFilter">
13+
<property name="fileNamePattern" value="module\-info\.java$"/>
14+
</module>
15+
16+
<module name="TreeWalker">
17+
<module name="OuterTypeFilename"/>
18+
<module name="NoLineWrap">
19+
<property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT"/>
20+
</module>
21+
<module name="LeftCurly" />
22+
<module name="RightCurly" />
23+
<module name="WhitespaceAfter"/>
24+
<module name="WhitespaceAround">
25+
<property name="allowEmptyConstructors" value="true"/>
26+
<property name="allowEmptyLambdas" value="true"/>
27+
<property name="allowEmptyMethods" value="true"/>
28+
<property name="allowEmptyTypes" value="true"/>
29+
<property name="allowEmptyLoops" value="true"/>
30+
<property name="allowEmptyCatches" value="true"/>
31+
<property name="ignoreEnhancedForColon" value="false"/>
32+
<property name="tokens"
33+
value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR,
34+
BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND,
35+
LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY,
36+
LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED,
37+
LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN,
38+
NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR,
39+
SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND"/>
40+
<message key="ws.notFollowed"
41+
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
42+
<message key="ws.notPreceded"
43+
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
44+
</module>
45+
<module name="GenericWhitespace">
46+
<message key="ws.followed"
47+
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
48+
<message key="ws.preceded"
49+
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
50+
<message key="ws.illegalFollow"
51+
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
52+
<message key="ws.notPreceded"
53+
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
54+
</module>
55+
<module name="OneStatementPerLine"/>
56+
<module name="ModifierOrder"/>
57+
<module name="EmptyLineSeparator">
58+
<property name="tokens"
59+
value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF,
60+
STATIC_INIT, INSTANCE_INIT, CTOR_DEF, VARIABLE_DEF, RECORD_DEF,
61+
COMPACT_CTOR_DEF"/>
62+
<property name="allowNoEmptyLineBetweenFields" value="true"/>
63+
</module>
64+
<module name="SeparatorWrap">
65+
<property name="id" value="SeparatorWrapDot"/>
66+
<property name="tokens" value="DOT"/>
67+
<property name="option" value="nl"/>
68+
</module>
69+
<module name="SeparatorWrap">
70+
<property name="id" value="SeparatorWrapComma"/>
71+
<property name="tokens" value="COMMA"/>
72+
<property name="option" value="EOL"/>
73+
</module>
74+
75+
<module name="CustomImportOrder">
76+
<property name="sortImportsInGroupAlphabetically" value="true"/>
77+
<property name="separateLineBetweenGroups" value="true"/>
78+
<property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>
79+
<property name="tokens" value="IMPORT, STATIC_IMPORT, PACKAGE_DEF"/>
80+
</module>
81+
<module name="MethodParamPad">
82+
<property name="tokens"
83+
value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF,
84+
SUPER_CTOR_CALL, ENUM_CONSTANT_DEF, RECORD_DEF"/>
85+
</module>
86+
<module name="NoWhitespaceBefore">
87+
<property name="tokens"
88+
value="COMMA, SEMI, POST_INC, POST_DEC, DOT,
89+
LABELED_STAT, METHOD_REF"/>
90+
<property name="allowLineBreaks" value="true"/>
91+
</module>
92+
<module name="ParenPad"/>
93+
<module name="AnnotationLocation">
94+
<property name="allowSamelineMultipleAnnotations" value="false"/>
95+
<property name="allowSamelineSingleParameterlessAnnotation" value="false"/>
96+
<property name="allowSamelineParameterizedAnnotation" value="false"/>
97+
</module>
98+
</module>
99+
</module>
3.31 MB
Loading

0 commit comments

Comments
 (0)