Skip to content

Commit b21925a

Browse files
committed
fix(devins-lang): improve process handler creation for IDE 222 version
Improve the creation of process handler for better efficiency and reliability. Replace the old method with a more concise and efficient implementation, guaranteeing proper handling of the output.
1 parent 8a641b1 commit b21925a

File tree

1 file changed

+11
-11
lines changed
  • exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/compiler/exec

1 file changed

+11
-11
lines changed

exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/compiler/exec/ShellInsCommand.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,14 @@ import com.intellij.execution.DefaultExecutionResult
55
import com.intellij.execution.ExecutionException
66
import com.intellij.execution.configurations.*
77
import com.intellij.execution.process.KillableProcessHandler
8-
import com.intellij.execution.process.ProcessHandler
98
import com.intellij.execution.process.ProcessTerminatedListener
10-
import com.intellij.execution.runners.ExecutionEnvironment
11-
import com.intellij.execution.runners.ProgramRunner
129
import com.intellij.execution.ui.ConsoleView
13-
import com.intellij.execution.ui.RunContentDescriptor
14-
import com.intellij.execution.ui.RunContentManager
1510
import com.intellij.openapi.application.ApplicationManager
16-
import com.intellij.openapi.fileEditor.FileDocumentManager
1711
import com.intellij.openapi.project.Project
1812
import com.intellij.sh.run.ShConfigurationType
1913
import com.intellij.sh.run.ShRunner
2014
import com.intellij.terminal.TerminalExecutionConsole
15+
import com.intellij.util.io.BaseDataReader
2116
import com.intellij.util.io.BaseOutputReader
2217

2318
class ShellInsCommand(val myProject: Project, val prop: String) : InsCommand {
@@ -65,11 +60,16 @@ class ShellInsCommand(val myProject: Project, val prop: String) : InsCommand {
6560
}
6661

6762
@Throws(ExecutionException::class)
68-
private fun createProcessHandler(commandLine: GeneralCommandLine): ProcessHandler {
69-
return object : KillableProcessHandler(commandLine) {
70-
override fun readerOptions(): BaseOutputReader.Options {
71-
return BaseOutputReader.Options.forTerminalPtyProcess()
63+
private fun createProcessHandler(commandLine: GeneralCommandLine) =
64+
object : KillableProcessHandler(commandLine) {
65+
override fun readerOptions() = object : BaseOutputReader.Options() {
66+
override fun policy(): BaseDataReader.SleepingPolicy {
67+
return BaseDataReader.SleepingPolicy.BLOCKING
68+
}
69+
70+
override fun splitToLines(): Boolean {
71+
return false
72+
}
7273
}
7374
}
74-
}
7575
}

0 commit comments

Comments
 (0)