in src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/cli/execution/TerminalCommandExecutor.kt [16:30]
override suspend fun doExecute(command: CliCommand): CliCommandResult? {
return try {
val processCompletion = CompletableDeferred<CliCommandResult>()
val processHandler = createProcessHandler(command, processCompletion)
withUiContext {
val consoleView = TerminalExecutionConsole(intellijProject, processHandler)
toolWindowProvider.createTab(command, consoleView)
}
logger.info("Starting process '${command.commandLine.commandLineString}'")
processHandler.startNotify()
processCompletion.await()
} catch (cancellation: CancellationException) {
null
}
}