diff --git a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt index 996c4952200..e3dee0fe597 100644 --- a/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt +++ b/idea/idea-repl/src/org/jetbrains/kotlin/console/KotlinConsoleRunner.kt @@ -27,6 +27,7 @@ import com.intellij.execution.process.ProcessAdapter import com.intellij.execution.process.ProcessEvent import com.intellij.execution.runners.AbstractConsoleRunnerWithHistory import com.intellij.execution.ui.RunContentDescriptor +import com.intellij.openapi.actionSystem.ActionManager import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.CommonShortcuts 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.RangeHighlighter import com.intellij.openapi.editor.markup.TextAttributes +import com.intellij.openapi.keymap.KeymapUtil import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer @@ -58,6 +60,8 @@ import java.awt.Color import java.awt.Font import kotlin.properties.Delegates +private val KOTLIN_SHELL_EXECUTE_ACTION_ID = "KotlinShellExecute" + public class KotlinConsoleRunner( val module: Module, private val cmdLine: GeneralCommandLine, @@ -139,12 +143,15 @@ public class KotlinConsoleRunner( } 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})" private fun setupPlaceholder(editor: EditorEx) { - editor.setPlaceholder(" 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) val placeholderAttrs = TextAttributes()