diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 9c9a71416dd2..79dea003c24e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -1733,6 +1733,10 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi myPlaceholderAttributes = attributes; } + public TextAttributes getPlaceholderAttributes() { + return myPlaceholderAttributes; + } + public CharSequence getPlaceholder() { return myPlaceholderText; } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/EditorPainter.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/EditorPainter.java index 69fee9415931..952e79c5a703 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/EditorPainter.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/view/EditorPainter.java @@ -121,8 +121,20 @@ class EditorPainter implements TextDrawingCallback { hintText = SwingUtilities.layoutCompoundLabel(g.getFontMetrics(), hintText.toString(), null, 0, 0, 0, 0, SwingUtilities.calculateInnerArea(editorComponent, null), // account for insets new Rectangle(), new Rectangle(), 0); - g.setColor(myEditor.getFoldingModel().getPlaceholderAttributes().getForegroundColor()); - g.setFont(myEditor.getColorsScheme().getFont(EditorFontType.PLAIN)); + EditorFontType fontType = EditorFontType.PLAIN; + Color color = myEditor.getFoldingModel().getPlaceholderAttributes().getForegroundColor(); + TextAttributes attributes = myEditor.getPlaceholderAttributes(); + if (attributes != null) { + int type = attributes.getFontType(); + if (type == Font.ITALIC) fontType = EditorFontType.ITALIC; + else if (type == Font.BOLD) fontType = EditorFontType.BOLD; + else if (type == (Font.ITALIC | Font.BOLD)) fontType = EditorFontType.BOLD_ITALIC; + + Color attColor = attributes.getForegroundColor(); + if (attColor != null) color = attColor; + } + g.setColor(color); + g.setFont(myEditor.getColorsScheme().getFont(fontType)); Insets insets = myView.getInsets(); g.drawString(hintText.toString(), insets.left, insets.top + myView.getAscent()); return true;