void (ChooseRunConfigurationPopup.ItemWrapper wrapper, JList<?> list, boolean selected) { SimpleTextAttributes commandAttributes = selected ? new SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, list.getSelectionForeground()) : SimpleTextAttributes.GRAYED_ATTRIBUTES; SimpleTextAttributes shortcutAttributes = selected ? new SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, list.getSelectionForeground()) : SimpleTextAttributes.GRAY_ATTRIBUTES; String input = myCommandSupplier.get(); if (isCommand(input, RUN_COMMAND)) { fillWithMode(wrapper, RUN_MODE, commandAttributes); return; } if (isCommand(input, DEBUG_COMMAND)) { fillWithMode(wrapper, DEBUG_MODE, commandAttributes); return; } Executor debugExecutor = ExecutorRegistry.getInstance().getExecutorById(ToolWindowId.DEBUG); Executor runExecutor = DefaultRunExecutor.getRunExecutorInstance(); KeyStroke enterStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0); KeyStroke shiftEnterStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, InputEvent.SHIFT_DOWN_MASK); if (debugExecutor != null) { executorInfo.append(debugExecutor.getActionName(), commandAttributes); executorInfo.append("(" + KeymapUtil.getKeystrokeText(enterStroke) + ")", shortcutAttributes); if (runExecutor != null) { executorInfo.append(" / " + runExecutor.getActionName(), commandAttributes); executorInfo.append("(" + KeymapUtil.getKeystrokeText(shiftEnterStroke) + ")", shortcutAttributes); } } else { if (runExecutor != null) { executorInfo.append(runExecutor.getActionName(), commandAttributes); executorInfo.append("(" + KeymapUtil.getKeystrokeText(enterStroke) + ")", shortcutAttributes); } } }