Skip to content

Commit c17776b

Browse files
committed
fix(container): refactor DockerContextProvider to use PsiFileImpl #306
Replace PsiTreeUtil with PsiFileImpl to find children by class in DockerContextProvider. Remove unused Docker plugin dependency in build.gradle.kts. Simplify ChatContextItem collection in TestCodeGenTask
1 parent 72a697f commit c17776b

File tree

3 files changed

+5
-7
lines changed

3 files changed

+5
-7
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -644,7 +644,7 @@ project(":exts:ext-container") {
644644
dependencies {
645645
intellijPlatform {
646646
intellijIde(prop("ideaVersion"))
647-
intellijPlugins(ideaPlugins + prop("devContainerPlugin") + "Docker")
647+
intellijPlugins(ideaPlugins + prop("devContainerPlugin"))
648648
}
649649

650650
implementation(project(":core"))

core/src/main/kotlin/cc/unitmesh/devti/intentions/action/task/TestCodeGenTask.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ class TestCodeGenTask(val request: TestCodeGenRequest, displayMessage: String) :
7171
val creationContext =
7272
ChatCreationContext(ChatOrigin.Intention, actionType, request.file, listOf(), element = request.element)
7373

74-
val contextItems: List<ChatContextItem> = runBlocking {
75-
return@runBlocking ChatContextProvider.collectChatContextList(request.project, creationContext)
76-
}
74+
val contextItems: List<ChatContextItem> = ChatContextProvider.collectChatContextList(request.project, creationContext)
7775

7876
testPromptContext.frameworkContext = contextItems.joinToString("\n", transform = ChatContextItem::text)
7977
ReadAction.compute<Unit, Throwable> {

exts/ext-container/src/233/main/kotlin/cc/unitmesh/container/provider/DockerContextProvider.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import com.intellij.openapi.application.runReadAction
1010
import com.intellij.openapi.diagnostic.logger
1111
import com.intellij.openapi.project.Project
1212
import com.intellij.psi.PsiManager
13-
import com.intellij.psi.util.PsiTreeUtil
13+
import com.intellij.psi.impl.source.PsiFileImpl
1414

1515
class DockerContextProvider : ChatContextProvider {
1616
private val fromRegex = Regex("FROM\\s+((?:--platform=[^\\s]+\\s+)?[^\\s]+)(?:\\s+AS\\s+([^\\s]+))?")
@@ -37,8 +37,8 @@ class DockerContextProvider : ChatContextProvider {
3737

3838
var additionalCtx = ""
3939
try {
40-
val fromCommands = dockerFiles.mapNotNull {
41-
PsiTreeUtil.getChildrenOfType(it, DockerFileFromCommand::class.java)?.toList()
40+
val fromCommands = dockerFiles.map {
41+
(it as PsiFileImpl).findChildrenByClass(DockerFileFromCommand::class.java).toList()
4242
}.flatten()
4343

4444
if (fromCommands.isEmpty()) return listOf(ChatContextItem(DockerContextProvider::class, context))

0 commit comments

Comments
 (0)