override suspend fun doExecute()

in src/rider/main/kotlin/com/jetbrains/rider/plugins/efcore/cli/execution/SilentCommandExecutor.kt [18:45]


    override suspend fun doExecute(command: CliCommand): CliCommandResult {
        return withBackgroundProgress(intellijProject, EfCoreUiBundle.message("progress.title.executing.ef.core.command"), false) {
            indeterminateStep {
                try {
                    val executionResult = ExecUtil.execAndGetOutput(command.commandLine)
                    val output = executionResult.stdout
                    val error = executionResult.stderr
                    val exitCode = executionResult.exitCode
                    val result = CliCommandResult(
                        command.commandLine.commandLineString,
                        exitCode,
                        output,
                        exitCode == 0,
                        error
                    )

                    notify(command, result)
                    result
                } catch (e: IOException) {
                    e.printStackTrace()

                    val result = CliCommandResult(command.commandLine.commandLineString, -1, e.toString(), false)
                    notify(command, result)
                    result
                }
            }
        }
    }