Skip to content

Commit

Permalink
refactor(debugger): simplify imports and improve debug process flow #183
Browse files Browse the repository at this point in the history


- Consolidate imports using wildcard for cleaner code.
- Move process listener setup to `start()` method for better initialization flow.
- Ensure process termination is handled correctly in `ShireRunConfigurationProfileState`.
  • Loading branch information
phodal committed Jan 8, 2025
1 parent 27d8750 commit 81390d9
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.phodal.shirelang.debugger

import com.intellij.execution.process.ProcessEvent
import com.intellij.execution.process.ProcessListener
import com.intellij.execution.runners.ExecutionEnvironment
import com.intellij.execution.ui.ConsoleViewContentType
import com.intellij.execution.ui.ExecutionConsole
Expand All @@ -10,7 +9,6 @@ import com.intellij.execution.ui.layout.PlaceInGrid
import com.intellij.icons.AllIcons
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.util.Key
import com.intellij.ui.content.Content
import com.intellij.util.Alarm
import com.intellij.xdebugger.XDebugProcess
Expand All @@ -23,10 +21,7 @@ import com.intellij.xdebugger.evaluation.XDebuggerEditorsProvider
import com.intellij.xdebugger.frame.XSuspendContext
import com.intellij.xdebugger.ui.XDebugTabLayouter
import com.phodal.shirelang.psi.ShireFile
import com.phodal.shirelang.run.ShireConfiguration
import com.phodal.shirelang.run.ShireConsoleView
import com.phodal.shirelang.run.ShireRunConfigurationProfileState
import com.phodal.shirelang.run.ShireRunListener
import com.phodal.shirelang.run.*
import com.phodal.shirelang.run.runner.ShireRunner
import com.phodal.shirelang.run.runner.ShireRunnerContext
import kotlinx.coroutines.runBlocking
Expand All @@ -52,7 +47,6 @@ class ShireDebugProcess(private val session: XDebugSession, private val environm

var shireRunnerContext: ShireRunnerContext? = null


fun start() {
myRequestsScheduler.addRequest({
runBlocking {
Expand All @@ -63,6 +57,13 @@ class ShireDebugProcess(private val session: XDebugSession, private val environm
session.positionReached(ShireSuspendContext(this@ShireDebugProcess, session.project))
}
}, 0)

val processAdapter = ShireProcessAdapter(debuggableConfiguration, runProfileState.console)
processHandler.addProcessListener(processAdapter)
runProfileState.console.print("Waiting for resume...", ConsoleViewContentType.NORMAL_OUTPUT)
}

override fun resume(context: XSuspendContext?) {
connection.subscribe(ShireRunListener.TOPIC, object : ShireRunListener {
override fun runFinish(
allOutput: String,
Expand All @@ -75,10 +76,6 @@ class ShireDebugProcess(private val session: XDebugSession, private val environm
}
})

runProfileState.console.print("Waiting for resume...", ConsoleViewContentType.NORMAL_OUTPUT)
}

override fun resume(context: XSuspendContext?) {
runProfileState.execute(environment.executor, environment.runner)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import com.intellij.execution.DefaultExecutionResult
import com.intellij.execution.ExecutionResult
import com.intellij.execution.Executor
import com.intellij.execution.configurations.RunProfileState
import com.intellij.execution.process.*
import com.intellij.execution.process.ProcessEvent
import com.intellij.execution.process.ProcessListener
import com.intellij.execution.process.ProcessTerminatedListener
import com.intellij.execution.runners.ProgramRunner
import com.intellij.execution.ui.ConsoleViewContentType
import com.intellij.openapi.Disposable
Expand Down Expand Up @@ -78,6 +80,7 @@ class ShireRunConfigurationProfileState(
val llmOutput = shireRunner.execute(parsedResult)
processAdapter.setLlmOutput(llmOutput)

processAdapter.processTerminated(ProcessEvent(processHandler, 0))
myProject.getService(OnStreamingService::class.java)?.onDone(myProject)
} catch (e: Exception) {
console.print(
Expand Down

0 comments on commit 81390d9

Please sign in to comment.