in bunch-cli/src/main/kotlin/org/jetbrains/bunches/stats.kt [86:104]
fun doDirStats(path: String) {
val (statsDir, gitRoot) = fetchStatsDirs(path)
val extensions = readExtensionsFromFile(gitRoot).resultWithExit()
val gitignoreParseResult = parseGitIgnore(gitRoot)
val bunchFiles = statsDir
.walkTopDown()
.onEnter { dir -> !shouldIgnoreDir(dir, gitRoot, gitignoreParseResult) }
.filter { child -> child.extension in extensions }
.toList()
val groupedFiles = bunchFiles.groupBy { it.extension }
val affectedOriginFiles: Set<File> =
bunchFiles.mapTo(HashSet()) { child -> File(child.parentFile, child.nameWithoutExtension) }
printDirResults(statsDir, affectedOriginFiles, bunchFiles, extensions, groupedFiles)
}