IDEA-315841 New Terminal Blocks: Right-click actions - implement the Context menu

GitOrigin-RevId: 7d0ecbbf34cd92d8bbc456d74dec12c9fc42ba89
This commit is contained in:
Konstantin Bulenkov
2023-04-28 12:29:21 +00:00
committed by intellij-monorepo-bot
parent 88c96a7fba
commit ac167f51ea
3 changed files with 14 additions and 0 deletions
@@ -83,6 +83,11 @@
<keyboard-shortcut first-keystroke="meta K" keymap="Mac OS X"/>
<keyboard-shortcut first-keystroke="meta K" keymap="Mac OS X 10.5+"/>
</action>
<action id="Terminal.CopyOutput" class="org.jetbrains.plugins.terminal.action.CopyTerminalOutputAction" />
<group id="Terminal.PopupMenu">
<reference ref="Terminal.CopyOutput"/>
</group>
</actions>
</idea-plugin>
@@ -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:
@@ -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
}