mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
IJPL-164254 Create an API to get terminal models right after terminal initialization
It is needed to integrate AI features implicitly. IJ-CR-148020 (cherry picked from commit 0a66057c324509fd7bf9013c7e0b025f6243649d) GitOrigin-RevId: 4d3265284cd045bfc78ce52f3265b04b9d34b5f4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
9f31575c35
commit
4126bbd708
@@ -0,0 +1,17 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.jetbrains.plugins.terminal.block
|
||||
|
||||
import com.intellij.util.messages.Topic
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.plugins.terminal.block.output.TerminalOutputModel
|
||||
import org.jetbrains.plugins.terminal.block.prompt.TerminalPromptModel
|
||||
|
||||
@ApiStatus.Internal
|
||||
interface BlockTerminalInitializationListener {
|
||||
fun modelsInitialized(promptModel: TerminalPromptModel, outputModel: TerminalOutputModel)
|
||||
|
||||
companion object {
|
||||
@Topic.ProjectLevel
|
||||
val TOPIC: Topic<BlockTerminalInitializationListener> = Topic(BlockTerminalInitializationListener::class.java, Topic.BroadcastDirection.NONE)
|
||||
}
|
||||
}
|
||||
@@ -67,6 +67,10 @@ internal class TerminalWidgetImpl(
|
||||
Disposer.register(this, session)
|
||||
BlockTerminalView(project, session, settings, terminalTitle).also {
|
||||
installStartupResponsivenessReporter(project, checkNotNull(options.startupMoment), session)
|
||||
project.messageBus.syncPublisher(BlockTerminalInitializationListener.TOPIC).modelsInitialized(
|
||||
it.promptView.controller.model,
|
||||
it.outputView.controller.outputModel
|
||||
)
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user