diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/actions/DevInRunFileAction.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/actions/DevInsRunFileAction.kt similarity index 61% rename from exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/actions/DevInRunFileAction.kt rename to exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/actions/DevInsRunFileAction.kt index 3cf53413b0..6005f712a7 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/actions/DevInRunFileAction.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/actions/DevInsRunFileAction.kt @@ -1,9 +1,9 @@ package cc.unitmesh.devti.language.actions import cc.unitmesh.devti.language.psi.DevInFile -import cc.unitmesh.devti.language.run.AutoDevConfiguration -import cc.unitmesh.devti.language.run.AutoDevConfigurationType -import cc.unitmesh.devti.language.run.AutoDevRunConfigurationProducer +import cc.unitmesh.devti.language.run.DevInsConfiguration +import cc.unitmesh.devti.language.run.DevInsConfigurationType +import cc.unitmesh.devti.language.run.DevInsRunConfigurationProducer import com.intellij.execution.ExecutionManager import com.intellij.execution.RunManager import com.intellij.execution.actions.ConfigurationContext @@ -16,7 +16,7 @@ import com.intellij.openapi.actionSystem.CommonDataKeys import com.intellij.openapi.project.DumbAwareAction import org.jetbrains.annotations.NonNls -class DevInRunFileAction : DumbAwareAction() { +class DevInsRunFileAction : DumbAwareAction() { override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT override fun update(e: AnActionEvent) { @@ -30,30 +30,26 @@ class DevInRunFileAction : DumbAwareAction() { override fun actionPerformed(e: AnActionEvent) { val file = e.getData(CommonDataKeys.PSI_FILE) ?: return - val project = file.project - val context = ConfigurationContext.getFromContext(e.dataContext, e.place) - - val configProducer = RunConfigurationProducer.getInstance(AutoDevRunConfigurationProducer::class.java) - val runManager = RunManager.getInstance(project) + val context = ConfigurationContext.getFromContext(e.dataContext, e.place) + val configProducer = RunConfigurationProducer.getInstance(DevInsRunConfigurationProducer::class.java) - val runConfiguration = ( - configProducer.findExistingConfiguration(context) - ?: runManager.createConfiguration(file.name, AutoDevConfigurationType::class.java) - ).configuration as AutoDevConfiguration + val runConfiguration = (configProducer.findExistingConfiguration(context) + ?: RunManager.getInstance(project) + .createConfiguration(file.name, DevInsConfigurationType::class.java) + ).configuration as DevInsConfiguration runConfiguration.setScriptPath(file.virtualFile.path) - val builder = - ExecutionEnvironmentBuilder.createOrNull(DefaultRunExecutor.getRunExecutorInstance(), runConfiguration) - if (builder != null) { - ExecutionManager.getInstance(project).restartRunProfile(builder.build()) - } + val executorInstance = DefaultRunExecutor.getRunExecutorInstance() + val builder = ExecutionEnvironmentBuilder.createOrNull(executorInstance, runConfiguration) ?: return + + ExecutionManager.getInstance(project).restartRunProfile(builder.build()) } companion object { - val ID: @NonNls String = "runDevInFileAction" + val ID: @NonNls String = "runDevInsFileAction" } } diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInRunConfigurationProfileState.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInRunConfigurationProfileState.kt index 925d537742..32ea010160 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInRunConfigurationProfileState.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInRunConfigurationProfileState.kt @@ -25,12 +25,11 @@ import com.intellij.psi.PsiManager import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking // DONT REMOVE THIS IMPORT -import kotlinx.coroutines.flow.collect import java.io.OutputStream open class DevInRunConfigurationProfileState( private val myProject: Project, - private val configuration: AutoDevConfiguration, + private val configuration: DevInsConfiguration, ) : RunProfileState { private val llm: LLMProvider = LlmFactory.instance.create(myProject) diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInBeforeRunProviderDelegate.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsBeforeRunProviderDelegate.kt similarity index 88% rename from exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInBeforeRunProviderDelegate.kt rename to exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsBeforeRunProviderDelegate.kt index f1598237cb..51c9b71b48 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInBeforeRunProviderDelegate.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsBeforeRunProviderDelegate.kt @@ -5,7 +5,7 @@ import com.intellij.execution.impl.RunConfigurationBeforeRunProviderDelegate import com.intellij.execution.runners.ExecutionEnvironment import com.intellij.openapi.util.Key -class DevInBeforeRunProviderDelegate : RunConfigurationBeforeRunProviderDelegate { +class DevInsBeforeRunProviderDelegate : RunConfigurationBeforeRunProviderDelegate { val DEVIN_BEFORE_KEY_PREFIX: String = "DevIn.BeforeRunTask" val KEY_MAP: MutableMap> = HashMap() @@ -13,7 +13,7 @@ class DevInBeforeRunProviderDelegate : RunConfigurationBeforeRunProviderDelegate val settings = environment.runnerAndConfigurationSettings ?: return val configuration = settings.configuration - if (configuration is AutoDevConfiguration) { + if (configuration is DevInsConfiguration) { val userDataKey = getRunBeforeUserDataKey(configuration) configuration.project.putUserData(userDataKey, true) } diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevConfiguration.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsConfiguration.kt similarity index 81% rename from exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevConfiguration.kt rename to exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsConfiguration.kt index a4f9b755b1..301fabd9fd 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevConfiguration.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsConfiguration.kt @@ -9,17 +9,15 @@ import com.intellij.execution.configurations.* import com.intellij.execution.runners.ExecutionEnvironment import com.intellij.openapi.options.SettingsEditor import com.intellij.openapi.project.Project -import com.intellij.openapi.util.NlsSafe import com.intellij.openapi.util.io.FileUtil import org.jdom.Element -import org.jetbrains.annotations.NonNls import javax.swing.Icon -class AutoDevConfiguration(project: Project, factory: ConfigurationFactory, name: String) : +class DevInsConfiguration(project: Project, factory: ConfigurationFactory, name: String) : LocatableConfigurationBase(project, factory, name) { override fun getIcon(): Icon = AutoDevIcons.AI_COPILOT private var myScriptPath = "" - private val SCRIPT_PATH_TAG: @NonNls String = "SCRIPT_PATH" + private val SCRIPT_PATH_TAG: String = "SCRIPT_PATH" override fun getState(executor: Executor, environment: ExecutionEnvironment): RunProfileState { return DevInRunConfigurationProfileState(project, this) @@ -41,13 +39,11 @@ class AutoDevConfiguration(project: Project, factory: ConfigurationFactory, name myScriptPath = element.readString(SCRIPT_PATH_TAG) ?: "" } - override fun getConfigurationEditor(): SettingsEditor = AutoDevSettingsEditor(project) + override fun getConfigurationEditor(): SettingsEditor = DevInsSettingsEditor(project) + + fun getScriptPath(): String = myScriptPath fun setScriptPath(scriptPath: String) { myScriptPath = scriptPath.trim { it <= ' ' } } - - fun getScriptPath(): String { - return myScriptPath - } } diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevConfigurationType.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsConfigurationType.kt similarity index 72% rename from exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevConfigurationType.kt rename to exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsConfigurationType.kt index 01798b5ca1..a0307a9c42 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevConfigurationType.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsConfigurationType.kt @@ -9,18 +9,18 @@ import com.intellij.execution.configurations.SimpleConfigurationType import com.intellij.openapi.project.Project import com.intellij.openapi.util.NotNullLazyValue -class AutoDevConfigurationType : SimpleConfigurationType( - "AutoDevConfigurationType", +class DevInsConfigurationType : SimpleConfigurationType( + "DevInsConfigurationType", DevInLanguage.INSTANCE.id, AutoDevBundle.message("devin.line.marker.run.0", DevInLanguage.INSTANCE.id), NotNullLazyValue.lazy { DevInIcons.DEFAULT } ) { override fun createTemplateConfiguration(project: Project): RunConfiguration = - AutoDevConfiguration(project, this, "AutoDevConfiguration") + DevInsConfiguration(project, this, "DevInsConfiguration") companion object { - fun getInstance(): AutoDevConfigurationType { - return findConfigurationType(AutoDevConfigurationType::class.java) + fun getInstance(): DevInsConfigurationType { + return findConfigurationType(DevInsConfigurationType::class.java) } } } diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInProgramRunner.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsProgramRunner.kt similarity index 77% rename from exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInProgramRunner.kt rename to exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsProgramRunner.kt index e3d27376a7..f478cf5eb7 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInProgramRunner.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsProgramRunner.kt @@ -9,19 +9,17 @@ import com.intellij.execution.runners.showRunContent import com.intellij.execution.ui.RunContentDescriptor import com.intellij.openapi.fileEditor.FileDocumentManager -open class DevInProgramRunner : GenericProgramRunner() { +open class DevInsProgramRunner : GenericProgramRunner() { companion object { - const val RUNNER_ID: String = "DevInCommandRunner" + const val RUNNER_ID: String = "DevInsProgramRunner" } override fun getRunnerId(): String = RUNNER_ID - override fun canRun(executorId: String, profile: RunProfile): Boolean { - return profile is AutoDevConfiguration - } + override fun canRun(executorId: String, profile: RunProfile) = profile is DevInsConfiguration override fun doExecute(state: RunProfileState, environment: ExecutionEnvironment): RunContentDescriptor? { - if (environment.runProfile !is AutoDevConfiguration) return null + if (environment.runProfile !is DevInsConfiguration) return null FileDocumentManager.getInstance().saveAllDocuments() return showRunContent(state.execute(environment.executor, this), environment) diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevRunConfigurationProducer.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsRunConfigurationProducer.kt similarity index 77% rename from exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevRunConfigurationProducer.kt rename to exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsRunConfigurationProducer.kt index df61521b6c..b8faa277e1 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevRunConfigurationProducer.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsRunConfigurationProducer.kt @@ -6,13 +6,11 @@ import com.intellij.execution.actions.LazyRunConfigurationProducer import com.intellij.openapi.util.Ref import com.intellij.psi.PsiElement -class AutoDevRunConfigurationProducer : LazyRunConfigurationProducer() { - override fun getConfigurationFactory(): AutoDevConfigurationType { - return AutoDevConfigurationType.getInstance() - } +class DevInsRunConfigurationProducer : LazyRunConfigurationProducer() { + override fun getConfigurationFactory() = DevInsConfigurationType.getInstance() override fun setupConfigurationFromContext( - configuration: AutoDevConfiguration, + configuration: DevInsConfiguration, context: ConfigurationContext, sourceElement: Ref, ): Boolean { @@ -26,7 +24,7 @@ class AutoDevRunConfigurationProducer : LazyRunConfigurationProducer(ActionManager.getInstance().getAction(DevInRunFileAction.ID)) + val actions = arrayOf(ActionManager.getInstance().getAction(DevInsRunFileAction.ID)) return Info( AllIcons.RunConfigurations.TestState.Run, diff --git a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevSettingsEditor.kt b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsSettingsEditor.kt similarity index 81% rename from exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevSettingsEditor.kt rename to exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsSettingsEditor.kt index 6d0826be1b..ff32e3ac3f 100644 --- a/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/AutoDevSettingsEditor.kt +++ b/exts/devins-lang/src/main/kotlin/cc/unitmesh/devti/language/run/DevInsSettingsEditor.kt @@ -9,7 +9,7 @@ import com.intellij.openapi.ui.TextFieldWithBrowseButton import com.intellij.ui.dsl.builder.panel import javax.swing.JComponent -class AutoDevSettingsEditor(val project: Project) : SettingsEditor() { +class DevInsSettingsEditor(val project: Project) : SettingsEditor() { private val myScriptSelector: TextFieldWithBrowseButton = TextFieldWithBrowseButton() init { @@ -27,11 +27,11 @@ class AutoDevSettingsEditor(val project: Project) : SettingsEditor - - - - + + + + + implementationClass="cc.unitmesh.devti.language.run.DevInsRunLineMarkersProvider"/> \ No newline at end of file