Skip to content

Commit

Permalink
fix(run): rename DevInRunFileAction to DevInsRunFileAction #101
Browse files Browse the repository at this point in the history
This commit renames the file `DevInRunFileAction.kt` to `DevInsRunFileAction.kt`, and updates all references to the class accordingly. The motivation behind this change is to provide a more accurate and consistent name for the action class related to running DevIns files.
  • Loading branch information
phodal committed Mar 16, 2024
1 parent 91acc81 commit 85e75fe
Show file tree
Hide file tree
Showing 10 changed files with 48 additions and 61 deletions.
@@ -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
Expand All @@ -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) {
Expand All @@ -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"
}

}
Expand Up @@ -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)

Expand Down
Expand Up @@ -5,15 +5,15 @@ 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<String, Key<Boolean>> = HashMap()

override fun beforeRun(environment: ExecutionEnvironment) {
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)
}
Expand Down
Expand Up @@ -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<ConfigurationFactory>(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)
Expand All @@ -41,13 +39,11 @@ class AutoDevConfiguration(project: Project, factory: ConfigurationFactory, name
myScriptPath = element.readString(SCRIPT_PATH_TAG) ?: ""
}

override fun getConfigurationEditor(): SettingsEditor<out RunConfiguration> = AutoDevSettingsEditor(project)
override fun getConfigurationEditor(): SettingsEditor<out RunConfiguration> = DevInsSettingsEditor(project)

fun getScriptPath(): String = myScriptPath

fun setScriptPath(scriptPath: String) {
myScriptPath = scriptPath.trim { it <= ' ' }
}

fun getScriptPath(): String {
return myScriptPath
}
}
Expand Up @@ -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)
}
}
}
Expand Up @@ -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<RunnerSettings>() {
open class DevInsProgramRunner : GenericProgramRunner<RunnerSettings>() {
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)
Expand Down
Expand Up @@ -6,13 +6,11 @@ import com.intellij.execution.actions.LazyRunConfigurationProducer
import com.intellij.openapi.util.Ref
import com.intellij.psi.PsiElement

class AutoDevRunConfigurationProducer : LazyRunConfigurationProducer<AutoDevConfiguration>() {
override fun getConfigurationFactory(): AutoDevConfigurationType {
return AutoDevConfigurationType.getInstance()
}
class DevInsRunConfigurationProducer : LazyRunConfigurationProducer<DevInsConfiguration>() {
override fun getConfigurationFactory() = DevInsConfigurationType.getInstance()

override fun setupConfigurationFromContext(
configuration: AutoDevConfiguration,
configuration: DevInsConfiguration,
context: ConfigurationContext,
sourceElement: Ref<PsiElement>,
): Boolean {
Expand All @@ -26,7 +24,7 @@ class AutoDevRunConfigurationProducer : LazyRunConfigurationProducer<AutoDevConf
}

override fun isConfigurationFromContext(
configuration: AutoDevConfiguration,
configuration: DevInsConfiguration,
context: ConfigurationContext,
): Boolean {
val psiLocation = context.psiLocation ?: return false
Expand Down
Expand Up @@ -2,7 +2,7 @@ package cc.unitmesh.devti.language.run

import cc.unitmesh.devti.AutoDevBundle
import cc.unitmesh.devti.language.DevInLanguage
import cc.unitmesh.devti.language.actions.DevInRunFileAction
import cc.unitmesh.devti.language.actions.DevInsRunFileAction
import cc.unitmesh.devti.language.psi.DevInFile
import com.intellij.execution.lineMarker.RunLineMarkerContributor
import com.intellij.icons.AllIcons
Expand All @@ -11,12 +11,12 @@ import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.project.DumbAware
import com.intellij.psi.PsiElement

class DevInRunLineMarkersProvider : RunLineMarkerContributor(), DumbAware {
class DevInsRunLineMarkersProvider : RunLineMarkerContributor(), DumbAware {
override fun getInfo(element: PsiElement): Info? {
if (element.language !is DevInLanguage) return null
val psiFile = element as? DevInFile ?: return null

val actions = arrayOf<AnAction>(ActionManager.getInstance().getAction(DevInRunFileAction.ID))
val actions = arrayOf<AnAction>(ActionManager.getInstance().getAction(DevInsRunFileAction.ID))

return Info(
AllIcons.RunConfigurations.TestState.Run,
Expand Down
Expand Up @@ -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<AutoDevConfiguration>() {
class DevInsSettingsEditor(val project: Project) : SettingsEditor<DevInsConfiguration>() {
private val myScriptSelector: TextFieldWithBrowseButton = TextFieldWithBrowseButton()

init {
Expand All @@ -27,11 +27,11 @@ class AutoDevSettingsEditor(val project: Project) : SettingsEditor<AutoDevConfig
}
}

override fun resetEditorFrom(configuration: AutoDevConfiguration) {
override fun resetEditorFrom(configuration: DevInsConfiguration) {
myScriptSelector.text = configuration.getScriptPath()
}

override fun applyEditorTo(configuration: AutoDevConfiguration) {
override fun applyEditorTo(configuration: DevInsConfiguration) {
configuration.setScriptPath(myScriptSelector.text)
}
}
Expand Up @@ -30,18 +30,18 @@
<languageInjector implementation="cc.unitmesh.devti.language.DevInLanguageInjector"/>


<configurationType implementation="cc.unitmesh.devti.language.run.AutoDevConfigurationType"/>
<programRunner implementation="cc.unitmesh.devti.language.run.DevInProgramRunner"/>
<runConfigurationBeforeRunProviderDelegate implementation="cc.unitmesh.devti.language.run.DevInBeforeRunProviderDelegate"/>
<runConfigurationProducer implementation="cc.unitmesh.devti.language.run.AutoDevRunConfigurationProducer"/>
<configurationType implementation="cc.unitmesh.devti.language.run.DevInsConfigurationType"/>
<programRunner implementation="cc.unitmesh.devti.language.run.DevInsProgramRunner"/>
<runConfigurationBeforeRunProviderDelegate implementation="cc.unitmesh.devti.language.run.DevInsBeforeRunProviderDelegate"/>
<runConfigurationProducer implementation="cc.unitmesh.devti.language.run.DevInsRunConfigurationProducer"/>
<runLineMarkerContributor language="DevIn"
implementationClass="cc.unitmesh.devti.language.run.DevInRunLineMarkersProvider"/>
implementationClass="cc.unitmesh.devti.language.run.DevInsRunLineMarkersProvider"/>

</extensions>

<actions>
<action id="runDevInFileAction"
class="cc.unitmesh.devti.language.actions.DevInRunFileAction"
class="cc.unitmesh.devti.language.actions.DevInsRunFileAction"
use-shortcut-of="RunClass"/>
</actions>
</idea-plugin>

0 comments on commit 85e75fe

Please sign in to comment.