Skip to content

Commit 3533b1d

Browse files
committed
feat(ext-terminal): introduce NewTerminalUiUtil class and refactor suggestCommand method to support new UI context #135
1 parent 34ca497 commit 3533b1d

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package cc.unitmesh.terminal
2+
3+
import com.intellij.openapi.util.registry.Registry
4+
import com.intellij.ui.NewUI
5+
import org.jetbrains.plugins.terminal.LocalBlockTerminalRunner.Companion.BLOCK_TERMINAL_REGISTRY
6+
7+
class NewTerminalUiUtil {
8+
fun isNewTerminal(): Boolean {
9+
return NewUI.isEnabled() && !Registry.`is`(BLOCK_TERMINAL_REGISTRY, false)
10+
}
11+
}

exts/ext-terminal/src/main/kotlin/cc/unitmesh/terminal/ShellCommandSuggestAction.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.intellij.openapi.ui.popup.JBPopupFactory
1919
import com.intellij.openapi.ui.popup.JBPopupListener
2020
import com.intellij.openapi.ui.popup.LightweightWindowEvent
2121
import com.intellij.openapi.wm.IdeFocusManager
22-
import com.intellij.terminal.JBTerminalWidget
2322
import com.intellij.ui.DocumentAdapter
2423
import com.intellij.ui.awt.RelativePoint
2524
import com.intellij.ui.components.JBLabel
@@ -48,11 +47,13 @@ class ShellCommandSuggestAction : AnAction() {
4847

4948
showContentRenamePopup(contextComponent, getPreferredPopupPoint(e)) { data ->
5049
val widget = TerminalUtil.getCurrentTerminalWidget(project) ?: return@showContentRenamePopup
51-
suggestCommand(widget, data, project)
50+
suggestCommand(data, project) { string ->
51+
widget.terminalStarter?.sendString(string, true)
52+
}
5253
}
5354
}
5455

55-
private fun suggestCommand(widget: JBTerminalWidget, data: String, project: Project) {
56+
open fun suggestCommand(data: String, project: Project, function: (str: String) -> Unit?) {
5657
val templateRender = TemplateRender(GENIUS_PRACTISES)
5758
val template = templateRender.getTemplate("shell-suggest.vm")
5859

@@ -77,7 +78,7 @@ class ShellCommandSuggestAction : AnAction() {
7778
throw Exception("Shell command suggestion failed")
7879
}
7980

80-
widget.terminalStarter?.sendString(it, true)
81+
function(it)
8182
}
8283
} finally {
8384
AutoDevStatusService.notifyApplication(AutoDevStatus.Ready)

0 commit comments

Comments
 (0)