Skip to content
  • Beginner

ktlint

ktlint lets you configure things like disabling lint rules through the .editorconfig file.

We recommend declaring .editorconfig and the baseline (ktlint-baseline.xml) in your architecture definition so katachi knows about them.

ProjectArchitecture.kt
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApi
import me.tbsten.katachi.dsl.architecture
val projectArchitecture = architecture {
"Tools".group {
ktlint()
}
}
// roles/Ktlint.kt
@file:OptIn(ExperimentalKatachiApi::class)
import me.tbsten.katachi.ExperimentalKatachiApi
import me.tbsten.katachi.dsl.DeclarationContainerScope
fun DeclarationContainerScope.ktlint() =
"Ktlint".group {
"EditorConfig" {
title = "EditorConfig"
summary = "The file that configures ktlint's rules"
layout {
"**/.editorconfig".file()
}
}
"Baseline" {
title = "ktlint baseline"
summary = "The file ktlint writes out to tolerate existing violations"
layout {
"**/ktlint-baseline.xml".file()
}
}
}