From ac167f51ea64ee02adf44b95a0e59c5e89c0b6b3 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Fri, 28 Apr 2023 12:46:55 +0200 Subject: [PATCH] IDEA-315841 New Terminal Blocks: Right-click actions - implement the Context menu GitOrigin-RevId: 7d0ecbbf34cd92d8bbc456d74dec12c9fc42ba89 --- plugins/terminal/resources/META-INF/plugin.xml | 5 +++++ .../terminal/resources/messages/TerminalBundle.properties | 1 + .../org/jetbrains/plugins/terminal/exp/TerminalUiUtils.kt | 8 ++++++++ 3 files changed, 14 insertions(+) diff --git a/plugins/terminal/resources/META-INF/plugin.xml b/plugins/terminal/resources/META-INF/plugin.xml index a1620bf0e9b3..f297475b4604 100644 --- a/plugins/terminal/resources/META-INF/plugin.xml +++ b/plugins/terminal/resources/META-INF/plugin.xml @@ -83,6 +83,11 @@ + + + + + diff --git a/plugins/terminal/resources/messages/TerminalBundle.properties b/plugins/terminal/resources/messages/TerminalBundle.properties index c818023b1b9d..a071ce9789e1 100644 --- a/plugins/terminal/resources/messages/TerminalBundle.properties +++ b/plugins/terminal/resources/messages/TerminalBundle.properties @@ -23,6 +23,7 @@ action.RenameSession.newSessionName.label=Session name: action.NewPredefinedSession.label=New Predefined Session action.Terminal.Find.text=Find action.Terminal.ClearBuffer.text=Clear Terminal +action.Terminal.CopyOutput.text=Copy Output local.terminal.default.name=Local settings.start.directory=Start &directory: diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/exp/TerminalUiUtils.kt b/plugins/terminal/src/org/jetbrains/plugins/terminal/exp/TerminalUiUtils.kt index f9dda5d00a7c..657cdfb65aaa 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/exp/TerminalUiUtils.kt +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/exp/TerminalUiUtils.kt @@ -1,9 +1,13 @@ // Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.plugins.terminal.exp +import com.intellij.openapi.actionSystem.ActionGroup +import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.editor.Document import com.intellij.openapi.editor.EditorFactory import com.intellij.openapi.editor.EditorKind +import com.intellij.openapi.editor.event.EditorMouseEvent +import com.intellij.openapi.editor.impl.ContextMenuPopupHandler import com.intellij.openapi.editor.impl.EditorImpl import com.intellij.openapi.project.Project import com.intellij.terminal.JBTerminalSystemSettingsProviderBase @@ -40,6 +44,10 @@ object TerminalUiUtils { additionalColumnsCount = 0 isBlockCursor = true } + + editor.installPopupHandler(object:ContextMenuPopupHandler() { + override fun getActionGroup(event: EditorMouseEvent) = + ActionManager.getInstance().getAction("Terminal.PopupMenu") as ActionGroup}) return editor }