in src/main/kotlin/org/jetbrains/mcpserverplugin/general/fileTools.kt [42:61]
override fun handle(project: Project, args: ListDirectoryTreeInFolderArgs): Response {
val projectDir = project.guessProjectDir()?.toNioPathOrNull()
?: return Response(error = "can't find project dir")
return runReadAction {
try {
val targetDir = projectDir.resolveRel(args.pathInProject)
if (!targetDir.exists()) {
return@runReadAction Response(error = "directory not found")
}
val entryTree = buildDirectoryTree(projectDir, targetDir, args.maxDepth)
val jsonTree = entryTreeToJson(entryTree)
Response(jsonTree)
} catch (e: Exception) {
Response(error = "Error creating directory tree: ${e.message}")
}
}
}