in tutorials/checker/build.gradle.kts [8:39]
fun findSnippets(dirs: List<String>): List<SnippetData> {
val snippets = mutableListOf<SnippetData>()
dirs.forEach { dirName ->
val dir = rootProject
.projectDir
.parentFile
.resolve(dirName)
.listFiles()?.let {
it.filter { it.name.endsWith(".md") }
.forEach { file ->
val currentSnippet = kotlin.text.StringBuilder()
var snippetStart = 0
var lineNumber = 0
file.forEachLine { line ->
lineNumber++
if (line == "```kotlin")
snippetStart = lineNumber + 1
else if (line == "```" && snippetStart != 0) {
snippets.add(SnippetData(file, snippetStart, currentSnippet.toString()))
snippetStart = 0
currentSnippet.clear()
} else {
if (snippetStart != 0) {
currentSnippet.appendLine(line)
}
}
}
}
}
}
return snippets
}