|
1 | 1 | package io.runescript.plugin.ide.execution.run
|
2 | 2 |
|
3 |
| -import com.intellij.execution.ExecutionManager |
4 | 3 | import com.intellij.execution.configurations.RunProfile
|
| 4 | +import com.intellij.execution.configurations.RunProfileState |
5 | 5 | import com.intellij.execution.configurations.RunnerSettings
|
6 | 6 | import com.intellij.execution.executors.DefaultRunExecutor
|
7 | 7 | import com.intellij.execution.runners.ExecutionEnvironment
|
8 |
| -import com.intellij.execution.runners.ProgramRunner |
| 8 | +import com.intellij.execution.runners.GenericProgramRunner |
9 | 9 | import com.intellij.execution.runners.executeState
|
10 |
| -import org.jetbrains.concurrency.resolvedPromise |
| 10 | +import com.intellij.execution.ui.RunContentDescriptor |
11 | 11 |
|
12 |
| -class RsProgramRunner : ProgramRunner<RunnerSettings> { |
| 12 | +class RsProgramRunner : GenericProgramRunner<RunnerSettings>() { |
13 | 13 |
|
14 | 14 | override fun getRunnerId() = ID
|
15 | 15 |
|
16 | 16 | override fun canRun(executorId: String, profile: RunProfile): Boolean {
|
17 | 17 | return executorId == DefaultRunExecutor.EXECUTOR_ID && profile is RsRunConfiguration
|
18 | 18 | }
|
19 | 19 |
|
20 |
| - override fun execute(environment: ExecutionEnvironment) { |
21 |
| - val state = environment.state ?: return |
22 |
| - @Suppress("UnstableApiUsage") |
23 |
| - ExecutionManager.getInstance(environment.project).startRunProfile(environment) { |
24 |
| - resolvedPromise(executeState(state, environment, this)) |
25 |
| - } |
| 20 | + override fun doExecute(state: RunProfileState, environment: ExecutionEnvironment): RunContentDescriptor? { |
| 21 | + return executeState(state, environment, this) |
26 | 22 | }
|
27 | 23 |
|
28 | 24 | companion object {
|
|
0 commit comments