Kotlin linter in spirit of feross/standard (JavaScript) and gofmt (Go).
- No configuration required
ktlint
aims to capture the official Kotlin coding conventions and Android Kotlin Style Guide. In some aspectsktlint
is a bit more strict*. - Rule sets
ktlint
offers astandard
and anexperimental
rule set. Next to this, it is easy to provide custom rule sets. - .editorconfig
Some rules do allow further configuration, but in all cases a reasonable default is set when not provided.ktlint
primarily uses the .editorconfig file to read default.editorconfig
, IntelliJ IDEA specific and Ktlint specific properties. - Disable rules
If need be, rules can be disabled easily*. - Built-in formatter
Most lint violations don't need to be fixed manually.ktlint
has a built-in formatter which fixes violations when possible. Some violations can not be fixed in a deterministic way, and need manual action. - Customizable output
Several reporters are available out-of-the-box:plain
(+plain?group_by_file
),json
,html
andcheckstyle
. It's also easy to create a custom reporter. - Executable jar
ktlint
is releases as a single executable jar with all dependencies included.
This project is not affiliated with nor endorsed by JetBrains.
All code, unless specified otherwise, is licensed under the MIT license.
Copyright (c) 2019 Pinterest, Inc.
Copyright (c) 2016-2019 Stanley Shyiko.