KT-9249: show text representation of first shortcut inside repl placeholder
This commit is contained in:
committed by
Pavel V. Talanov
parent
93e2827c1a
commit
5cac0da2ba
@@ -27,6 +27,7 @@ import com.intellij.execution.process.ProcessAdapter
|
|||||||
import com.intellij.execution.process.ProcessEvent
|
import com.intellij.execution.process.ProcessEvent
|
||||||
import com.intellij.execution.runners.AbstractConsoleRunnerWithHistory
|
import com.intellij.execution.runners.AbstractConsoleRunnerWithHistory
|
||||||
import com.intellij.execution.ui.RunContentDescriptor
|
import com.intellij.execution.ui.RunContentDescriptor
|
||||||
|
import com.intellij.openapi.actionSystem.ActionManager
|
||||||
import com.intellij.openapi.actionSystem.AnAction
|
import com.intellij.openapi.actionSystem.AnAction
|
||||||
import com.intellij.openapi.actionSystem.CommonShortcuts
|
import com.intellij.openapi.actionSystem.CommonShortcuts
|
||||||
import com.intellij.openapi.actionSystem.DefaultActionGroup
|
import com.intellij.openapi.actionSystem.DefaultActionGroup
|
||||||
@@ -37,6 +38,7 @@ import com.intellij.openapi.editor.markup.HighlighterLayer
|
|||||||
import com.intellij.openapi.editor.markup.HighlighterTargetArea
|
import com.intellij.openapi.editor.markup.HighlighterTargetArea
|
||||||
import com.intellij.openapi.editor.markup.RangeHighlighter
|
import com.intellij.openapi.editor.markup.RangeHighlighter
|
||||||
import com.intellij.openapi.editor.markup.TextAttributes
|
import com.intellij.openapi.editor.markup.TextAttributes
|
||||||
|
import com.intellij.openapi.keymap.KeymapUtil
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
@@ -58,6 +60,8 @@ import java.awt.Color
|
|||||||
import java.awt.Font
|
import java.awt.Font
|
||||||
import kotlin.properties.Delegates
|
import kotlin.properties.Delegates
|
||||||
|
|
||||||
|
private val KOTLIN_SHELL_EXECUTE_ACTION_ID = "KotlinShellExecute"
|
||||||
|
|
||||||
public class KotlinConsoleRunner(
|
public class KotlinConsoleRunner(
|
||||||
val module: Module,
|
val module: Module,
|
||||||
private val cmdLine: GeneralCommandLine,
|
private val cmdLine: GeneralCommandLine,
|
||||||
@@ -139,12 +143,15 @@ public class KotlinConsoleRunner(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun createConsoleExecAction(consoleExecuteActionHandler: ProcessBackedConsoleExecuteActionHandler)
|
override fun createConsoleExecAction(consoleExecuteActionHandler: ProcessBackedConsoleExecuteActionHandler)
|
||||||
= ConsoleExecuteAction(consoleView, consoleExecuteActionHandler, "KotlinShellExecute", consoleExecuteActionHandler)
|
= ConsoleExecuteAction(consoleView, consoleExecuteActionHandler, KOTLIN_SHELL_EXECUTE_ACTION_ID, consoleExecuteActionHandler)
|
||||||
|
|
||||||
override fun constructConsoleTitle(title: String) = "$title (in module ${module.name})"
|
override fun constructConsoleTitle(title: String) = "$title (in module ${module.name})"
|
||||||
|
|
||||||
private fun setupPlaceholder(editor: EditorEx) {
|
private fun setupPlaceholder(editor: EditorEx) {
|
||||||
editor.setPlaceholder("<Ctrl+Enter> to execute")
|
val executeCommandAction = ActionManager.getInstance().getAction(KOTLIN_SHELL_EXECUTE_ACTION_ID)
|
||||||
|
val executeCommandActionShortcutText = KeymapUtil.getFirstKeyboardShortcutText(executeCommandAction)
|
||||||
|
|
||||||
|
editor.setPlaceholder("<$executeCommandActionShortcutText> to execute")
|
||||||
editor.setShowPlaceholderWhenFocused(true)
|
editor.setShowPlaceholderWhenFocused(true)
|
||||||
|
|
||||||
val placeholderAttrs = TextAttributes()
|
val placeholderAttrs = TextAttributes()
|
||||||
|
|||||||
Reference in New Issue
Block a user