实例介绍
【实例简介】
spotless:保持您的代码整洁
Spotless是一个代码格式化工具,能够帮助您保持代码整洁和规范化。
Spotless可以使用<gradle | maven | sbt | anything>格式化<antlr | c | c# | c | css | flow | graphql | groovy | html | java | javascript | json | jsx | kotlin | less | license headers | markdown | objective-c | protobuf | python | scala | scss | shell | sql | typeScript | vue | yaml | anything>。
许多特性和格式器步骤对应不同的构建工具,例如gradle、maven和sbt等。
【实例截图】
【核心代码】
文件清单
└── spotless-47d2c0fe26973049af861e65cfffa5fd68e97c72
├── build.gradle
├── CHANGES.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── ECLIPSE_SCREENSHOTS.md
├── gradle
│ ├── build-scans.gradle
│ ├── changelog.gradle
│ ├── javadoc
│ │ ├── gradle
│ │ │ └── package-list
│ │ ├── spotless-lib
│ │ │ └── package-list
│ │ └── spotless-lib-extra
│ │ └── package-list
│ ├── java-publish.gradle
│ ├── java-setup.gradle
│ ├── special-tests.gradle
│ ├── spotless.eclipseformat.xml
│ ├── spotless-freshmark.gradle
│ ├── spotless.gradle
│ ├── spotless.groovyformat.prefs
│ ├── spotless.importorder
│ ├── spotless.license
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── _images
│ ├── EclipseFormatterEditOffOnTags.png
│ ├── EclipseFormatterEdit.png
│ ├── EclipseFormatter.png
│ ├── EclipseImports.png
│ ├── EclipsePreferences.png
│ ├── spotless_logo_eclipse.png
│ ├── spotless_logo.png
│ └── spotless_logo.txt
├── ISSUE_TEMPLATE.md
├── jitpack.yml
├── lib
│ ├── build.gradle
│ └── src
│ ├── cleanthat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── java
│ │ └── JavaCleanthatRefactorerFunc.java
│ ├── compatDiktat1Dot2Dot5
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── compat
│ │ └── DiktatCompat1Dot2Dot5Adapter.java
│ ├── compatDiktat2Dot0Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── compat
│ │ └── DiktatCompat2Dot0Dot0Adapter.java
│ ├── compatDiktatApi
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── compat
│ │ ├── DiktatCompatAdapter.java
│ │ └── DiktatReporting.java
│ ├── compatKtLint0Dot48Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat0Dot48Dot0Adapter.java
│ ├── compatKtLint0Dot49Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat0Dot49Dot0Adapter.java
│ ├── compatKtLint0Dot50Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat0Dot50Dot0Adapter.java
│ ├── compatKtLint1Dot0Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat1Dot0Dot0Adapter.java
│ ├── compatKtLintApi
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ ├── KtLintCompatAdapter.java
│ │ └── KtLintCompatReporting.java
│ ├── diktat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── DiktatFormatterFunc.java
│ ├── flexmark
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── markdown
│ │ └── FlexmarkFormatterFunc.java
│ ├── gherkin
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── gherkin
│ │ └── GherkinUtilsFormatterFunc.java
│ ├── googleJavaFormat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── java
│ │ ├── GoogleJavaFormatFormatterFunc.java
│ │ └── GoogleJavaFormatRemoveUnusedImporterFormatterFunc.java
│ ├── gson
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── gson
│ │ └── GsonFormatterFunc.java
│ ├── jackson
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ ├── json
│ │ │ ├── AJacksonFormatterFunc.java
│ │ │ └── JacksonJsonFormatterFunc.java
│ │ └── yaml
│ │ └── JacksonYamlFormatterFunc.java
│ ├── ktfmt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktfmt
│ │ ├── KtfmtFormatterFunc.java
│ │ ├── KtfmtFormattingOptions.java
│ │ └── KtfmtStyle.java
│ ├── ktlint
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── KtlintFormatterFunc.java
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ ├── annotations
│ │ │ │ ├── Internal.java
│ │ │ │ └── ReturnValuesAreNonnullByDefault.java
│ │ │ ├── antlr4
│ │ │ │ ├── Antlr4Defaults.java
│ │ │ │ └── Antlr4FormatterStep.java
│ │ │ ├── cpp
│ │ │ │ ├── ClangFormatStep.java
│ │ │ │ ├── CppDefaults.java
│ │ │ │ └── package-info.java
│ │ │ ├── DelegateFormatterStep.java
│ │ │ ├── EncodingErrorMsg.java
│ │ │ ├── FeatureClassLoader.java
│ │ │ ├── FileSignature.java
│ │ │ ├── FilterByContentPatternFormatterStep.java
│ │ │ ├── FilterByFileFormatterStep.java
│ │ │ ├── ForeignExe.java
│ │ │ ├── FormatExceptionPolicy.java
│ │ │ ├── FormatExceptionPolicyLegacy.java
│ │ │ ├── FormatExceptionPolicyStrict.java
│ │ │ ├── FormatterFunc.java
│ │ │ ├── Formatter.java
│ │ │ ├── FormatterProperties.java
│ │ │ ├── FormatterStepEqualityOnStateSerialization.java
│ │ │ ├── FormatterStepImpl.java
│ │ │ ├── FormatterStep.java
│ │ │ ├── FormatterStepSerializationRoundtrip.java
│ │ │ ├── generic
│ │ │ │ ├── EndWithNewlineStep.java
│ │ │ │ ├── FenceStep.java
│ │ │ │ ├── IndentStep.java
│ │ │ │ ├── Jsr223Step.java
│ │ │ │ ├── LicenseHeaderStep.java
│ │ │ │ ├── NativeCmdStep.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── PipeStepPair.java
│ │ │ │ ├── ReplaceRegexStep.java
│ │ │ │ ├── ReplaceStep.java
│ │ │ │ └── TrimTrailingWhitespaceStep.java
│ │ │ ├── gherkin
│ │ │ │ ├── GherkinUtilsConfig.java
│ │ │ │ └── GherkinUtilsStep.java
│ │ │ ├── go
│ │ │ │ └── GofmtFormatStep.java
│ │ │ ├── groovy
│ │ │ │ └── RemoveSemicolonsStep.java
│ │ │ ├── JarState.java
│ │ │ ├── java
│ │ │ │ ├── CleanthatJavaStep.java
│ │ │ │ ├── FormatAnnotationsStep.java
│ │ │ │ ├── GoogleJavaFormatStep.java
│ │ │ │ ├── ImportOrderStep.java
│ │ │ │ ├── ImportSorterImpl.java
│ │ │ │ ├── ImportSorter.java
│ │ │ │ ├── LibJavaPreconditions.java
│ │ │ │ ├── ModuleHelper.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── PalantirJavaFormatStep.java
│ │ │ │ └── RemoveUnusedImportsStep.java
│ │ │ ├── json
│ │ │ │ ├── gson
│ │ │ │ │ ├── GsonConfig.java
│ │ │ │ │ └── GsonStep.java
│ │ │ │ ├── JacksonConfig.java
│ │ │ │ ├── JacksonJsonConfig.java
│ │ │ │ ├── JacksonJsonStep.java
│ │ │ │ ├── JsonPatchStep.java
│ │ │ │ ├── JsonSimpleStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── Jvm.java
│ │ │ ├── kotlin
│ │ │ │ ├── BadSemver.java
│ │ │ │ ├── DiktatStep.java
│ │ │ │ ├── KotlinConstants.java
│ │ │ │ ├── KtfmtStep.java
│ │ │ │ ├── KtLintStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── LazyArgLogger.java
│ │ │ ├── LazyForwardingEquality.java
│ │ │ ├── LibPreconditions.java
│ │ │ ├── LineEnding.java
│ │ │ ├── markdown
│ │ │ │ ├── FlexmarkStep.java
│ │ │ │ ├── FreshMarkStep.java
│ │ │ │ ├── LibMarkdownPreconditions.java
│ │ │ │ └── package-info.java
│ │ │ ├── MoreIterables.java
│ │ │ ├── NoLambda.java
│ │ │ ├── npm
│ │ │ │ ├── BaseNpmRestService.java
│ │ │ │ ├── BlacklistedOptionException.java
│ │ │ │ ├── EslintConfig.java
│ │ │ │ ├── EslintFormatterStep.java
│ │ │ │ ├── EslintRestService.java
│ │ │ │ ├── EslintTypescriptConfig.java
│ │ │ │ ├── FileFinder.java
│ │ │ │ ├── JsonEscaper.java
│ │ │ │ ├── JsonRawValue.java
│ │ │ │ ├── JsonWriter.java
│ │ │ │ ├── ListableAdapter.java
│ │ │ │ ├── NodeApp.java
│ │ │ │ ├── NodeExecutableResolver.java
│ │ │ │ ├── NodeModulesCachingNpmProcessFactory.java
│ │ │ │ ├── NodeServeApp.java
│ │ │ │ ├── NodeServerLayout.java
│ │ │ │ ├── NpmConfig.java
│ │ │ │ ├── NpmExecutableResolver.java
│ │ │ │ ├── NpmFormatterStepLocations.java
│ │ │ │ ├── NpmFormatterStepStateBase.java
│ │ │ │ ├── NpmLongRunningProcess.java
│ │ │ │ ├── NpmPathResolver.java
│ │ │ │ ├── NpmProcessException.java
│ │ │ │ ├── NpmProcessFactory.java
│ │ │ │ ├── NpmProcess.java
│ │ │ │ ├── NpmrcResolver.java
│ │ │ │ ├── NpmResourceHelper.java
│ │ │ │ ├── PlatformInfo.java
│ │ │ │ ├── PrettierConfig.java
│ │ │ │ ├── PrettierFormatterStep.java
│ │ │ │ ├── PrettierMissingParserException.java
│ │ │ │ ├── PrettierRestService.java
│ │ │ │ ├── ShadowCopy.java
│ │ │ │ ├── SimpleRestClient.java
│ │ │ │ ├── StandardNpmProcessFactory.java
│ │ │ │ ├── TimedLogger.java
│ │ │ │ ├── TsConfigFileType.java
│ │ │ │ ├── TsFmtFormatterStep.java
│ │ │ │ ├── TsFmtRestService.java
│ │ │ │ └── TypedTsFmtConfigFile.java
│ │ │ ├── OnMatch.java
│ │ │ ├── package-info.java
│ │ │ ├── PaddedCell.java
│ │ │ ├── pom
│ │ │ │ ├── SortPomCfg.java
│ │ │ │ └── SortPomStep.java
│ │ │ ├── ProcessRunner.java
│ │ │ ├── protobuf
│ │ │ │ ├── BufStep.java
│ │ │ │ └── ProtobufConstants.java
│ │ │ ├── Provisioner.java
│ │ │ ├── python
│ │ │ │ └── BlackStep.java
│ │ │ ├── RingBufferByteArrayOutputStream.java
│ │ │ ├── rome
│ │ │ │ ├── Architecture.java
│ │ │ │ ├── BiomeFlavor.java
│ │ │ │ ├── OS.java
│ │ │ │ ├── Platform.java
│ │ │ │ ├── RomeExecutableDownloader.java
│ │ │ │ └── RomeStep.java
│ │ │ ├── scala
│ │ │ │ ├── package-info.java
│ │ │ │ └── ScalaFmtStep.java
│ │ │ ├── SerializableFileFilterImpl.java
│ │ │ ├── SerializableFileFilter.java
│ │ │ ├── SerializedFunction.java
│ │ │ ├── shell
│ │ │ │ └── ShfmtStep.java
│ │ │ ├── SpotlessCache.java
│ │ │ ├── sql
│ │ │ │ ├── dbeaver
│ │ │ │ │ ├── DBeaverSQLFormatterConfiguration.java
│ │ │ │ │ ├── DBPKeywordType.java
│ │ │ │ │ ├── FormatterToken.java
│ │ │ │ │ ├── KeywordCase.java
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ ├── SQLConstants.java
│ │ │ │ │ ├── SQLDialect.java
│ │ │ │ │ ├── SQLTokenizedFormatter.java
│ │ │ │ │ ├── SQLTokensParser.java
│ │ │ │ │ └── TokenType.java
│ │ │ │ ├── DBeaverSQLFormatter.java
│ │ │ │ ├── DBeaverSQLFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── ThrowingEx.java
│ │ │ └── yaml
│ │ │ ├── JacksonYamlConfig.java
│ │ │ └── JacksonYamlStep.java
│ │ └── resources
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── npm
│ │ ├── common-serve.js
│ │ ├── eslint-package.json
│ │ ├── eslint-serve.js
│ │ ├── prettier-package.json
│ │ ├── prettier-serve.js
│ │ ├── tsfmt-package.json
│ │ └── tsfmt-serve.js
│ ├── palantirJavaFormat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── pjf
│ │ └── PalantirJavaFormatFormatterFunc.java
│ ├── scalafmt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── scalafmt
│ │ └── ScalafmtFormatterFunc.java
│ ├── sortPom
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── pom
│ │ └── SortPomFormatterFunc.java
│ ├── test
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ ├── npm
│ │ │ └── TimedLoggerTest.java
│ │ └── RingBufferByteArrayOutputStreamTest.java
│ ├── testCompatCleanthat2Dot1
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── java
│ │ └── JavaCleanthatRefactorerFuncTest.java
│ ├── testCompatKtLint0Dot48Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat0Dot48Dot0AdapterTest.java
│ │ └── resources
│ │ ├── empty_class_body.kt
│ │ └── fails_no_semicolons.kt
│ ├── testCompatKtLint0Dot49Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat0Dot49Dot0AdapterTest.java
│ │ └── resources
│ │ ├── EmptyClassBody.kt
│ │ └── FailsNoSemicolons.kt
│ ├── testCompatKtLint0Dot50Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat0Dot50Dot0AdapterTest.java
│ │ └── resources
│ │ ├── EmptyClassBody.kt
│ │ └── FailsNoSemicolons.kt
│ ├── testCompatKtLint1Dot0Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat1Dot0Dot0AdapterTest.java
│ │ └── resources
│ │ ├── EmptyClassBody.kt
│ │ └── FailsNoSemicolons.kt
│ └── zjsonPatch
│ └── java
│ └── com
│ └── diffplug
│ └── spotless
│ └── glue
│ └── json
│ └── JsonPatchFormatterFunc.java
├── lib-extra
│ ├── build.gradle
│ └── src
│ ├── cdt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── glue
│ │ └── cdt
│ │ └── EclipseCdtFormatterStepImpl.java
│ ├── groovy
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── glue
│ │ └── groovy
│ │ └── GrEclipseFormatterStepImpl.java
│ ├── jdt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── glue
│ │ └── jdt
│ │ └── EclipseJdtFormatterStepImpl.java
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── extra
│ │ │ ├── cpp
│ │ │ │ ├── EclipseCdtFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── EclipseBasedStepBuilder.java
│ │ │ ├── EquoBasedStepBuilder.java
│ │ │ ├── GitAttributesLineEndings.java
│ │ │ ├── GitRatchet.java
│ │ │ ├── GitWorkarounds.java
│ │ │ ├── groovy
│ │ │ │ ├── GrEclipseFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── integration
│ │ │ │ ├── DiffMessageFormatter.java
│ │ │ │ └── package-info.java
│ │ │ ├── java
│ │ │ │ ├── EclipseJdtFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── LibExtraPreconditions.java
│ │ │ ├── P2Mirror.java
│ │ │ ├── package-info.java
│ │ │ └── wtp
│ │ │ ├── EclipseWtpFormatterStep.java
│ │ │ └── package-info.java
│ │ └── resources
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── eclipse_wtp_formatter
│ │ ├── v4.12.0.lockfile
│ │ ├── v4.13.0.lockfile
│ │ ├── v4.14.0.lockfile
│ │ ├── v4.15.0.lockfile
│ │ ├── v4.16.0.lockfile
│ │ ├── v4.17.0.lockfile
│ │ ├── v4.18.0.lockfile
│ │ ├── v4.19.0.lockfile
│ │ ├── v4.20.0.lockfile
│ │ ├── v4.21.0.lockfile
│ │ ├── v4.7.3a.lockfile
│ │ ├── v4.7.3b.lockfile
│ │ └── v4.8.0.lockfile
│ └── test
│ ├── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ ├── cpp
│ │ │ └── EclipseCdtFormatterStepTest.java
│ │ ├── eclipse
│ │ │ ├── EclipseResourceHarness.java
│ │ │ └── EquoResourceHarness.java
│ │ ├── GitAttributesTest.java
│ │ ├── GitRachetMergeBaseTest.java
│ │ ├── GitWorkaroundsTest.java
│ │ ├── groovy
│ │ │ ├── GrEclipseFormatterStepSpecialCaseTest.java
│ │ │ └── GrEclipseFormatterStepTest.java
│ │ ├── java
│ │ │ ├── EclipseJdtFormatterStepSpecialCaseTest.java
│ │ │ └── EclipseJdtFormatterStepTest.java
│ │ └── wtp
│ │ └── EclipseWtpFormatterStepTest.java
│ └── resources
│ └── eclipse_formatter_issue_1638.xml
├── LICENSE.txt
├── PADDEDCELL.md
├── plugin-gradle
│ ├── build.gradle
│ ├── CHANGES.md
│ ├── IDE_HOOK.md
│ ├── README.md
│ └── src
│ ├── main
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── gradle
│ │ └── spotless
│ │ ├── AJacksonGradleConfig.java
│ │ ├── Antlr4Extension.java
│ │ ├── BaseGroovyExtension.java
│ │ ├── BaseKotlinExtension.java
│ │ ├── CppExtension.java
│ │ ├── FlexmarkExtension.java
│ │ ├── FormatExtension.java
│ │ ├── FreshMarkExtension.java
│ │ ├── GherkinExtension.java
│ │ ├── GitRatchetGradle.java
│ │ ├── GoExtension.java
│ │ ├── GradleProvisioner.java
│ │ ├── GroovyExtension.java
│ │ ├── GroovyGradleExtension.java
│ │ ├── HasBuiltinDelimiterForLicense.java
│ │ ├── IdeHook.java
│ │ ├── JavaExtension.java
│ │ ├── JavascriptExtension.java
│ │ ├── JsonExtension.java
│ │ ├── JvmLang.java
│ │ ├── JvmLocalCache.java
│ │ ├── KotlinExtension.java
│ │ ├── KotlinGradleExtension.java
│ │ ├── PluginGradlePreconditions.java
│ │ ├── ProtobufExtension.java
│ │ ├── PythonExtension.java
│ │ ├── RegisterDependenciesTask.java
│ │ ├── RomeStepConfig.java
│ │ ├── ScalaExtension.java
│ │ ├── SerializableMisc.java
│ │ ├── ShellExtension.java
│ │ ├── SpotlessApply.java
│ │ ├── SpotlessCheck.java
│ │ ├── SpotlessDiagnoseTask.java
│ │ ├── SpotlessExtensionImpl.java
│ │ ├── SpotlessExtension.java
│ │ ├── SpotlessExtensionPredeclare.java
│ │ ├── SpotlessPlugin.java
│ │ ├── SpotlessPluginRedirect.java
│ │ ├── SpotlessTaskImpl.java
│ │ ├── SpotlessTask.java
│ │ ├── SpotlessTaskService.java
│ │ ├── SqlExtension.java
│ │ ├── TypescriptExtension.java
│ │ └── YamlExtension.java
│ └── test
│ ├── java
│ │ └── com
│ │ └── diffplug
│ │ └── gradle
│ │ └── spotless
│ │ ├── Antlr4ExtensionTest.java
│ │ ├── BiomeIntegrationTest.java
│ │ ├── BufIntegrationTest.java
│ │ ├── BumpThisNumberIfACustomStepChangesTest.java
│ │ ├── ClangFormatIntegrationTest.java
│ │ ├── CleanthatJavaIntegrationTest.java
│ │ ├── ConfigAvoidanceTest.java
│ │ ├── ConfigurationCacheTest.java
│ │ ├── DiffMessageFormatterTest.java
│ │ ├── EncodingTest.java
│ │ ├── ErrorShouldRethrowTest.java
│ │ ├── FilePermissionsTest.java
│ │ ├── FileTreeTest.java
│ │ ├── FlexmarkExtensionTest.java
│ │ ├── FormatTaskTest.java
│ │ ├── FreshMarkExtensionTest.java
│ │ ├── GherkinExtensionTest.java
│ │ ├── GitRatchetGradleTest.java
│ │ ├── GoGradleTest.java
│ │ ├── GoogleJavaFormatIntegrationTest.java
│ │ ├── GradleIncrementalResolutionTest.java
│ │ ├── GradleIntegrationHarness.java
│ │ ├── GroovyExtensionTest.java
│ │ ├── GroovyGradleExtensionTest.java
│ │ ├── IdeHookTest.java
│ │ ├── IndependentTaskTest.java
│ │ ├── JavaDefaultTargetTest.java
│ │ ├── JavascriptExtensionTest.java
│ │ ├── JsonExtensionTest.java
│ │ ├── KotlinExtensionTest.java
│ │ ├── KotlinGradleExtensionTest.java
│ │ ├── LicenseHeaderTest.java
│ │ ├── MultipleTargetsTest.java
│ │ ├── MultiProjectAfterEvaluate.java
│ │ ├── MultiProjectTest.java
│ │ ├── NativeCmdIntegrationTest.java
│ │ ├── NpmInstallCacheIntegrationTests.java
│ │ ├── NpmTestsWithoutNpmInstallationTest.java
│ │ ├── PaddedCellTaskTest.java
│ │ ├── PalantirJavaFormatIntegrationTest.java
│ │ ├── PrettierIntegrationTest.java
│ │ ├── PythonGradleTest.java
│ │ ├── RegisterDependenciesTaskTest.java
│ │ ├── RomeIntegrationTest.java
│ │ ├── ScalaExtensionTest.java
│ │ ├── SelfTest.java
│ │ ├── ShellExtensionTest.java
│ │ ├── SpotlessPluginRedirectTest.java
│ │ ├── SpotlessTaskImplTest.java
│ │ ├── SqlExtensionTest.java
│ │ ├── TargetExcludeIfContentContainsTest.java
│ │ ├── Tasks.java
│ │ ├── ToggleOffOnTest.java
│ │ ├── TypescriptExtensionTest.java
│ │ ├── UpToDateTest.java
│ │ ├── WithinBlockTest.java
│ │ └── YamlExtensionTest.java
│ └── resources
│ ├── com
│ │ └── diffplug
│ │ └── gradle
│ │ └── spotless
│ │ ├── NpmTestsWithoutNpmInstallationTest_gradle_node_plugin_example_1.gradle
│ │ └── NpmTestsWithoutNpmInstallationTest_gradle_node_plugin_example_2.gradle
│ └── groovy
│ └── licenseheader
│ └── JavaCodeWithoutHeader.test
├── plugin-maven
│ ├── build.gradle
│ ├── CHANGES.md
│ ├── README.md
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── diffplug
│ │ │ │ └── spotless
│ │ │ │ └── maven
│ │ │ │ ├── AbstractSpotlessMojo.java
│ │ │ │ ├── antlr4
│ │ │ │ │ ├── Antlr4Formatter.java
│ │ │ │ │ └── Antlr4.java
│ │ │ │ ├── ArtifactResolutionException.java
│ │ │ │ ├── ArtifactResolver.java
│ │ │ │ ├── cpp
│ │ │ │ │ ├── Cpp.java
│ │ │ │ │ └── EclipseCdt.java
│ │ │ │ ├── FileLocator.java
│ │ │ │ ├── FormatterConfig.java
│ │ │ │ ├── FormatterFactory.java
│ │ │ │ ├── FormattersHolder.java
│ │ │ │ ├── FormatterStepConfig.java
│ │ │ │ ├── FormatterStepFactory.java
│ │ │ │ ├── generic
│ │ │ │ │ ├── Biome.java
│ │ │ │ │ ├── EclipseWtp.java
│ │ │ │ │ ├── EndWithNewline.java
│ │ │ │ │ ├── Format.java
│ │ │ │ │ ├── Indent.java
│ │ │ │ │ ├── Jsr223.java
│ │ │ │ │ ├── LicenseHeader.java
│ │ │ │ │ ├── NativeCmd.java
│ │ │ │ │ ├── Prettier.java
│ │ │ │ │ ├── Replace.java
│ │ │ │ │ ├── ReplaceRegex.java
│ │ │ │ │ ├── Rome.java
│ │ │ │ │ ├── ToggleOffOn.java
│ │ │ │ │ └── TrimTrailingWhitespace.java
│ │ │ │ ├── gherkin
│ │ │ │ │ ├── Gherkin.java
│ │ │ │ │ └── GherkinUtils.java
│ │ │ │ ├── GitRatchetMaven.java
│ │ │ │ ├── go
│ │ │ │ │ ├── Gofmt.java
│ │ │ │ │ └── Go.java
│ │ │ │ ├── groovy
│ │ │ │ │ ├── GrEclipse.java
│ │ │ │ │ ├── Groovy.java
│ │ │ │ │ ├── ImportOrder.java
│ │ │ │ │ └── RemoveSemicolons.java
│ │ │ │ ├── IdeHook.java
│ │ │ │ ├── ImpactedFilesTracker.java
│ │ │ │ ├── incremental
│ │ │ │ │ ├── FileIndexConfig.java
│ │ │ │ │ ├── FileIndex.java
│ │ │ │ │ ├── IndexBasedChecker.java
│ │ │ │ │ ├── NoopChecker.java
│ │ │ │ │ ├── ObjectDigestOutputStream.java
│ │ │ │ │ ├── PluginFingerprint.java
│ │ │ │ │ ├── UpToDateChecker.java
│ │ │ │ │ └── UpToDateChecking.java
│ │ │ │ ├── java
│ │ │ │ │ ├── CleanthatJava.java
│ │ │ │ │ ├── Eclipse.java
│ │ │ │ │ ├── FormatAnnotations.java
│ │ │ │ │ ├── GoogleJavaFormat.java
│ │ │ │ │ ├── ImportOrder.java
│ │ │ │ │ ├── Java.java
│ │ │ │ │ ├── PalantirJavaFormat.java
│ │ │ │ │ └── RemoveUnusedImports.java
│ │ │ │ ├── javascript
│ │ │ │ │ ├── AbstractEslint.java
│ │ │ │ │ ├── BiomeJs.java
│ │ │ │ │ ├── EslintJs.java
│ │ │ │ │ ├── Javascript.java
│ │ │ │ │ └── RomeJs.java
│ │ │ │ ├── json
│ │ │ │ │ ├── BiomeJson.java
│ │ │ │ │ ├── Gson.java
│ │ │ │ │ ├── JacksonJson.java
│ │ │ │ │ ├── Json.java
│ │ │ │ │ ├── JsonPatch.java
│ │ │ │ │ ├── RomeJson.java
│ │ │ │ │ └── Simple.java
│ │ │ │ ├── kotlin
│ │ │ │ │ ├── Diktat.java
│ │ │ │ │ ├── Kotlin.java
│ │ │ │ │ ├── Ktfmt.java
│ │ │ │ │ └── Ktlint.java
│ │ │ │ ├── markdown
│ │ │ │ │ ├── Flexmark.java
│ │ │ │ │ └── Markdown.java
│ │ │ │ ├── MavenProvisioner.java
│ │ │ │ ├── npm
│ │ │ │ │ └── AbstractNpmFormatterStepFactory.java
│ │ │ │ ├── PluginException.java
│ │ │ │ ├── pom
│ │ │ │ │ ├── Pom.java
│ │ │ │ │ └── SortPom.java
│ │ │ │ ├── python
│ │ │ │ │ ├── Black.java
│ │ │ │ │ └── Python.java
│ │ │ │ ├── rome
│ │ │ │ │ └── AbstractRome.java
│ │ │ │ ├── scala
│ │ │ │ │ ├── Scalafmt.java
│ │ │ │ │ └── Scala.java
│ │ │ │ ├── shell
│ │ │ │ │ ├── Shell.java
│ │ │ │ │ └── Shfmt.java
│ │ │ │ ├── SpotlessApplyMojo.java
│ │ │ │ ├── SpotlessCheckMojo.java
│ │ │ │ ├── sql
│ │ │ │ │ ├── DBeaver.java
│ │ │ │ │ └── Sql.java
│ │ │ │ ├── typescript
│ │ │ │ │ ├── BiomeTs.java
│ │ │ │ │ ├── EslintTs.java
│ │ │ │ │ ├── RomeTs.java
│ │ │ │ │ ├── Tsfmt.java
│ │ │ │ │ └── Typescript.java
│ │ │ │ └── yaml
│ │ │ │ ├── JacksonYaml.java
│ │ │ │ └── Yaml.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── m2e
│ │ │ └── lifecycle-mapping-metadata.xml
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── maven
│ │ │ ├── antlr4
│ │ │ │ └── Antlr4FormatterTest.java
│ │ │ ├── biome
│ │ │ │ └── BiomeMavenTest.java
│ │ │ ├── FileLocatorTest.java
│ │ │ ├── generic
│ │ │ │ ├── EclipseWtpTest.java
│ │ │ │ ├── EndWithNewlineTest.java
│ │ │ │ ├── IndentTest.java
│ │ │ │ ├── Jsr223Test.java
│ │ │ │ ├── LicenseHeaderRatchetTest.java
│ │ │ │ ├── LicenseHeaderTest.java
│ │ │ │ ├── LineEndingsTest.java
│ │ │ │ ├── NativeCmdTest.java
│ │ │ │ ├── ReplaceRegexTest.java
│ │ │ │ ├── ReplaceTest.java
│ │ │ │ ├── ToggleOffOnTest.java
│ │ │ │ └── TrimTrailingWhitespaceTest.java
│ │ │ ├── gherkin
│ │ │ │ └── GherkinTest.java
│ │ │ ├── GitRatchetMavenTest.java
│ │ │ ├── go
│ │ │ │ └── GofmtTest.java
│ │ │ ├── groovy
│ │ │ │ ├── GrEclipseTest.java
│ │ │ │ ├── ImportOrderTest.java
│ │ │ │ └── RemoveSemicolonsTest.java
│ │ │ ├── IdeHookTest.java
│ │ │ ├── IncludesExcludesTest.java
│ │ │ ├── incremental
│ │ │ │ ├── FileIndexConfigTest.java
│ │ │ │ ├── FileIndexHarness.java
│ │ │ │ ├── FileIndexTest.java
│ │ │ │ ├── IndexBasedCheckerTest.java
│ │ │ │ ├── NoopCheckerTest.java
│ │ │ │ ├── PluginFingerprintTest.java
│ │ │ │ └── UpToDateCheckingTest.java
│ │ │ ├── java
│ │ │ │ ├── CleanthatJavaRefactorerTest.java
│ │ │ │ ├── EclipseFormatStepTest.java
│ │ │ │ ├── FormatAnnotationsStepTest.java
│ │ │ │ ├── GoogleJavaFormatTest.java
│ │ │ │ ├── ImportOrderTest.java
│ │ │ │ ├── JavaDefaultIncludesTest.java
│ │ │ │ ├── PalantirJavaFormatTest.java
│ │ │ │ └── RemoveUnusedImportsStepTest.java
│ │ │ ├── javascript
│ │ │ │ └── JavascriptFormatStepTest.java
│ │ │ ├── json
│ │ │ │ └── JsonTest.java
│ │ │ ├── kotlin
│ │ │ │ ├── DiktatTest.java
│ │ │ │ ├── KtfmtTest.java
│ │ │ │ └── KtlintTest.java
│ │ │ ├── markdown
│ │ │ │ └── FlexmarkMavenTest.java
│ │ │ ├── MavenIntegrationHarness.java
│ │ │ ├── MavenProvisionerTest.java
│ │ │ ├── MavenRunner.java
│ │ │ ├── MultiModuleProjectTest.java
│ │ │ ├── MultipleFormatsTest.java
│ │ │ ├── npm
│ │ │ │ ├── NpmFrontendMavenPlugin.java
│ │ │ │ ├── NpmStepsWithNpmInstallCacheTest.java
│ │ │ │ └── NpmTestsWithDynamicallyInstalledNpmInstallationTest.java
│ │ │ ├── pom
│ │ │ │ └── SortPomMavenTest.java
│ │ │ ├── prettier
│ │ │ │ └── PrettierFormatStepTest.java
│ │ │ ├── rome
│ │ │ │ └── RomeMavenTest.java
│ │ │ ├── scala
│ │ │ │ └── ScalafmtTest.java
│ │ │ ├── shell
│ │ │ │ └── ShellTest.java
│ │ │ ├── SpecificFilesTest.java
│ │ │ ├── SpotlessCheckMojoTest.java
│ │ │ ├── sql
│ │ │ │ └── SqlTest.java
│ │ │ ├── typescript
│ │ │ │ └── TypescriptFormatStepTest.java
│ │ │ └── yaml
│ │ │ └── YamlTest.java
│ │ └── resources
│ │ ├── multi-module
│ │ │ ├── pom-child.xml.mustache
│ │ │ ├── pom-config.xml.mustache
│ │ │ └── pom-parent.xml.mustache
│ │ ├── mvnw
│ │ ├── mvnw.cmd
│ │ ├── pom-test-management.xml.mustache
│ │ └── pom-test.xml.mustache
│ └── taskGraph.pdf
├── PULL_REQUEST_TEMPLATE.md
├── README.md
├── RELEASE_CHECKLIST.md
├── renovate.json
├── SECURITY.md
├── settings.gradle
└── testlib
├── build.gradle
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ ├── ClearGitConfig.java
│ │ ├── JreVersion.java
│ │ ├── npm
│ │ │ └── EslintStyleGuide.java
│ │ ├── ReflectionUtil.java
│ │ ├── ResourceHarness.java
│ │ ├── SerializableEqualityTester.java
│ │ ├── StepHarnessBase.java
│ │ ├── StepHarness.java
│ │ ├── StepHarnessWithFile.java
│ │ ├── tag
│ │ │ ├── BlackTest.java
│ │ │ ├── BufTest.java
│ │ │ ├── ClangTest.java
│ │ │ ├── GofmtTest.java
│ │ │ ├── NpmTest.java
│ │ │ └── ShfmtTest.java
│ │ └── TestProvisioner.java
│ └── resources
│ ├── antlr4
│ │ ├── Hello.formatted.g4
│ │ └── Hello.unformatted.g4
│ ├── biome
│ │ ├── config
│ │ │ ├── line-width-120.json
│ │ │ └── line-width-80.json
│ │ ├── js
│ │ │ ├── fileAfter.cjs
│ │ │ ├── fileAfter.js
│ │ │ ├── fileAfter.jsx
│ │ │ ├── fileAfter.mjs
│ │ │ ├── fileBefore.cjs
│ │ │ ├── fileBefore.js
│ │ │ ├── fileBefore.jsx
│ │ │ ├── fileBefore.mjs
│ │ │ ├── longLineAfter120.js
│ │ │ ├── longLineAfter80.js
│ │ │ └── longLineBefore.js
│ │ ├── json
│ │ │ ├── fileAfter.json
│ │ │ ├── fileBefore.json
│ │ │ ├── packageAfter.json
│ │ │ ├── packageBefore.json
│ │ │ └── package.json
│ │ └── ts
│ │ ├── fileAfter.cts
│ │ ├── fileAfter.mts
│ │ ├── fileAfter.ts
│ │ ├── fileAfter.tsx
│ │ ├── fileBefore.cts
│ │ ├── fileBefore.mts
│ │ ├── fileBefore.ts
│ │ └── fileBefore.tsx
│ ├── clang
│ │ ├── example.c
│ │ ├── example.c.clean
│ │ ├── example.cs
│ │ ├── example.cs.clean
│ │ ├── example.java.clean
│ │ ├── example.java.dirty
│ │ ├── example.js
│ │ ├── example.js.clean
│ │ ├── example.m
│ │ ├── example.m.clean
│ │ ├── example.proto
│ │ └── example.proto.clean
│ ├── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── config
│ │ └── test_configuration
│ │ ├── v0.0.1.lockfile
│ │ ├── v0.1.0.lockfile
│ │ └── v1.0.0.lockfile
│ ├── combined
│ │ ├── issue1679.clean
│ │ └── issue1679.dirty
│ ├── extra
│ │ └── config
│ │ ├── coordinates_valid.lockfile
│ │ ├── dependencies_old.lockfile
│ │ └── preferences.properties
│ ├── formatter
│ │ └── properties
│ │ ├── invalid_xml_profiles_multiple.xml
│ │ ├── invalid_xml_profiles.xml
│ │ ├── invalid_xml_profiles_zero.xml
│ │ ├── invalid_xml_properties.xml
│ │ ├── valid_line_oriented.prefs
│ │ ├── valid_line_oriented.properties
│ │ ├── valid_xml_profiles.xml
│ │ └── valid_xml_properties.xml
│ ├── freshmark
│ │ ├── FreshMarkFormatted.test
│ │ └── FreshMarkUnformatted.test
│ ├── gherkin
│ │ ├── complex_backgroundAfter.feature
│ │ ├── complex_backgroundBefore.feature
│ │ ├── descriptionsAfter.feature
│ │ ├── descriptionsBefore.feature
│ │ ├── emptyAfter.feature
│ │ ├── emptyBefore.feature
│ │ ├── invalidGherkinAfter.feature
│ │ ├── invalidGherkinBefore.feature
│ │ ├── minimalAfter0Spaces.feature
│ │ ├── minimalAfter6Spaces.feature
│ │ ├── minimalAfter.feature
│ │ ├── minimalBefore.feature
│ │ ├── notGherkinAfter.feature
│ │ ├── notGherkinBefore.feature
│ │ ├── rule_with_tagAfter.feature
│ │ └── rule_with_tagBefore.feature
│ ├── go
│ │ └── gofmt
│ │ ├── go.clean
│ │ └── go.dirty
│ ├── groovy
│ │ ├── greclipse
│ │ │ └── format
│ │ │ ├── exception.test
│ │ │ ├── formatted.test
│ │ │ ├── greclipse.exception
│ │ │ ├── greclipse.properties
│ │ │ ├── SomeClass.fixed
│ │ │ ├── SomeClass.test
│ │ │ └── unformatted.test
│ │ └── removeSemicolons
│ │ ├── GroovyCodeWithSemicolonsFormatted.test
│ │ └── GroovyCodeWithSemicolons.test
│ ├── indent
│ │ ├── IndentedWithSpace.test
│ │ └── IndentedWithTab.test
│ ├── java
│ │ ├── cleanthat
│ │ │ ├── LiteralsFirstInComparisons.clean.test
│ │ │ ├── LiteralsFirstInComparisons.dirty.test
│ │ │ ├── MultipleMutators.clean.onlyLiteralsFirst.test
│ │ │ ├── MultipleMutators.clean.onlyOptionalIsPresent.test
│ │ │ ├── MultipleMutators.clean.test
│ │ │ └── MultipleMutators.dirty.test
│ │ ├── eclipse
│ │ │ ├── AbstractType.clean
│ │ │ ├── AbstractType.test
│ │ │ ├── formatter.xml
│ │ │ ├── HtmlPreTagFormatted.test
│ │ │ ├── HtmlPreTagUnformatted.test
│ │ │ ├── JavaCodeFormatted.test
│ │ │ ├── JavaCodeUnformatted.test
│ │ │ ├── long_literals
│ │ │ │ ├── Example1.test
│ │ │ │ ├── Example2.test
│ │ │ │ └── spotless.eclipseformat.xml
│ │ │ ├── ModuleInfoFormatted.test
│ │ │ ├── ModuleInfo.prefs
│ │ │ └── ModuleInfoUnformatted.test
│ │ ├── formatannotations
│ │ │ ├── FormatAnnotationsAccessModifiersInput.test
│ │ │ ├── FormatAnnotationsAccessModifiersOutput.test
│ │ │ ├── FormatAnnotationsAddRemoveInput.test
│ │ │ ├── FormatAnnotationsAddRemoveOutput.test
│ │ │ ├── FormatAnnotationsInCommentsInput.test
│ │ │ ├── FormatAnnotationsInCommentsOutput.test
│ │ │ ├── FormatAnnotationsTestInput.test
│ │ │ └── FormatAnnotationsTestOutput.test
│ │ ├── googlejavaformat
│ │ │ ├── JavaCodeFormatted18.test
│ │ │ ├── JavaCodeFormattedAOSP.test
│ │ │ ├── JavaCodeFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeFormattedSkipJavadocFormatting.test
│ │ │ ├── JavaCodeFormatted.test
│ │ │ ├── JavaCodeUnformatted.test
│ │ │ ├── JavaCodeWithLicenseFormattedAOSP.test
│ │ │ ├── JavaCodeWithLicenseFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeWithLicenseFormatted.test
│ │ │ ├── JavaCodeWithLicensePackageFormattedAOSP.test
│ │ │ ├── JavaCodeWithLicensePackageFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeWithLicensePackageFormatted.test
│ │ │ ├── JavaCodeWithLicensePackageUnformatted.test
│ │ │ ├── JavaCodeWithLicenseUnformatted.test
│ │ │ ├── JavaCodeWithPackageFormattedAOSP.test
│ │ │ ├── JavaCodeWithPackageFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeWithPackageFormatted.test
│ │ │ ├── JavaCodeWithPackageUnformatted.test
│ │ │ ├── JavaWithReorderImportsDisabledFormatted.test
│ │ │ ├── JavaWithReorderImportsEnabledFormatted.test
│ │ │ ├── JavaWithReorderImportsUnformatted.test
│ │ │ ├── TextBlock.clean
│ │ │ └── TextBlock.dirty
│ │ ├── importsorter
│ │ │ ├── GroovyCodeSortedMisplacedImportsDefault.test
│ │ │ ├── GroovyCodeSortedMisplacedImports.test
│ │ │ ├── GroovyCodeUnsortedMisplacedImports.test
│ │ │ ├── import.properties
│ │ │ ├── import_unmatched.properties
│ │ │ ├── JavaCodeEmptyFile.test
│ │ │ ├── JavaCodeImportComments.test
│ │ │ ├── JavaCodeSortedDuplicateImportsUnmatched.test
│ │ │ ├── JavaCodeSortedImportsDefault.test
│ │ │ ├── JavaCodeSortedImportsSubgroupsLeadingCatchAll.test
│ │ │ ├── JavaCodeSortedImportsSubgroups.test
│ │ │ ├── JavaCodeSortedImports.test
│ │ │ ├── JavaCodeSortedImportsUnmatched.test
│ │ │ ├── JavaCodeSortedImportsWildcardsLast.test
│ │ │ ├── JavaCodeSortedLexicographic.test
│ │ │ ├── JavaCodeSortedMisplacedImports.test
│ │ │ ├── JavaCodeSortedSemanticSort.test
│ │ │ ├── JavaCodeUnsortedImportsSubgroups.test
│ │ │ ├── JavaCodeUnsortedImports.test
│ │ │ ├── JavaCodeUnsortedImportsUnmatched.test
│ │ │ ├── JavaCodeUnsortedMisplacedImports.test
│ │ │ └── JavaCodeUnsortedSemanticSort.test
│ │ ├── palantirjavaformat
│ │ │ ├── JavaCodeFormattedGoogle.test
│ │ │ ├── JavaCodeFormatted.test
│ │ │ ├── JavaCodeUnformatted.test
│ │ │ ├── JavaCodeWithJavaDocFormatted.test
│ │ │ ├── JavaCodeWithJavaDocUnformatted.test
│ │ │ ├── JavaCodeWithLicenseFormattedGoogle.test
│ │ │ ├── JavaCodeWithLicenseFormatted.test
│ │ │ ├── JavaCodeWithLicenseUnformatted.test
│ │ │ ├── JavaCodeWithPackageFormattedGoogle.test
│ │ │ ├── JavaCodeWithPackageFormatted.test
│ │ │ ├── JavaCodeWithPackageUnformatted.test
│ │ │ ├── TextBlock.clean
│ │ │ └── TextBlock.dirty
│ │ └── removeunusedimports
│ │ ├── JavaCodeFormatted.test
│ │ ├── JavaCodeUnformatted.test
│ │ ├── JavaCodeWithLicenseFormatted.test
│ │ ├── JavaCodeWithLicensePackageFormatted.test
│ │ ├── JavaCodeWithLicensePackageUnformatted.test
│ │ ├── JavaCodeWithLicenseUnformatted.test
│ │ ├── JavaCodeWithPackageFormatted.test
│ │ ├── JavaCodeWithPackageUnformatted.test
│ │ ├── Jdk17TextBlockFormatted.test
│ │ ├── Jdk17TextBlockUnformatted.test
│ │ ├── RevelcFormatted.test
│ │ ├── RevelcUnformatted.test
│ │ ├── SealedClassTestsFormatted.test
│ │ └── SealedClassTestsUnformatted.test
│ ├── json
│ │ ├── cucumberJsonSampleAfter.json
│ │ ├── cucumberJsonSampleBefore.json
│ │ ├── cucumberJsonSampleGsonAfter.json
│ │ ├── cucumberJsonSampleGsonBefore.json
│ │ ├── emptyAfter.json
│ │ ├── emptyBefore.json
│ │ ├── escapeHtmlGsonAfterDisabled.json
│ │ ├── escapeHtmlGsonAfter.json
│ │ ├── escapeHtmlGsonBefore.json
│ │ ├── invalidJsonAfter.json
│ │ ├── invalidJsonBefore.json
│ │ ├── nestedObjectAfter.json
│ │ ├── nestedObjectBefore.json
│ │ ├── notJsonAfter.json
│ │ ├── notJsonBefore.json
│ │ ├── objectWithNullAfter.json
│ │ ├── objectWithNullBefore.json
│ │ ├── objectWithNullGsonAfter.json
│ │ ├── objectWithNullGsonBefore.json
│ │ ├── patchObjectAfterReplaceString.json
│ │ ├── patchObjectAfterReplaceWithObject.json
│ │ ├── patchObjectBefore.json
│ │ ├── singletonArrayAfter0Spaces.json
│ │ ├── singletonArrayAfter6Spaces.json
│ │ ├── singletonArrayAfter_Jackson.json
│ │ ├── singletonArrayAfter.json
│ │ ├── singletonArrayAfterTabs.json
│ │ ├── singletonArrayBefore.json
│ │ ├── singletonObjectAfter.json
│ │ ├── singletonObjectBefore.json
│ │ ├── singletonObjectWithArrayAfter.json
│ │ ├── singletonObjectWithArrayBefore.json
│ │ ├── sortByKeysAfterDisabled.json
│ │ ├── sortByKeysAfterDisabled_Simple.json
│ │ ├── sortByKeysAfter_Jackson.json
│ │ ├── sortByKeysAfter_Jackson_spaceAfterKeySeparator.json
│ │ ├── sortByKeysAfter.json
│ │ └── sortByKeysBefore.json
│ ├── kotlin
│ │ ├── diktat
│ │ │ ├── basic.clean
│ │ │ ├── basic.dirty
│ │ │ ├── diktat-analysis.yml
│ │ │ ├── main.clean
│ │ │ ├── main.dirty
│ │ │ └── Unsolvable.kt
│ │ ├── ktfmt
│ │ │ ├── basic.clean
│ │ │ ├── basic.dirty
│ │ │ ├── basic-dropbox-style.clean
│ │ │ ├── basic-dropboxstyle.clean
│ │ │ ├── continuation.clean
│ │ │ ├── continuation.dirty
│ │ │ ├── dropboxstyle.clean
│ │ │ ├── dropboxstyle.dirty
│ │ │ ├── max-width.clean
│ │ │ ├── max-width.dirty
│ │ │ └── max-width-dropbox.clean
│ │ ├── ktlint
│ │ │ ├── basic.clean
│ │ │ ├── basic.clean-indent6
│ │ │ ├── basic.dirty
│ │ │ ├── basic-old.clean
│ │ │ ├── experimental.clean
│ │ │ ├── experimental.dirty
│ │ │ ├── experimentalEditorConfigOverride.clean
│ │ │ ├── experimentalEditorConfigOverride.dirty
│ │ │ ├── experimentalEditorConfigOverride.ktlintOfficial.clean
│ │ │ ├── intellij_idea
│ │ │ ├── ktlint_official
│ │ │ ├── listScreen.dirty
│ │ │ └── unsolvable.dirty
│ │ └── licenseheader
│ │ ├── KotlinCodeWithMultiYearHeader2.test
│ │ ├── KotlinCodeWithMultiYearHeader.test
│ │ ├── KotlinCodeWithoutHeaderKtfmt.test
│ │ └── KotlinCodeWithoutHeader.test
│ ├── license
│ │ ├── FileWithoutLicenseHeader.test
│ │ ├── HasLicense.test
│ │ ├── HelloWorld_java.test
│ │ ├── HelloWorld_withImport_java.test
│ │ ├── MissingLicense.test
│ │ ├── module-info.java.test
│ │ ├── module-info.test
│ │ ├── package-info.java.test
│ │ ├── SkipLinesHasLicense.test
│ │ ├── SkipLines.test
│ │ └── TestLicense
│ ├── markdown
│ │ └── flexmark
│ │ ├── FlexmarkFormatted.md
│ │ └── FlexmarkUnformatted.md
│ ├── native_cmd
│ │ ├── clean.txt
│ │ └── dirty.txt
│ ├── npm
│ │ ├── eslint
│ │ │ ├── config
│ │ │ │ ├── typescript.configfile.clean
│ │ │ │ ├── typescript.defaults.clean
│ │ │ │ ├── typescript.dirty
│ │ │ │ └── typescript.override.clean
│ │ │ ├── javascript
│ │ │ │ ├── custom_rules
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ └── styleguide
│ │ │ │ ├── airbnb
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ ├── google
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ ├── standard
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ └── xo
│ │ │ │ ├── javascript-es6.clean
│ │ │ │ └── javascript-es6.dirty
│ │ │ └── typescript
│ │ │ ├── custom_rules
│ │ │ │ ├── typescript.clean
│ │ │ │ └── typescript.dirty
│ │ │ └── styleguide
│ │ │ ├── standard_with_typescript
│ │ │ │ ├── tsconfig.json
│ │ │ │ ├── typescript.clean
│ │ │ │ └── typescript.dirty
│ │ │ └── xo
│ │ │ ├── tsconfig.json
│ │ │ ├── typescript.clean
│ │ │ └── typescript.dirty
│ │ ├── prettier
│ │ │ ├── config
│ │ │ │ ├── typescript.configfile_prettier_2.clean
│ │ │ │ ├── typescript.configfile_prettier_3.clean
│ │ │ │ ├── typescript.defaults_prettier_2.clean
│ │ │ │ ├── typescript.defaults_prettier_3.clean
│ │ │ │ ├── typescript.dirty
│ │ │ │ ├── typescript.override_prettier_2.clean
│ │ │ │ └── typescript.override_prettier_3.clean
│ │ │ ├── filename
│ │ │ │ ├── clean.json
│ │ │ │ └── dirty.json
│ │ │ ├── filetypes
│ │ │ │ ├── css
│ │ │ │ │ ├── css.clean
│ │ │ │ │ └── css.dirty
│ │ │ │ ├── html
│ │ │ │ │ ├── html.clean
│ │ │ │ │ └── html.dirty
│ │ │ │ ├── html_prettier3
│ │ │ │ │ ├── html_prettier3.clean
│ │ │ │ │ └── html_prettier3.dirty
│ │ │ │ ├── javascript-es5
│ │ │ │ │ ├── javascript-es5.clean
│ │ │ │ │ └── javascript-es5.dirty
│ │ │ │ ├── javascript-es6
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ ├── json
│ │ │ │ │ ├── json.clean
│ │ │ │ │ └── json.dirty
│ │ │ │ ├── markdown
│ │ │ │ │ ├── markdown.clean
│ │ │ │ │ └── markdown.dirty
│ │ │ │ ├── scss
│ │ │ │ │ ├── scss.clean
│ │ │ │ │ └── scss.dirty
│ │ │ │ ├── tsx
│ │ │ │ │ ├── tsx.clean
│ │ │ │ │ └── tsx.dirty
│ │ │ │ ├── typescript
│ │ │ │ │ ├── typescript.clean
│ │ │ │ │ └── typescript.dirty
│ │ │ │ └── yaml
│ │ │ │ ├── yaml.clean
│ │ │ │ └── yaml.dirty
│ │ │ └── plugins
│ │ │ ├── java-test.clean
│ │ │ ├── java-test.dirty
│ │ │ ├── php.clean
│ │ │ └── php.dirty
│ │ └── tsfmt
│ │ ├── tsconfig
│ │ │ ├── tsconfig.clean
│ │ │ ├── tsconfig.dirty
│ │ │ └── tsconfig.json
│ │ ├── tsfmt
│ │ │ ├── tsfmt.clean
│ │ │ ├── tsfmt.dirty
│ │ │ └── tsfmt.json
│ │ ├── tslint
│ │ │ ├── tslint.clean
│ │ │ ├── tslint.dirty
│ │ │ └── tslint.json
│ │ └── vscode
│ │ ├── vscode.clean
│ │ ├── vscode.dirty
│ │ └── vscode.json
│ ├── pom
│ │ ├── pom_clean_default.xml
│ │ └── pom_dirty.xml
│ ├── protobuf
│ │ └── buf
│ │ ├── buf.proto
│ │ ├── buf.proto.clean
│ │ ├── license.proto
│ │ └── license.proto.clean
│ ├── python
│ │ └── black
│ │ ├── black.clean
│ │ └── black.dirty
│ ├── rome
│ │ ├── config
│ │ │ ├── line-width-120.json
│ │ │ └── line-width-80.json
│ │ ├── js
│ │ │ ├── fileAfter.cjs
│ │ │ ├── fileAfter.js
│ │ │ ├── fileAfter.jsx
│ │ │ ├── fileAfter.mjs
│ │ │ ├── fileBefore.cjs
│ │ │ ├── fileBefore.js
│ │ │ ├── fileBefore.jsx
│ │ │ ├── fileBefore.mjs
│ │ │ ├── longLineAfter120.js
│ │ │ ├── longLineAfter80.js
│ │ │ └── longLineBefore.js
│ │ ├── json
│ │ │ ├── fileAfter.json
│ │ │ └── fileBefore.json
│ │ └── ts
│ │ ├── fileAfter.cts
│ │ ├── fileAfter.mts
│ │ ├── fileAfter.ts
│ │ ├── fileAfter.tsx
│ │ ├── fileBefore.cts
│ │ ├── fileBefore.mts
│ │ ├── fileBefore.ts
│ │ └── fileBefore.tsx
│ ├── scala
│ │ └── scalafmt
│ │ ├── basic.clean_3.0.0
│ │ ├── basic.cleanWithCustomConf_3.0.0
│ │ ├── basic.dirty
│ │ ├── basicPost3.0.0.clean
│ │ ├── basicPost3.0.0.cleanWithCustomConf
│ │ ├── scalafmt2.conf
│ │ ├── scalafmt.conf
│ │ └── scalafmt.invalid.conf
│ ├── shell
│ │ └── shfmt
│ │ ├── shfmt.clean
│ │ └── shfmt.sh
│ ├── sql
│ │ └── dbeaver
│ │ ├── alter-table.clean
│ │ ├── alter-table.dirty
│ │ ├── create.clean
│ │ ├── create.clean.alternative
│ │ ├── create.dirty
│ │ ├── full.clean
│ │ ├── full.dirty
│ │ ├── jdbi-params.clean
│ │ ├── jdbi-params.dirty
│ │ ├── sqlConfig2.properties
│ │ ├── sqlConfig.properties
│ │ ├── V1_initial.sql.clean
│ │ └── V1_initial.sql.dirty
│ └── yaml
│ ├── array_at_root.clean.yaml
│ ├── array_at_root.yaml
│ ├── array_with_bracket.clean.no_start_marker.no_quotes.yaml
│ ├── array_with_bracket.clean.yaml
│ ├── array_with_bracket.yaml
│ ├── multiple_documents.clean.jackson.yaml
│ ├── multiple_documents.clean.yaml
│ ├── multiple_documents.yaml
│ ├── separator_comments.clean.yaml
│ └── separator_comments.yaml
└── test
└── java
└── com
└── diffplug
└── spotless
├── antlr4
│ └── Antlr4FormatterStepTest.java
├── combined
│ └── CombinedJavaFormatStepTest.java
├── cpp
│ ├── ClangFormatStepTest.java
│ └── CppDefaultsTest.java
├── EncodingErrorMsgTest.java
├── FileSignatureTest.java
├── FilterByFileFormatterStepTest.java
├── FormatterPropertiesTest.java
├── FormatterTest.java
├── generic
│ ├── EndWithNewlineStepTest.java
│ ├── FenceStepTest.java
│ ├── IndentStepTest.java
│ ├── LicenseHeaderStepTest.java
│ ├── PipeStepPairTest.java
│ └── TrimTrailingWhitespaceStepTest.java
├── gherkin
│ └── GherkinUtilsStepTest.java
├── go
│ └── GofmtFormatStepTest.java
├── java
│ ├── FormatAnnotationsStepTest.java
│ ├── GoogleJavaFormatStepTest.java
│ ├── ImportOrderStepTest.java
│ ├── PalantirJavaFormatStepTest.java
│ ├── RemoveUnusedImportsStep_withCleanthatJavaparserTest.java
│ └── RemoveUnusedImportsStep_withGoogleJavaFormatTest.java
├── json
│ ├── gson
│ │ └── GsonStepTest.java
│ ├── JacksonJsonStepTest.java
│ ├── JsonFormatterStepCommonTests.java
│ └── JsonSimpleStepTest.java
├── JvmTest.java
├── kotlin
│ ├── DiktatStepTest.java
│ ├── KtfmtStepTest.java
│ └── KtLintStepTest.java
├── LazyForwardingEqualityTest.java
├── markdown
│ ├── FlexmarkStepTest.java
│ └── FreshMarkStepTest.java
├── npm
│ ├── EslintFormatterStepTest.java
│ ├── JsonWriterTest.java
│ ├── NpmFormatterStepCommonTests.java
│ ├── PrettierFormatterStepTest.java
│ ├── ShadowCopyTest.java
│ └── TsFmtFormatterStepTest.java
├── PaddedCellTest.java
├── pom
│ └── SortPomTest.java
├── protobuf
│ └── BufStepTest.java
├── ProvisionerTest.java
├── python
│ └── BlackStepTest.java
├── rome
│ └── RomeStepTest.java
├── scala
│ └── ScalaFmtStepTest.java
├── shell
│ └── ShfmtStepTest.java
└── sql
└── DBeaverSQLFormatterStepTest.java
519 directories, 1044 files
spotless:保持您的代码整洁
Spotless是一个代码格式化工具,能够帮助您保持代码整洁和规范化。
Spotless可以使用<gradle | maven | sbt | anything>格式化<antlr | c | c# | c | css | flow | graphql | groovy | html | java | javascript | json | jsx | kotlin | less | license headers | markdown | objective-c | protobuf | python | scala | scss | shell | sql | typeScript | vue | yaml | anything>。
许多特性和格式器步骤对应不同的构建工具,例如gradle、maven和sbt等。
【实例截图】
【核心代码】
文件清单
└── spotless-47d2c0fe26973049af861e65cfffa5fd68e97c72
├── build.gradle
├── CHANGES.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── ECLIPSE_SCREENSHOTS.md
├── gradle
│ ├── build-scans.gradle
│ ├── changelog.gradle
│ ├── javadoc
│ │ ├── gradle
│ │ │ └── package-list
│ │ ├── spotless-lib
│ │ │ └── package-list
│ │ └── spotless-lib-extra
│ │ └── package-list
│ ├── java-publish.gradle
│ ├── java-setup.gradle
│ ├── special-tests.gradle
│ ├── spotless.eclipseformat.xml
│ ├── spotless-freshmark.gradle
│ ├── spotless.gradle
│ ├── spotless.groovyformat.prefs
│ ├── spotless.importorder
│ ├── spotless.license
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── _images
│ ├── EclipseFormatterEditOffOnTags.png
│ ├── EclipseFormatterEdit.png
│ ├── EclipseFormatter.png
│ ├── EclipseImports.png
│ ├── EclipsePreferences.png
│ ├── spotless_logo_eclipse.png
│ ├── spotless_logo.png
│ └── spotless_logo.txt
├── ISSUE_TEMPLATE.md
├── jitpack.yml
├── lib
│ ├── build.gradle
│ └── src
│ ├── cleanthat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── java
│ │ └── JavaCleanthatRefactorerFunc.java
│ ├── compatDiktat1Dot2Dot5
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── compat
│ │ └── DiktatCompat1Dot2Dot5Adapter.java
│ ├── compatDiktat2Dot0Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── compat
│ │ └── DiktatCompat2Dot0Dot0Adapter.java
│ ├── compatDiktatApi
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── compat
│ │ ├── DiktatCompatAdapter.java
│ │ └── DiktatReporting.java
│ ├── compatKtLint0Dot48Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat0Dot48Dot0Adapter.java
│ ├── compatKtLint0Dot49Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat0Dot49Dot0Adapter.java
│ ├── compatKtLint0Dot50Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat0Dot50Dot0Adapter.java
│ ├── compatKtLint1Dot0Dot0
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ └── KtLintCompat1Dot0Dot0Adapter.java
│ ├── compatKtLintApi
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── compat
│ │ ├── KtLintCompatAdapter.java
│ │ └── KtLintCompatReporting.java
│ ├── diktat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── diktat
│ │ └── DiktatFormatterFunc.java
│ ├── flexmark
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── markdown
│ │ └── FlexmarkFormatterFunc.java
│ ├── gherkin
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── gherkin
│ │ └── GherkinUtilsFormatterFunc.java
│ ├── googleJavaFormat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── java
│ │ ├── GoogleJavaFormatFormatterFunc.java
│ │ └── GoogleJavaFormatRemoveUnusedImporterFormatterFunc.java
│ ├── gson
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── gson
│ │ └── GsonFormatterFunc.java
│ ├── jackson
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ ├── json
│ │ │ ├── AJacksonFormatterFunc.java
│ │ │ └── JacksonJsonFormatterFunc.java
│ │ └── yaml
│ │ └── JacksonYamlFormatterFunc.java
│ ├── ktfmt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktfmt
│ │ ├── KtfmtFormatterFunc.java
│ │ ├── KtfmtFormattingOptions.java
│ │ └── KtfmtStyle.java
│ ├── ktlint
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── ktlint
│ │ └── KtlintFormatterFunc.java
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ ├── annotations
│ │ │ │ ├── Internal.java
│ │ │ │ └── ReturnValuesAreNonnullByDefault.java
│ │ │ ├── antlr4
│ │ │ │ ├── Antlr4Defaults.java
│ │ │ │ └── Antlr4FormatterStep.java
│ │ │ ├── cpp
│ │ │ │ ├── ClangFormatStep.java
│ │ │ │ ├── CppDefaults.java
│ │ │ │ └── package-info.java
│ │ │ ├── DelegateFormatterStep.java
│ │ │ ├── EncodingErrorMsg.java
│ │ │ ├── FeatureClassLoader.java
│ │ │ ├── FileSignature.java
│ │ │ ├── FilterByContentPatternFormatterStep.java
│ │ │ ├── FilterByFileFormatterStep.java
│ │ │ ├── ForeignExe.java
│ │ │ ├── FormatExceptionPolicy.java
│ │ │ ├── FormatExceptionPolicyLegacy.java
│ │ │ ├── FormatExceptionPolicyStrict.java
│ │ │ ├── FormatterFunc.java
│ │ │ ├── Formatter.java
│ │ │ ├── FormatterProperties.java
│ │ │ ├── FormatterStepEqualityOnStateSerialization.java
│ │ │ ├── FormatterStepImpl.java
│ │ │ ├── FormatterStep.java
│ │ │ ├── FormatterStepSerializationRoundtrip.java
│ │ │ ├── generic
│ │ │ │ ├── EndWithNewlineStep.java
│ │ │ │ ├── FenceStep.java
│ │ │ │ ├── IndentStep.java
│ │ │ │ ├── Jsr223Step.java
│ │ │ │ ├── LicenseHeaderStep.java
│ │ │ │ ├── NativeCmdStep.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── PipeStepPair.java
│ │ │ │ ├── ReplaceRegexStep.java
│ │ │ │ ├── ReplaceStep.java
│ │ │ │ └── TrimTrailingWhitespaceStep.java
│ │ │ ├── gherkin
│ │ │ │ ├── GherkinUtilsConfig.java
│ │ │ │ └── GherkinUtilsStep.java
│ │ │ ├── go
│ │ │ │ └── GofmtFormatStep.java
│ │ │ ├── groovy
│ │ │ │ └── RemoveSemicolonsStep.java
│ │ │ ├── JarState.java
│ │ │ ├── java
│ │ │ │ ├── CleanthatJavaStep.java
│ │ │ │ ├── FormatAnnotationsStep.java
│ │ │ │ ├── GoogleJavaFormatStep.java
│ │ │ │ ├── ImportOrderStep.java
│ │ │ │ ├── ImportSorterImpl.java
│ │ │ │ ├── ImportSorter.java
│ │ │ │ ├── LibJavaPreconditions.java
│ │ │ │ ├── ModuleHelper.java
│ │ │ │ ├── package-info.java
│ │ │ │ ├── PalantirJavaFormatStep.java
│ │ │ │ └── RemoveUnusedImportsStep.java
│ │ │ ├── json
│ │ │ │ ├── gson
│ │ │ │ │ ├── GsonConfig.java
│ │ │ │ │ └── GsonStep.java
│ │ │ │ ├── JacksonConfig.java
│ │ │ │ ├── JacksonJsonConfig.java
│ │ │ │ ├── JacksonJsonStep.java
│ │ │ │ ├── JsonPatchStep.java
│ │ │ │ ├── JsonSimpleStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── Jvm.java
│ │ │ ├── kotlin
│ │ │ │ ├── BadSemver.java
│ │ │ │ ├── DiktatStep.java
│ │ │ │ ├── KotlinConstants.java
│ │ │ │ ├── KtfmtStep.java
│ │ │ │ ├── KtLintStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── LazyArgLogger.java
│ │ │ ├── LazyForwardingEquality.java
│ │ │ ├── LibPreconditions.java
│ │ │ ├── LineEnding.java
│ │ │ ├── markdown
│ │ │ │ ├── FlexmarkStep.java
│ │ │ │ ├── FreshMarkStep.java
│ │ │ │ ├── LibMarkdownPreconditions.java
│ │ │ │ └── package-info.java
│ │ │ ├── MoreIterables.java
│ │ │ ├── NoLambda.java
│ │ │ ├── npm
│ │ │ │ ├── BaseNpmRestService.java
│ │ │ │ ├── BlacklistedOptionException.java
│ │ │ │ ├── EslintConfig.java
│ │ │ │ ├── EslintFormatterStep.java
│ │ │ │ ├── EslintRestService.java
│ │ │ │ ├── EslintTypescriptConfig.java
│ │ │ │ ├── FileFinder.java
│ │ │ │ ├── JsonEscaper.java
│ │ │ │ ├── JsonRawValue.java
│ │ │ │ ├── JsonWriter.java
│ │ │ │ ├── ListableAdapter.java
│ │ │ │ ├── NodeApp.java
│ │ │ │ ├── NodeExecutableResolver.java
│ │ │ │ ├── NodeModulesCachingNpmProcessFactory.java
│ │ │ │ ├── NodeServeApp.java
│ │ │ │ ├── NodeServerLayout.java
│ │ │ │ ├── NpmConfig.java
│ │ │ │ ├── NpmExecutableResolver.java
│ │ │ │ ├── NpmFormatterStepLocations.java
│ │ │ │ ├── NpmFormatterStepStateBase.java
│ │ │ │ ├── NpmLongRunningProcess.java
│ │ │ │ ├── NpmPathResolver.java
│ │ │ │ ├── NpmProcessException.java
│ │ │ │ ├── NpmProcessFactory.java
│ │ │ │ ├── NpmProcess.java
│ │ │ │ ├── NpmrcResolver.java
│ │ │ │ ├── NpmResourceHelper.java
│ │ │ │ ├── PlatformInfo.java
│ │ │ │ ├── PrettierConfig.java
│ │ │ │ ├── PrettierFormatterStep.java
│ │ │ │ ├── PrettierMissingParserException.java
│ │ │ │ ├── PrettierRestService.java
│ │ │ │ ├── ShadowCopy.java
│ │ │ │ ├── SimpleRestClient.java
│ │ │ │ ├── StandardNpmProcessFactory.java
│ │ │ │ ├── TimedLogger.java
│ │ │ │ ├── TsConfigFileType.java
│ │ │ │ ├── TsFmtFormatterStep.java
│ │ │ │ ├── TsFmtRestService.java
│ │ │ │ └── TypedTsFmtConfigFile.java
│ │ │ ├── OnMatch.java
│ │ │ ├── package-info.java
│ │ │ ├── PaddedCell.java
│ │ │ ├── pom
│ │ │ │ ├── SortPomCfg.java
│ │ │ │ └── SortPomStep.java
│ │ │ ├── ProcessRunner.java
│ │ │ ├── protobuf
│ │ │ │ ├── BufStep.java
│ │ │ │ └── ProtobufConstants.java
│ │ │ ├── Provisioner.java
│ │ │ ├── python
│ │ │ │ └── BlackStep.java
│ │ │ ├── RingBufferByteArrayOutputStream.java
│ │ │ ├── rome
│ │ │ │ ├── Architecture.java
│ │ │ │ ├── BiomeFlavor.java
│ │ │ │ ├── OS.java
│ │ │ │ ├── Platform.java
│ │ │ │ ├── RomeExecutableDownloader.java
│ │ │ │ └── RomeStep.java
│ │ │ ├── scala
│ │ │ │ ├── package-info.java
│ │ │ │ └── ScalaFmtStep.java
│ │ │ ├── SerializableFileFilterImpl.java
│ │ │ ├── SerializableFileFilter.java
│ │ │ ├── SerializedFunction.java
│ │ │ ├── shell
│ │ │ │ └── ShfmtStep.java
│ │ │ ├── SpotlessCache.java
│ │ │ ├── sql
│ │ │ │ ├── dbeaver
│ │ │ │ │ ├── DBeaverSQLFormatterConfiguration.java
│ │ │ │ │ ├── DBPKeywordType.java
│ │ │ │ │ ├── FormatterToken.java
│ │ │ │ │ ├── KeywordCase.java
│ │ │ │ │ ├── Pair.java
│ │ │ │ │ ├── SQLConstants.java
│ │ │ │ │ ├── SQLDialect.java
│ │ │ │ │ ├── SQLTokenizedFormatter.java
│ │ │ │ │ ├── SQLTokensParser.java
│ │ │ │ │ └── TokenType.java
│ │ │ │ ├── DBeaverSQLFormatter.java
│ │ │ │ ├── DBeaverSQLFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── ThrowingEx.java
│ │ │ └── yaml
│ │ │ ├── JacksonYamlConfig.java
│ │ │ └── JacksonYamlStep.java
│ │ └── resources
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── npm
│ │ ├── common-serve.js
│ │ ├── eslint-package.json
│ │ ├── eslint-serve.js
│ │ ├── prettier-package.json
│ │ ├── prettier-serve.js
│ │ ├── tsfmt-package.json
│ │ └── tsfmt-serve.js
│ ├── palantirJavaFormat
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── pjf
│ │ └── PalantirJavaFormatFormatterFunc.java
│ ├── scalafmt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── scalafmt
│ │ └── ScalafmtFormatterFunc.java
│ ├── sortPom
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── pom
│ │ └── SortPomFormatterFunc.java
│ ├── test
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ ├── npm
│ │ │ └── TimedLoggerTest.java
│ │ └── RingBufferByteArrayOutputStreamTest.java
│ ├── testCompatCleanthat2Dot1
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── glue
│ │ └── java
│ │ └── JavaCleanthatRefactorerFuncTest.java
│ ├── testCompatKtLint0Dot48Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat0Dot48Dot0AdapterTest.java
│ │ └── resources
│ │ ├── empty_class_body.kt
│ │ └── fails_no_semicolons.kt
│ ├── testCompatKtLint0Dot49Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat0Dot49Dot0AdapterTest.java
│ │ └── resources
│ │ ├── EmptyClassBody.kt
│ │ └── FailsNoSemicolons.kt
│ ├── testCompatKtLint0Dot50Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat0Dot50Dot0AdapterTest.java
│ │ └── resources
│ │ ├── EmptyClassBody.kt
│ │ └── FailsNoSemicolons.kt
│ ├── testCompatKtLint1Dot0Dot0
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── glue
│ │ │ └── ktlint
│ │ │ └── compat
│ │ │ └── KtLintCompat1Dot0Dot0AdapterTest.java
│ │ └── resources
│ │ ├── EmptyClassBody.kt
│ │ └── FailsNoSemicolons.kt
│ └── zjsonPatch
│ └── java
│ └── com
│ └── diffplug
│ └── spotless
│ └── glue
│ └── json
│ └── JsonPatchFormatterFunc.java
├── lib-extra
│ ├── build.gradle
│ └── src
│ ├── cdt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── glue
│ │ └── cdt
│ │ └── EclipseCdtFormatterStepImpl.java
│ ├── groovy
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── glue
│ │ └── groovy
│ │ └── GrEclipseFormatterStepImpl.java
│ ├── jdt
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── glue
│ │ └── jdt
│ │ └── EclipseJdtFormatterStepImpl.java
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── extra
│ │ │ ├── cpp
│ │ │ │ ├── EclipseCdtFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── EclipseBasedStepBuilder.java
│ │ │ ├── EquoBasedStepBuilder.java
│ │ │ ├── GitAttributesLineEndings.java
│ │ │ ├── GitRatchet.java
│ │ │ ├── GitWorkarounds.java
│ │ │ ├── groovy
│ │ │ │ ├── GrEclipseFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── integration
│ │ │ │ ├── DiffMessageFormatter.java
│ │ │ │ └── package-info.java
│ │ │ ├── java
│ │ │ │ ├── EclipseJdtFormatterStep.java
│ │ │ │ └── package-info.java
│ │ │ ├── LibExtraPreconditions.java
│ │ │ ├── P2Mirror.java
│ │ │ ├── package-info.java
│ │ │ └── wtp
│ │ │ ├── EclipseWtpFormatterStep.java
│ │ │ └── package-info.java
│ │ └── resources
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── eclipse_wtp_formatter
│ │ ├── v4.12.0.lockfile
│ │ ├── v4.13.0.lockfile
│ │ ├── v4.14.0.lockfile
│ │ ├── v4.15.0.lockfile
│ │ ├── v4.16.0.lockfile
│ │ ├── v4.17.0.lockfile
│ │ ├── v4.18.0.lockfile
│ │ ├── v4.19.0.lockfile
│ │ ├── v4.20.0.lockfile
│ │ ├── v4.21.0.lockfile
│ │ ├── v4.7.3a.lockfile
│ │ ├── v4.7.3b.lockfile
│ │ └── v4.8.0.lockfile
│ └── test
│ ├── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ ├── cpp
│ │ │ └── EclipseCdtFormatterStepTest.java
│ │ ├── eclipse
│ │ │ ├── EclipseResourceHarness.java
│ │ │ └── EquoResourceHarness.java
│ │ ├── GitAttributesTest.java
│ │ ├── GitRachetMergeBaseTest.java
│ │ ├── GitWorkaroundsTest.java
│ │ ├── groovy
│ │ │ ├── GrEclipseFormatterStepSpecialCaseTest.java
│ │ │ └── GrEclipseFormatterStepTest.java
│ │ ├── java
│ │ │ ├── EclipseJdtFormatterStepSpecialCaseTest.java
│ │ │ └── EclipseJdtFormatterStepTest.java
│ │ └── wtp
│ │ └── EclipseWtpFormatterStepTest.java
│ └── resources
│ └── eclipse_formatter_issue_1638.xml
├── LICENSE.txt
├── PADDEDCELL.md
├── plugin-gradle
│ ├── build.gradle
│ ├── CHANGES.md
│ ├── IDE_HOOK.md
│ ├── README.md
│ └── src
│ ├── main
│ │ └── java
│ │ └── com
│ │ └── diffplug
│ │ └── gradle
│ │ └── spotless
│ │ ├── AJacksonGradleConfig.java
│ │ ├── Antlr4Extension.java
│ │ ├── BaseGroovyExtension.java
│ │ ├── BaseKotlinExtension.java
│ │ ├── CppExtension.java
│ │ ├── FlexmarkExtension.java
│ │ ├── FormatExtension.java
│ │ ├── FreshMarkExtension.java
│ │ ├── GherkinExtension.java
│ │ ├── GitRatchetGradle.java
│ │ ├── GoExtension.java
│ │ ├── GradleProvisioner.java
│ │ ├── GroovyExtension.java
│ │ ├── GroovyGradleExtension.java
│ │ ├── HasBuiltinDelimiterForLicense.java
│ │ ├── IdeHook.java
│ │ ├── JavaExtension.java
│ │ ├── JavascriptExtension.java
│ │ ├── JsonExtension.java
│ │ ├── JvmLang.java
│ │ ├── JvmLocalCache.java
│ │ ├── KotlinExtension.java
│ │ ├── KotlinGradleExtension.java
│ │ ├── PluginGradlePreconditions.java
│ │ ├── ProtobufExtension.java
│ │ ├── PythonExtension.java
│ │ ├── RegisterDependenciesTask.java
│ │ ├── RomeStepConfig.java
│ │ ├── ScalaExtension.java
│ │ ├── SerializableMisc.java
│ │ ├── ShellExtension.java
│ │ ├── SpotlessApply.java
│ │ ├── SpotlessCheck.java
│ │ ├── SpotlessDiagnoseTask.java
│ │ ├── SpotlessExtensionImpl.java
│ │ ├── SpotlessExtension.java
│ │ ├── SpotlessExtensionPredeclare.java
│ │ ├── SpotlessPlugin.java
│ │ ├── SpotlessPluginRedirect.java
│ │ ├── SpotlessTaskImpl.java
│ │ ├── SpotlessTask.java
│ │ ├── SpotlessTaskService.java
│ │ ├── SqlExtension.java
│ │ ├── TypescriptExtension.java
│ │ └── YamlExtension.java
│ └── test
│ ├── java
│ │ └── com
│ │ └── diffplug
│ │ └── gradle
│ │ └── spotless
│ │ ├── Antlr4ExtensionTest.java
│ │ ├── BiomeIntegrationTest.java
│ │ ├── BufIntegrationTest.java
│ │ ├── BumpThisNumberIfACustomStepChangesTest.java
│ │ ├── ClangFormatIntegrationTest.java
│ │ ├── CleanthatJavaIntegrationTest.java
│ │ ├── ConfigAvoidanceTest.java
│ │ ├── ConfigurationCacheTest.java
│ │ ├── DiffMessageFormatterTest.java
│ │ ├── EncodingTest.java
│ │ ├── ErrorShouldRethrowTest.java
│ │ ├── FilePermissionsTest.java
│ │ ├── FileTreeTest.java
│ │ ├── FlexmarkExtensionTest.java
│ │ ├── FormatTaskTest.java
│ │ ├── FreshMarkExtensionTest.java
│ │ ├── GherkinExtensionTest.java
│ │ ├── GitRatchetGradleTest.java
│ │ ├── GoGradleTest.java
│ │ ├── GoogleJavaFormatIntegrationTest.java
│ │ ├── GradleIncrementalResolutionTest.java
│ │ ├── GradleIntegrationHarness.java
│ │ ├── GroovyExtensionTest.java
│ │ ├── GroovyGradleExtensionTest.java
│ │ ├── IdeHookTest.java
│ │ ├── IndependentTaskTest.java
│ │ ├── JavaDefaultTargetTest.java
│ │ ├── JavascriptExtensionTest.java
│ │ ├── JsonExtensionTest.java
│ │ ├── KotlinExtensionTest.java
│ │ ├── KotlinGradleExtensionTest.java
│ │ ├── LicenseHeaderTest.java
│ │ ├── MultipleTargetsTest.java
│ │ ├── MultiProjectAfterEvaluate.java
│ │ ├── MultiProjectTest.java
│ │ ├── NativeCmdIntegrationTest.java
│ │ ├── NpmInstallCacheIntegrationTests.java
│ │ ├── NpmTestsWithoutNpmInstallationTest.java
│ │ ├── PaddedCellTaskTest.java
│ │ ├── PalantirJavaFormatIntegrationTest.java
│ │ ├── PrettierIntegrationTest.java
│ │ ├── PythonGradleTest.java
│ │ ├── RegisterDependenciesTaskTest.java
│ │ ├── RomeIntegrationTest.java
│ │ ├── ScalaExtensionTest.java
│ │ ├── SelfTest.java
│ │ ├── ShellExtensionTest.java
│ │ ├── SpotlessPluginRedirectTest.java
│ │ ├── SpotlessTaskImplTest.java
│ │ ├── SqlExtensionTest.java
│ │ ├── TargetExcludeIfContentContainsTest.java
│ │ ├── Tasks.java
│ │ ├── ToggleOffOnTest.java
│ │ ├── TypescriptExtensionTest.java
│ │ ├── UpToDateTest.java
│ │ ├── WithinBlockTest.java
│ │ └── YamlExtensionTest.java
│ └── resources
│ ├── com
│ │ └── diffplug
│ │ └── gradle
│ │ └── spotless
│ │ ├── NpmTestsWithoutNpmInstallationTest_gradle_node_plugin_example_1.gradle
│ │ └── NpmTestsWithoutNpmInstallationTest_gradle_node_plugin_example_2.gradle
│ └── groovy
│ └── licenseheader
│ └── JavaCodeWithoutHeader.test
├── plugin-maven
│ ├── build.gradle
│ ├── CHANGES.md
│ ├── README.md
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── diffplug
│ │ │ │ └── spotless
│ │ │ │ └── maven
│ │ │ │ ├── AbstractSpotlessMojo.java
│ │ │ │ ├── antlr4
│ │ │ │ │ ├── Antlr4Formatter.java
│ │ │ │ │ └── Antlr4.java
│ │ │ │ ├── ArtifactResolutionException.java
│ │ │ │ ├── ArtifactResolver.java
│ │ │ │ ├── cpp
│ │ │ │ │ ├── Cpp.java
│ │ │ │ │ └── EclipseCdt.java
│ │ │ │ ├── FileLocator.java
│ │ │ │ ├── FormatterConfig.java
│ │ │ │ ├── FormatterFactory.java
│ │ │ │ ├── FormattersHolder.java
│ │ │ │ ├── FormatterStepConfig.java
│ │ │ │ ├── FormatterStepFactory.java
│ │ │ │ ├── generic
│ │ │ │ │ ├── Biome.java
│ │ │ │ │ ├── EclipseWtp.java
│ │ │ │ │ ├── EndWithNewline.java
│ │ │ │ │ ├── Format.java
│ │ │ │ │ ├── Indent.java
│ │ │ │ │ ├── Jsr223.java
│ │ │ │ │ ├── LicenseHeader.java
│ │ │ │ │ ├── NativeCmd.java
│ │ │ │ │ ├── Prettier.java
│ │ │ │ │ ├── Replace.java
│ │ │ │ │ ├── ReplaceRegex.java
│ │ │ │ │ ├── Rome.java
│ │ │ │ │ ├── ToggleOffOn.java
│ │ │ │ │ └── TrimTrailingWhitespace.java
│ │ │ │ ├── gherkin
│ │ │ │ │ ├── Gherkin.java
│ │ │ │ │ └── GherkinUtils.java
│ │ │ │ ├── GitRatchetMaven.java
│ │ │ │ ├── go
│ │ │ │ │ ├── Gofmt.java
│ │ │ │ │ └── Go.java
│ │ │ │ ├── groovy
│ │ │ │ │ ├── GrEclipse.java
│ │ │ │ │ ├── Groovy.java
│ │ │ │ │ ├── ImportOrder.java
│ │ │ │ │ └── RemoveSemicolons.java
│ │ │ │ ├── IdeHook.java
│ │ │ │ ├── ImpactedFilesTracker.java
│ │ │ │ ├── incremental
│ │ │ │ │ ├── FileIndexConfig.java
│ │ │ │ │ ├── FileIndex.java
│ │ │ │ │ ├── IndexBasedChecker.java
│ │ │ │ │ ├── NoopChecker.java
│ │ │ │ │ ├── ObjectDigestOutputStream.java
│ │ │ │ │ ├── PluginFingerprint.java
│ │ │ │ │ ├── UpToDateChecker.java
│ │ │ │ │ └── UpToDateChecking.java
│ │ │ │ ├── java
│ │ │ │ │ ├── CleanthatJava.java
│ │ │ │ │ ├── Eclipse.java
│ │ │ │ │ ├── FormatAnnotations.java
│ │ │ │ │ ├── GoogleJavaFormat.java
│ │ │ │ │ ├── ImportOrder.java
│ │ │ │ │ ├── Java.java
│ │ │ │ │ ├── PalantirJavaFormat.java
│ │ │ │ │ └── RemoveUnusedImports.java
│ │ │ │ ├── javascript
│ │ │ │ │ ├── AbstractEslint.java
│ │ │ │ │ ├── BiomeJs.java
│ │ │ │ │ ├── EslintJs.java
│ │ │ │ │ ├── Javascript.java
│ │ │ │ │ └── RomeJs.java
│ │ │ │ ├── json
│ │ │ │ │ ├── BiomeJson.java
│ │ │ │ │ ├── Gson.java
│ │ │ │ │ ├── JacksonJson.java
│ │ │ │ │ ├── Json.java
│ │ │ │ │ ├── JsonPatch.java
│ │ │ │ │ ├── RomeJson.java
│ │ │ │ │ └── Simple.java
│ │ │ │ ├── kotlin
│ │ │ │ │ ├── Diktat.java
│ │ │ │ │ ├── Kotlin.java
│ │ │ │ │ ├── Ktfmt.java
│ │ │ │ │ └── Ktlint.java
│ │ │ │ ├── markdown
│ │ │ │ │ ├── Flexmark.java
│ │ │ │ │ └── Markdown.java
│ │ │ │ ├── MavenProvisioner.java
│ │ │ │ ├── npm
│ │ │ │ │ └── AbstractNpmFormatterStepFactory.java
│ │ │ │ ├── PluginException.java
│ │ │ │ ├── pom
│ │ │ │ │ ├── Pom.java
│ │ │ │ │ └── SortPom.java
│ │ │ │ ├── python
│ │ │ │ │ ├── Black.java
│ │ │ │ │ └── Python.java
│ │ │ │ ├── rome
│ │ │ │ │ └── AbstractRome.java
│ │ │ │ ├── scala
│ │ │ │ │ ├── Scalafmt.java
│ │ │ │ │ └── Scala.java
│ │ │ │ ├── shell
│ │ │ │ │ ├── Shell.java
│ │ │ │ │ └── Shfmt.java
│ │ │ │ ├── SpotlessApplyMojo.java
│ │ │ │ ├── SpotlessCheckMojo.java
│ │ │ │ ├── sql
│ │ │ │ │ ├── DBeaver.java
│ │ │ │ │ └── Sql.java
│ │ │ │ ├── typescript
│ │ │ │ │ ├── BiomeTs.java
│ │ │ │ │ ├── EslintTs.java
│ │ │ │ │ ├── RomeTs.java
│ │ │ │ │ ├── Tsfmt.java
│ │ │ │ │ └── Typescript.java
│ │ │ │ └── yaml
│ │ │ │ ├── JacksonYaml.java
│ │ │ │ └── Yaml.java
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── m2e
│ │ │ └── lifecycle-mapping-metadata.xml
│ │ └── test
│ │ ├── java
│ │ │ └── com
│ │ │ └── diffplug
│ │ │ └── spotless
│ │ │ └── maven
│ │ │ ├── antlr4
│ │ │ │ └── Antlr4FormatterTest.java
│ │ │ ├── biome
│ │ │ │ └── BiomeMavenTest.java
│ │ │ ├── FileLocatorTest.java
│ │ │ ├── generic
│ │ │ │ ├── EclipseWtpTest.java
│ │ │ │ ├── EndWithNewlineTest.java
│ │ │ │ ├── IndentTest.java
│ │ │ │ ├── Jsr223Test.java
│ │ │ │ ├── LicenseHeaderRatchetTest.java
│ │ │ │ ├── LicenseHeaderTest.java
│ │ │ │ ├── LineEndingsTest.java
│ │ │ │ ├── NativeCmdTest.java
│ │ │ │ ├── ReplaceRegexTest.java
│ │ │ │ ├── ReplaceTest.java
│ │ │ │ ├── ToggleOffOnTest.java
│ │ │ │ └── TrimTrailingWhitespaceTest.java
│ │ │ ├── gherkin
│ │ │ │ └── GherkinTest.java
│ │ │ ├── GitRatchetMavenTest.java
│ │ │ ├── go
│ │ │ │ └── GofmtTest.java
│ │ │ ├── groovy
│ │ │ │ ├── GrEclipseTest.java
│ │ │ │ ├── ImportOrderTest.java
│ │ │ │ └── RemoveSemicolonsTest.java
│ │ │ ├── IdeHookTest.java
│ │ │ ├── IncludesExcludesTest.java
│ │ │ ├── incremental
│ │ │ │ ├── FileIndexConfigTest.java
│ │ │ │ ├── FileIndexHarness.java
│ │ │ │ ├── FileIndexTest.java
│ │ │ │ ├── IndexBasedCheckerTest.java
│ │ │ │ ├── NoopCheckerTest.java
│ │ │ │ ├── PluginFingerprintTest.java
│ │ │ │ └── UpToDateCheckingTest.java
│ │ │ ├── java
│ │ │ │ ├── CleanthatJavaRefactorerTest.java
│ │ │ │ ├── EclipseFormatStepTest.java
│ │ │ │ ├── FormatAnnotationsStepTest.java
│ │ │ │ ├── GoogleJavaFormatTest.java
│ │ │ │ ├── ImportOrderTest.java
│ │ │ │ ├── JavaDefaultIncludesTest.java
│ │ │ │ ├── PalantirJavaFormatTest.java
│ │ │ │ └── RemoveUnusedImportsStepTest.java
│ │ │ ├── javascript
│ │ │ │ └── JavascriptFormatStepTest.java
│ │ │ ├── json
│ │ │ │ └── JsonTest.java
│ │ │ ├── kotlin
│ │ │ │ ├── DiktatTest.java
│ │ │ │ ├── KtfmtTest.java
│ │ │ │ └── KtlintTest.java
│ │ │ ├── markdown
│ │ │ │ └── FlexmarkMavenTest.java
│ │ │ ├── MavenIntegrationHarness.java
│ │ │ ├── MavenProvisionerTest.java
│ │ │ ├── MavenRunner.java
│ │ │ ├── MultiModuleProjectTest.java
│ │ │ ├── MultipleFormatsTest.java
│ │ │ ├── npm
│ │ │ │ ├── NpmFrontendMavenPlugin.java
│ │ │ │ ├── NpmStepsWithNpmInstallCacheTest.java
│ │ │ │ └── NpmTestsWithDynamicallyInstalledNpmInstallationTest.java
│ │ │ ├── pom
│ │ │ │ └── SortPomMavenTest.java
│ │ │ ├── prettier
│ │ │ │ └── PrettierFormatStepTest.java
│ │ │ ├── rome
│ │ │ │ └── RomeMavenTest.java
│ │ │ ├── scala
│ │ │ │ └── ScalafmtTest.java
│ │ │ ├── shell
│ │ │ │ └── ShellTest.java
│ │ │ ├── SpecificFilesTest.java
│ │ │ ├── SpotlessCheckMojoTest.java
│ │ │ ├── sql
│ │ │ │ └── SqlTest.java
│ │ │ ├── typescript
│ │ │ │ └── TypescriptFormatStepTest.java
│ │ │ └── yaml
│ │ │ └── YamlTest.java
│ │ └── resources
│ │ ├── multi-module
│ │ │ ├── pom-child.xml.mustache
│ │ │ ├── pom-config.xml.mustache
│ │ │ └── pom-parent.xml.mustache
│ │ ├── mvnw
│ │ ├── mvnw.cmd
│ │ ├── pom-test-management.xml.mustache
│ │ └── pom-test.xml.mustache
│ └── taskGraph.pdf
├── PULL_REQUEST_TEMPLATE.md
├── README.md
├── RELEASE_CHECKLIST.md
├── renovate.json
├── SECURITY.md
├── settings.gradle
└── testlib
├── build.gradle
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── diffplug
│ │ └── spotless
│ │ ├── ClearGitConfig.java
│ │ ├── JreVersion.java
│ │ ├── npm
│ │ │ └── EslintStyleGuide.java
│ │ ├── ReflectionUtil.java
│ │ ├── ResourceHarness.java
│ │ ├── SerializableEqualityTester.java
│ │ ├── StepHarnessBase.java
│ │ ├── StepHarness.java
│ │ ├── StepHarnessWithFile.java
│ │ ├── tag
│ │ │ ├── BlackTest.java
│ │ │ ├── BufTest.java
│ │ │ ├── ClangTest.java
│ │ │ ├── GofmtTest.java
│ │ │ ├── NpmTest.java
│ │ │ └── ShfmtTest.java
│ │ └── TestProvisioner.java
│ └── resources
│ ├── antlr4
│ │ ├── Hello.formatted.g4
│ │ └── Hello.unformatted.g4
│ ├── biome
│ │ ├── config
│ │ │ ├── line-width-120.json
│ │ │ └── line-width-80.json
│ │ ├── js
│ │ │ ├── fileAfter.cjs
│ │ │ ├── fileAfter.js
│ │ │ ├── fileAfter.jsx
│ │ │ ├── fileAfter.mjs
│ │ │ ├── fileBefore.cjs
│ │ │ ├── fileBefore.js
│ │ │ ├── fileBefore.jsx
│ │ │ ├── fileBefore.mjs
│ │ │ ├── longLineAfter120.js
│ │ │ ├── longLineAfter80.js
│ │ │ └── longLineBefore.js
│ │ ├── json
│ │ │ ├── fileAfter.json
│ │ │ ├── fileBefore.json
│ │ │ ├── packageAfter.json
│ │ │ ├── packageBefore.json
│ │ │ └── package.json
│ │ └── ts
│ │ ├── fileAfter.cts
│ │ ├── fileAfter.mts
│ │ ├── fileAfter.ts
│ │ ├── fileAfter.tsx
│ │ ├── fileBefore.cts
│ │ ├── fileBefore.mts
│ │ ├── fileBefore.ts
│ │ └── fileBefore.tsx
│ ├── clang
│ │ ├── example.c
│ │ ├── example.c.clean
│ │ ├── example.cs
│ │ ├── example.cs.clean
│ │ ├── example.java.clean
│ │ ├── example.java.dirty
│ │ ├── example.js
│ │ ├── example.js.clean
│ │ ├── example.m
│ │ ├── example.m.clean
│ │ ├── example.proto
│ │ └── example.proto.clean
│ ├── com
│ │ └── diffplug
│ │ └── spotless
│ │ └── extra
│ │ └── config
│ │ └── test_configuration
│ │ ├── v0.0.1.lockfile
│ │ ├── v0.1.0.lockfile
│ │ └── v1.0.0.lockfile
│ ├── combined
│ │ ├── issue1679.clean
│ │ └── issue1679.dirty
│ ├── extra
│ │ └── config
│ │ ├── coordinates_valid.lockfile
│ │ ├── dependencies_old.lockfile
│ │ └── preferences.properties
│ ├── formatter
│ │ └── properties
│ │ ├── invalid_xml_profiles_multiple.xml
│ │ ├── invalid_xml_profiles.xml
│ │ ├── invalid_xml_profiles_zero.xml
│ │ ├── invalid_xml_properties.xml
│ │ ├── valid_line_oriented.prefs
│ │ ├── valid_line_oriented.properties
│ │ ├── valid_xml_profiles.xml
│ │ └── valid_xml_properties.xml
│ ├── freshmark
│ │ ├── FreshMarkFormatted.test
│ │ └── FreshMarkUnformatted.test
│ ├── gherkin
│ │ ├── complex_backgroundAfter.feature
│ │ ├── complex_backgroundBefore.feature
│ │ ├── descriptionsAfter.feature
│ │ ├── descriptionsBefore.feature
│ │ ├── emptyAfter.feature
│ │ ├── emptyBefore.feature
│ │ ├── invalidGherkinAfter.feature
│ │ ├── invalidGherkinBefore.feature
│ │ ├── minimalAfter0Spaces.feature
│ │ ├── minimalAfter6Spaces.feature
│ │ ├── minimalAfter.feature
│ │ ├── minimalBefore.feature
│ │ ├── notGherkinAfter.feature
│ │ ├── notGherkinBefore.feature
│ │ ├── rule_with_tagAfter.feature
│ │ └── rule_with_tagBefore.feature
│ ├── go
│ │ └── gofmt
│ │ ├── go.clean
│ │ └── go.dirty
│ ├── groovy
│ │ ├── greclipse
│ │ │ └── format
│ │ │ ├── exception.test
│ │ │ ├── formatted.test
│ │ │ ├── greclipse.exception
│ │ │ ├── greclipse.properties
│ │ │ ├── SomeClass.fixed
│ │ │ ├── SomeClass.test
│ │ │ └── unformatted.test
│ │ └── removeSemicolons
│ │ ├── GroovyCodeWithSemicolonsFormatted.test
│ │ └── GroovyCodeWithSemicolons.test
│ ├── indent
│ │ ├── IndentedWithSpace.test
│ │ └── IndentedWithTab.test
│ ├── java
│ │ ├── cleanthat
│ │ │ ├── LiteralsFirstInComparisons.clean.test
│ │ │ ├── LiteralsFirstInComparisons.dirty.test
│ │ │ ├── MultipleMutators.clean.onlyLiteralsFirst.test
│ │ │ ├── MultipleMutators.clean.onlyOptionalIsPresent.test
│ │ │ ├── MultipleMutators.clean.test
│ │ │ └── MultipleMutators.dirty.test
│ │ ├── eclipse
│ │ │ ├── AbstractType.clean
│ │ │ ├── AbstractType.test
│ │ │ ├── formatter.xml
│ │ │ ├── HtmlPreTagFormatted.test
│ │ │ ├── HtmlPreTagUnformatted.test
│ │ │ ├── JavaCodeFormatted.test
│ │ │ ├── JavaCodeUnformatted.test
│ │ │ ├── long_literals
│ │ │ │ ├── Example1.test
│ │ │ │ ├── Example2.test
│ │ │ │ └── spotless.eclipseformat.xml
│ │ │ ├── ModuleInfoFormatted.test
│ │ │ ├── ModuleInfo.prefs
│ │ │ └── ModuleInfoUnformatted.test
│ │ ├── formatannotations
│ │ │ ├── FormatAnnotationsAccessModifiersInput.test
│ │ │ ├── FormatAnnotationsAccessModifiersOutput.test
│ │ │ ├── FormatAnnotationsAddRemoveInput.test
│ │ │ ├── FormatAnnotationsAddRemoveOutput.test
│ │ │ ├── FormatAnnotationsInCommentsInput.test
│ │ │ ├── FormatAnnotationsInCommentsOutput.test
│ │ │ ├── FormatAnnotationsTestInput.test
│ │ │ └── FormatAnnotationsTestOutput.test
│ │ ├── googlejavaformat
│ │ │ ├── JavaCodeFormatted18.test
│ │ │ ├── JavaCodeFormattedAOSP.test
│ │ │ ├── JavaCodeFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeFormattedSkipJavadocFormatting.test
│ │ │ ├── JavaCodeFormatted.test
│ │ │ ├── JavaCodeUnformatted.test
│ │ │ ├── JavaCodeWithLicenseFormattedAOSP.test
│ │ │ ├── JavaCodeWithLicenseFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeWithLicenseFormatted.test
│ │ │ ├── JavaCodeWithLicensePackageFormattedAOSP.test
│ │ │ ├── JavaCodeWithLicensePackageFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeWithLicensePackageFormatted.test
│ │ │ ├── JavaCodeWithLicensePackageUnformatted.test
│ │ │ ├── JavaCodeWithLicenseUnformatted.test
│ │ │ ├── JavaCodeWithPackageFormattedAOSP.test
│ │ │ ├── JavaCodeWithPackageFormattedReflowLongStrings.test
│ │ │ ├── JavaCodeWithPackageFormatted.test
│ │ │ ├── JavaCodeWithPackageUnformatted.test
│ │ │ ├── JavaWithReorderImportsDisabledFormatted.test
│ │ │ ├── JavaWithReorderImportsEnabledFormatted.test
│ │ │ ├── JavaWithReorderImportsUnformatted.test
│ │ │ ├── TextBlock.clean
│ │ │ └── TextBlock.dirty
│ │ ├── importsorter
│ │ │ ├── GroovyCodeSortedMisplacedImportsDefault.test
│ │ │ ├── GroovyCodeSortedMisplacedImports.test
│ │ │ ├── GroovyCodeUnsortedMisplacedImports.test
│ │ │ ├── import.properties
│ │ │ ├── import_unmatched.properties
│ │ │ ├── JavaCodeEmptyFile.test
│ │ │ ├── JavaCodeImportComments.test
│ │ │ ├── JavaCodeSortedDuplicateImportsUnmatched.test
│ │ │ ├── JavaCodeSortedImportsDefault.test
│ │ │ ├── JavaCodeSortedImportsSubgroupsLeadingCatchAll.test
│ │ │ ├── JavaCodeSortedImportsSubgroups.test
│ │ │ ├── JavaCodeSortedImports.test
│ │ │ ├── JavaCodeSortedImportsUnmatched.test
│ │ │ ├── JavaCodeSortedImportsWildcardsLast.test
│ │ │ ├── JavaCodeSortedLexicographic.test
│ │ │ ├── JavaCodeSortedMisplacedImports.test
│ │ │ ├── JavaCodeSortedSemanticSort.test
│ │ │ ├── JavaCodeUnsortedImportsSubgroups.test
│ │ │ ├── JavaCodeUnsortedImports.test
│ │ │ ├── JavaCodeUnsortedImportsUnmatched.test
│ │ │ ├── JavaCodeUnsortedMisplacedImports.test
│ │ │ └── JavaCodeUnsortedSemanticSort.test
│ │ ├── palantirjavaformat
│ │ │ ├── JavaCodeFormattedGoogle.test
│ │ │ ├── JavaCodeFormatted.test
│ │ │ ├── JavaCodeUnformatted.test
│ │ │ ├── JavaCodeWithJavaDocFormatted.test
│ │ │ ├── JavaCodeWithJavaDocUnformatted.test
│ │ │ ├── JavaCodeWithLicenseFormattedGoogle.test
│ │ │ ├── JavaCodeWithLicenseFormatted.test
│ │ │ ├── JavaCodeWithLicenseUnformatted.test
│ │ │ ├── JavaCodeWithPackageFormattedGoogle.test
│ │ │ ├── JavaCodeWithPackageFormatted.test
│ │ │ ├── JavaCodeWithPackageUnformatted.test
│ │ │ ├── TextBlock.clean
│ │ │ └── TextBlock.dirty
│ │ └── removeunusedimports
│ │ ├── JavaCodeFormatted.test
│ │ ├── JavaCodeUnformatted.test
│ │ ├── JavaCodeWithLicenseFormatted.test
│ │ ├── JavaCodeWithLicensePackageFormatted.test
│ │ ├── JavaCodeWithLicensePackageUnformatted.test
│ │ ├── JavaCodeWithLicenseUnformatted.test
│ │ ├── JavaCodeWithPackageFormatted.test
│ │ ├── JavaCodeWithPackageUnformatted.test
│ │ ├── Jdk17TextBlockFormatted.test
│ │ ├── Jdk17TextBlockUnformatted.test
│ │ ├── RevelcFormatted.test
│ │ ├── RevelcUnformatted.test
│ │ ├── SealedClassTestsFormatted.test
│ │ └── SealedClassTestsUnformatted.test
│ ├── json
│ │ ├── cucumberJsonSampleAfter.json
│ │ ├── cucumberJsonSampleBefore.json
│ │ ├── cucumberJsonSampleGsonAfter.json
│ │ ├── cucumberJsonSampleGsonBefore.json
│ │ ├── emptyAfter.json
│ │ ├── emptyBefore.json
│ │ ├── escapeHtmlGsonAfterDisabled.json
│ │ ├── escapeHtmlGsonAfter.json
│ │ ├── escapeHtmlGsonBefore.json
│ │ ├── invalidJsonAfter.json
│ │ ├── invalidJsonBefore.json
│ │ ├── nestedObjectAfter.json
│ │ ├── nestedObjectBefore.json
│ │ ├── notJsonAfter.json
│ │ ├── notJsonBefore.json
│ │ ├── objectWithNullAfter.json
│ │ ├── objectWithNullBefore.json
│ │ ├── objectWithNullGsonAfter.json
│ │ ├── objectWithNullGsonBefore.json
│ │ ├── patchObjectAfterReplaceString.json
│ │ ├── patchObjectAfterReplaceWithObject.json
│ │ ├── patchObjectBefore.json
│ │ ├── singletonArrayAfter0Spaces.json
│ │ ├── singletonArrayAfter6Spaces.json
│ │ ├── singletonArrayAfter_Jackson.json
│ │ ├── singletonArrayAfter.json
│ │ ├── singletonArrayAfterTabs.json
│ │ ├── singletonArrayBefore.json
│ │ ├── singletonObjectAfter.json
│ │ ├── singletonObjectBefore.json
│ │ ├── singletonObjectWithArrayAfter.json
│ │ ├── singletonObjectWithArrayBefore.json
│ │ ├── sortByKeysAfterDisabled.json
│ │ ├── sortByKeysAfterDisabled_Simple.json
│ │ ├── sortByKeysAfter_Jackson.json
│ │ ├── sortByKeysAfter_Jackson_spaceAfterKeySeparator.json
│ │ ├── sortByKeysAfter.json
│ │ └── sortByKeysBefore.json
│ ├── kotlin
│ │ ├── diktat
│ │ │ ├── basic.clean
│ │ │ ├── basic.dirty
│ │ │ ├── diktat-analysis.yml
│ │ │ ├── main.clean
│ │ │ ├── main.dirty
│ │ │ └── Unsolvable.kt
│ │ ├── ktfmt
│ │ │ ├── basic.clean
│ │ │ ├── basic.dirty
│ │ │ ├── basic-dropbox-style.clean
│ │ │ ├── basic-dropboxstyle.clean
│ │ │ ├── continuation.clean
│ │ │ ├── continuation.dirty
│ │ │ ├── dropboxstyle.clean
│ │ │ ├── dropboxstyle.dirty
│ │ │ ├── max-width.clean
│ │ │ ├── max-width.dirty
│ │ │ └── max-width-dropbox.clean
│ │ ├── ktlint
│ │ │ ├── basic.clean
│ │ │ ├── basic.clean-indent6
│ │ │ ├── basic.dirty
│ │ │ ├── basic-old.clean
│ │ │ ├── experimental.clean
│ │ │ ├── experimental.dirty
│ │ │ ├── experimentalEditorConfigOverride.clean
│ │ │ ├── experimentalEditorConfigOverride.dirty
│ │ │ ├── experimentalEditorConfigOverride.ktlintOfficial.clean
│ │ │ ├── intellij_idea
│ │ │ ├── ktlint_official
│ │ │ ├── listScreen.dirty
│ │ │ └── unsolvable.dirty
│ │ └── licenseheader
│ │ ├── KotlinCodeWithMultiYearHeader2.test
│ │ ├── KotlinCodeWithMultiYearHeader.test
│ │ ├── KotlinCodeWithoutHeaderKtfmt.test
│ │ └── KotlinCodeWithoutHeader.test
│ ├── license
│ │ ├── FileWithoutLicenseHeader.test
│ │ ├── HasLicense.test
│ │ ├── HelloWorld_java.test
│ │ ├── HelloWorld_withImport_java.test
│ │ ├── MissingLicense.test
│ │ ├── module-info.java.test
│ │ ├── module-info.test
│ │ ├── package-info.java.test
│ │ ├── SkipLinesHasLicense.test
│ │ ├── SkipLines.test
│ │ └── TestLicense
│ ├── markdown
│ │ └── flexmark
│ │ ├── FlexmarkFormatted.md
│ │ └── FlexmarkUnformatted.md
│ ├── native_cmd
│ │ ├── clean.txt
│ │ └── dirty.txt
│ ├── npm
│ │ ├── eslint
│ │ │ ├── config
│ │ │ │ ├── typescript.configfile.clean
│ │ │ │ ├── typescript.defaults.clean
│ │ │ │ ├── typescript.dirty
│ │ │ │ └── typescript.override.clean
│ │ │ ├── javascript
│ │ │ │ ├── custom_rules
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ └── styleguide
│ │ │ │ ├── airbnb
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ ├── standard
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ └── xo
│ │ │ │ ├── javascript-es6.clean
│ │ │ │ └── javascript-es6.dirty
│ │ │ └── typescript
│ │ │ ├── custom_rules
│ │ │ │ ├── typescript.clean
│ │ │ │ └── typescript.dirty
│ │ │ └── styleguide
│ │ │ ├── standard_with_typescript
│ │ │ │ ├── tsconfig.json
│ │ │ │ ├── typescript.clean
│ │ │ │ └── typescript.dirty
│ │ │ └── xo
│ │ │ ├── tsconfig.json
│ │ │ ├── typescript.clean
│ │ │ └── typescript.dirty
│ │ ├── prettier
│ │ │ ├── config
│ │ │ │ ├── typescript.configfile_prettier_2.clean
│ │ │ │ ├── typescript.configfile_prettier_3.clean
│ │ │ │ ├── typescript.defaults_prettier_2.clean
│ │ │ │ ├── typescript.defaults_prettier_3.clean
│ │ │ │ ├── typescript.dirty
│ │ │ │ ├── typescript.override_prettier_2.clean
│ │ │ │ └── typescript.override_prettier_3.clean
│ │ │ ├── filename
│ │ │ │ ├── clean.json
│ │ │ │ └── dirty.json
│ │ │ ├── filetypes
│ │ │ │ ├── css
│ │ │ │ │ ├── css.clean
│ │ │ │ │ └── css.dirty
│ │ │ │ ├── html
│ │ │ │ │ ├── html.clean
│ │ │ │ │ └── html.dirty
│ │ │ │ ├── html_prettier3
│ │ │ │ │ ├── html_prettier3.clean
│ │ │ │ │ └── html_prettier3.dirty
│ │ │ │ ├── javascript-es5
│ │ │ │ │ ├── javascript-es5.clean
│ │ │ │ │ └── javascript-es5.dirty
│ │ │ │ ├── javascript-es6
│ │ │ │ │ ├── javascript-es6.clean
│ │ │ │ │ └── javascript-es6.dirty
│ │ │ │ ├── json
│ │ │ │ │ ├── json.clean
│ │ │ │ │ └── json.dirty
│ │ │ │ ├── markdown
│ │ │ │ │ ├── markdown.clean
│ │ │ │ │ └── markdown.dirty
│ │ │ │ ├── scss
│ │ │ │ │ ├── scss.clean
│ │ │ │ │ └── scss.dirty
│ │ │ │ ├── tsx
│ │ │ │ │ ├── tsx.clean
│ │ │ │ │ └── tsx.dirty
│ │ │ │ ├── typescript
│ │ │ │ │ ├── typescript.clean
│ │ │ │ │ └── typescript.dirty
│ │ │ │ └── yaml
│ │ │ │ ├── yaml.clean
│ │ │ │ └── yaml.dirty
│ │ │ └── plugins
│ │ │ ├── java-test.clean
│ │ │ ├── java-test.dirty
│ │ │ ├── php.clean
│ │ │ └── php.dirty
│ │ └── tsfmt
│ │ ├── tsconfig
│ │ │ ├── tsconfig.clean
│ │ │ ├── tsconfig.dirty
│ │ │ └── tsconfig.json
│ │ ├── tsfmt
│ │ │ ├── tsfmt.clean
│ │ │ ├── tsfmt.dirty
│ │ │ └── tsfmt.json
│ │ ├── tslint
│ │ │ ├── tslint.clean
│ │ │ ├── tslint.dirty
│ │ │ └── tslint.json
│ │ └── vscode
│ │ ├── vscode.clean
│ │ ├── vscode.dirty
│ │ └── vscode.json
│ ├── pom
│ │ ├── pom_clean_default.xml
│ │ └── pom_dirty.xml
│ ├── protobuf
│ │ └── buf
│ │ ├── buf.proto
│ │ ├── buf.proto.clean
│ │ ├── license.proto
│ │ └── license.proto.clean
│ ├── python
│ │ └── black
│ │ ├── black.clean
│ │ └── black.dirty
│ ├── rome
│ │ ├── config
│ │ │ ├── line-width-120.json
│ │ │ └── line-width-80.json
│ │ ├── js
│ │ │ ├── fileAfter.cjs
│ │ │ ├── fileAfter.js
│ │ │ ├── fileAfter.jsx
│ │ │ ├── fileAfter.mjs
│ │ │ ├── fileBefore.cjs
│ │ │ ├── fileBefore.js
│ │ │ ├── fileBefore.jsx
│ │ │ ├── fileBefore.mjs
│ │ │ ├── longLineAfter120.js
│ │ │ ├── longLineAfter80.js
│ │ │ └── longLineBefore.js
│ │ ├── json
│ │ │ ├── fileAfter.json
│ │ │ └── fileBefore.json
│ │ └── ts
│ │ ├── fileAfter.cts
│ │ ├── fileAfter.mts
│ │ ├── fileAfter.ts
│ │ ├── fileAfter.tsx
│ │ ├── fileBefore.cts
│ │ ├── fileBefore.mts
│ │ ├── fileBefore.ts
│ │ └── fileBefore.tsx
│ ├── scala
│ │ └── scalafmt
│ │ ├── basic.clean_3.0.0
│ │ ├── basic.cleanWithCustomConf_3.0.0
│ │ ├── basic.dirty
│ │ ├── basicPost3.0.0.clean
│ │ ├── basicPost3.0.0.cleanWithCustomConf
│ │ ├── scalafmt2.conf
│ │ ├── scalafmt.conf
│ │ └── scalafmt.invalid.conf
│ ├── shell
│ │ └── shfmt
│ │ ├── shfmt.clean
│ │ └── shfmt.sh
│ ├── sql
│ │ └── dbeaver
│ │ ├── alter-table.clean
│ │ ├── alter-table.dirty
│ │ ├── create.clean
│ │ ├── create.clean.alternative
│ │ ├── create.dirty
│ │ ├── full.clean
│ │ ├── full.dirty
│ │ ├── jdbi-params.clean
│ │ ├── jdbi-params.dirty
│ │ ├── sqlConfig2.properties
│ │ ├── sqlConfig.properties
│ │ ├── V1_initial.sql.clean
│ │ └── V1_initial.sql.dirty
│ └── yaml
│ ├── array_at_root.clean.yaml
│ ├── array_at_root.yaml
│ ├── array_with_bracket.clean.no_start_marker.no_quotes.yaml
│ ├── array_with_bracket.clean.yaml
│ ├── array_with_bracket.yaml
│ ├── multiple_documents.clean.jackson.yaml
│ ├── multiple_documents.clean.yaml
│ ├── multiple_documents.yaml
│ ├── separator_comments.clean.yaml
│ └── separator_comments.yaml
└── test
└── java
└── com
└── diffplug
└── spotless
├── antlr4
│ └── Antlr4FormatterStepTest.java
├── combined
│ └── CombinedJavaFormatStepTest.java
├── cpp
│ ├── ClangFormatStepTest.java
│ └── CppDefaultsTest.java
├── EncodingErrorMsgTest.java
├── FileSignatureTest.java
├── FilterByFileFormatterStepTest.java
├── FormatterPropertiesTest.java
├── FormatterTest.java
├── generic
│ ├── EndWithNewlineStepTest.java
│ ├── FenceStepTest.java
│ ├── IndentStepTest.java
│ ├── LicenseHeaderStepTest.java
│ ├── PipeStepPairTest.java
│ └── TrimTrailingWhitespaceStepTest.java
├── gherkin
│ └── GherkinUtilsStepTest.java
├── go
│ └── GofmtFormatStepTest.java
├── java
│ ├── FormatAnnotationsStepTest.java
│ ├── GoogleJavaFormatStepTest.java
│ ├── ImportOrderStepTest.java
│ ├── PalantirJavaFormatStepTest.java
│ ├── RemoveUnusedImportsStep_withCleanthatJavaparserTest.java
│ └── RemoveUnusedImportsStep_withGoogleJavaFormatTest.java
├── json
│ ├── gson
│ │ └── GsonStepTest.java
│ ├── JacksonJsonStepTest.java
│ ├── JsonFormatterStepCommonTests.java
│ └── JsonSimpleStepTest.java
├── JvmTest.java
├── kotlin
│ ├── DiktatStepTest.java
│ ├── KtfmtStepTest.java
│ └── KtLintStepTest.java
├── LazyForwardingEqualityTest.java
├── markdown
│ ├── FlexmarkStepTest.java
│ └── FreshMarkStepTest.java
├── npm
│ ├── EslintFormatterStepTest.java
│ ├── JsonWriterTest.java
│ ├── NpmFormatterStepCommonTests.java
│ ├── PrettierFormatterStepTest.java
│ ├── ShadowCopyTest.java
│ └── TsFmtFormatterStepTest.java
├── PaddedCellTest.java
├── pom
│ └── SortPomTest.java
├── protobuf
│ └── BufStepTest.java
├── ProvisionerTest.java
├── python
│ └── BlackStepTest.java
├── rome
│ └── RomeStepTest.java
├── scala
│ └── ScalaFmtStepTest.java
├── shell
│ └── ShfmtStepTest.java
└── sql
└── DBeaverSQLFormatterStepTest.java
519 directories, 1044 files
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论