vsch / idea-multimarkdown

Markdown language support for IntelliJ IDEA.
https://plugins.jetbrains.com/plugin/7896-markdown-navigator
Apache License 2.0
816 stars 129 forks source link

Proper colors inheritance #8

Closed nazar-pc closed 8 years ago

nazar-pc commented 9 years ago

I have quite good color theme (screenshot is a bit old, but anyway) and I'd like to add markdown highlighing, but it doesn't inherit default values as specified in General and Language defaults in color settings. Can you add proper inheritance so that I'll not need to add all colors manually? It would be much easier for me to maintain theme.

vsch commented 9 years ago

I will work it into the next release. I have to go through the available defaults and line up Markdown elements with them. Skipped this step originally because there were more pressing issues. Now is the time to get this cleaned up.

I will also add an option for the plugin to register under Markdown or MultiMarkdown as it does now.

Thank you for letting me know.

nazar-pc commented 9 years ago

Awesome, thanks!

vsch commented 9 years ago

@nazar-pc, just went in to make this change and realized that I can only remove the hidden DEFAULT_MULTIMARKDOWN..... inheritance. The rest is linked up with the plugin.xml values and I could not do it. So I settled for the standard custom language pattern: inherit those Default Language attributes that map to the new language and leave the rest without inheritance.

I also did not change MultiMarkdown language to Markdown because it messes up syntax highlighting when other Markdown plugins are installed. I had to leave this one as is.

I think this change is what you were looking for. Eliminate the inheritance from a hidden set of attributes.

vsch commented 9 years ago

Version 1.0.22 has the inheritance fix and is available for download.

nazar-pc commented 9 years ago

It looks a bit better now, but Use inherited attributes checkbox is disabled now, so inheritance not possible in any way. I thought it should be a way to do that.

I also did not change MultiMarkdown language to Markdown because it messes up syntax highlighting when other Markdown plugins are installed.

I think installing 2 markdown plugins doesn't really make sense, so this is not a problem at all.

vsch commented 9 years ago

@nazar-pc, I could not see which elements from defaults made sense to align with markdown elements.

I looked and Java color settings do the same thing, only elements which line up with default language are inherited. The rest are not.

If you have a proposed alignment of markdown to language defaults I would appreciate your input. Setting up color schemes is not my forté.

I was concerned that if the alignment does not make sense it will not reduce the effort of setting up a scheme but would make the default colors off. People expect the defaults to be usable (See issue #5) so they don't have to customize them right away. I have to respect that.

vsch commented 9 years ago

In my opinion the inheritance should be user configurable. That way the user could setup his default colors and then assign them for each new language element as they see fit. That way more of customizations could be reused in all languages.

I am also considering adding elements that define colors in the CSS used for the Preview tab so that preview colors are also coming from user configuration instead of having to hardcode them into the CSS.

nazar-pc commented 9 years ago

Inheritance is user configurable by default. You can inherit, for instance, link color from default colors, but user can override it if necessary. Even more, you can define colors out of the box, but allow to put checkbox to inherit default colors. Otherwise theme need to define literally every possible thing, which is much more difficult to do initially, and even more difficult to maintain. Inheritance is crusial for cases like #5, since it will allow to adopt colors automatically for any theme that is used instead of configuring it for some specific one.

I'll try to make some mapping of what can be inherited from language defaults later, it will greatly benefit users of different themes.

vsch commented 9 years ago

What I meant is not that the user can change the inherited colors but can actually say inherit this attribute from General.Hyperlinks.Reference. This would much more flexibility for users to re-using their color elements for custom languages that don't naturally align with any default elements.

However, I have to figure out where the Editor > Colors & Fonts > General color attributes are defined in the code. There are a lot more there that I can inherit from than Language Defaults. I will look harder. I know it is possible because some plugins do it but I could not find it and was too tired to continue the search. As you can see by the release schedule, sleep has been getting shortchanged lately. I am looking forward to stabilizing the changes where I can make a release on a weekly or preferably a monthly schedule.

I'll give it another go for the next release but if you have suggestions please provide them. It will make it much easier than just having my opinion affect the inheritance. I don't want to make these changes too many times because each time some users' scheme can be thrown off.

nazar-pc commented 9 years ago

I agree with you completely.

nazar-pc commented 9 years ago

Just got new update. Couple of things that can be inherited:

vsch commented 9 years ago

Thank you @nazar-pc. I will work on these for the next release. Had a rush of issues coming from the new WebView based preview. Hoping these are now handled and I can focus on doing some clean-up including the inheritance of attributes.

vsch commented 9 years ago

Sorry, have been busy with parser and renderer implementations. I will add a task issue so I can see completions in issues.

jmcmichael commented 8 years ago

I'm noticing a color scheme issue, which I'm assuming is related to this issue, immediately after install (I haven't yet looked around to see if I can tweak color settings yet). I'm using the Darkula scheme, and it appears like the default color scheme for the Markdown preview assumes a light background, as in this screenshot:

screen shot 2015-11-29 at 11 11 16 am

vsch commented 8 years ago

@jmcmichael I am not able to duplicate it which only means that there is something that I am missing. I deleted all the custom color schemes to get the installation defaults but I am not getting what is on your screen. Somehow header background and verbatim blocks (code fence) seem to be affected.

Currently, I don't have most of the colors inheriting from Language Defaults because I did not find a good mapping scheme to markdown elements from standard language elements.

You can tweak the colors but it should not be a requirement. I did spend a lot of time making sure Darcula is properly supported in both the editor and the HTML preview tabs and it seems to be an issue for at least a few users. I would like to figure out what is causing it.

Can you please send me your color scheme .icls file? It is in the IDE preferences directory in the colors/ subdirectory. The file will have the name of the color scheme you have selected under Preferences > Editor > Colors & Fonts

screen shot 2015-11-29 at 12 43 14 pm

Here is what the default Darcula colors are supposed to look like:

screen shot 2015-11-29 at 12 29 44 pm
jmcmichael commented 8 years ago

Sure, here it is. It's the filename is 'Darkula_custom.icls' but I don't recall making any modifications to the theme.

Github won't attach .icls files, so I've just pasted it in below:

<scheme name="Darkula (Custom)" version="142" parent_scheme="Default">
  <option name="LINE_SPACING" value="1.0" />
  <option name="EDITOR_FONT_SIZE" value="11" />
  <option name="EDITOR_FONT_NAME" value="Menlo" />
  <colors>
    <option name="ADDED_LINES_COLOR" value="d6822" />
    <option name="ANNOTATIONS_COLOR" value="8b999f" />
    <option name="CARET_COLOR" value="bbbbbb" />
    <option name="CARET_ROW_COLOR" value="323232" />
    <option name="CONSOLE_BACKGROUND_KEY" value="333333" />
    <option name="FILESTATUS_ADDED" value="629755" />
    <option name="FILESTATUS_DELETED" value="6c6c6c" />
    <option name="FILESTATUS_IDEA_FILESTATUS_DELETED_FROM_FILE_SYSTEM" value="6c6c6c" />
    <option name="FILESTATUS_IDEA_FILESTATUS_IGNORED" value="848504" />
    <option name="FILESTATUS_IDEA_FILESTATUS_MERGED_WITH_BOTH_CONFLICTS" value="d5756c" />
    <option name="FILESTATUS_IDEA_FILESTATUS_MERGED_WITH_CONFLICTS" value="d5756c" />
    <option name="FILESTATUS_IDEA_FILESTATUS_MERGED_WITH_PROPERTY_CONFLICTS" value="d5756c" />
    <option name="FILESTATUS_MERGED" value="9876aa" />
    <option name="FILESTATUS_MODIFIED" value="6897bb" />
    <option name="FILESTATUS_NOT_CHANGED" value="" />
    <option name="FILESTATUS_NOT_CHANGED_IMMEDIATE" value="6897bb" />
    <option name="FILESTATUS_NOT_CHANGED_RECURSIVE" value="6897bb" />
    <option name="FILESTATUS_UNKNOWN" value="d1675a" />
    <option name="FILESTATUS_addedOutside" value="629755" />
    <option name="FILESTATUS_changelistConflict" value="d5756c" />
    <option name="FILESTATUS_modifiedOutside" value="6897bb" />
    <option name="GUTTER_BACKGROUND" value="313335" />
    <option name="INDENT_GUIDE" value="373737" />
    <option name="LINE_NUMBERS_COLOR" value="888888" />
    <option name="METHOD_SEPARATORS_COLOR" value="4d4d4d" />
    <option name="MODIFIED_LINES_COLOR" value="7180" />
    <option name="NOTIFICATION_BACKGROUND" value="5c5c42" />
    <option name="READONLY_FRAGMENT_BACKGROUND" value="" />
    <option name="RECURSIVE_CALL_ATTRIBUTES" value="574300" />
    <option name="RIGHT_MARGIN_COLOR" value="4d4d4d" />
    <option name="SELECTED_INDENT_GUIDE" value="505050" />
    <option name="SELECTED_TEARLINE_COLOR" value="787878" />
    <option name="SELECTION_BACKGROUND" value="214283" />
    <option name="SELECTION_FOREGROUND" value="" />
    <option name="TEARLINE_COLOR" value="555555" />
    <option name="WHITESPACES" value="404040" />
  </colors>
  <attributes>
    <option name="ABSTRACT_METHOD_ATTRIBUTES" baseAttributes="METHOD_CALL_ATTRIBUTES" />
    <option name="ANNOTATION_ATTRIBUTE_NAME_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="d0d0ff" />
      </value>
    </option>
    <option name="ANNOTATION_NAME_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="bbb529" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="BAD_CHARACTER">
      <value>
        <option name="EFFECT_COLOR" value="ff0000" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="BREAKPOINT_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="3a2323" />
      </value>
    </option>
    <option name="CLASS_REFERENCE">
      <value>
        <option name="FOREGROUND" value="769aa5" />
      </value>
    </option>
    <option name="CONDITIONALLY_NOT_COMPILED">
      <value>
        <option name="FOREGROUND" value="536c46" />
      </value>
    </option>
    <option name="CONSOLE_ERROR_OUTPUT">
      <value>
        <option name="FOREGROUND" value="ff6b68" />
      </value>
    </option>
    <option name="CONSOLE_NORMAL_OUTPUT">
      <value>
        <option name="FOREGROUND" value="f7f7f7" />
      </value>
    </option>
    <option name="CONSOLE_SYSTEM_OUTPUT">
      <value>
        <option name="FOREGROUND" value="a6a6a6" />
      </value>
    </option>
    <option name="CSS.FUNCTION">
      <value>
        <option name="FOREGROUND" value="da4939" />
      </value>
    </option>
    <option name="CSS.IDENT">
      <value>
        <option name="FOREGROUND" value="e8bf6a" />
      </value>
    </option>
    <option name="CSS.KEYWORD">
      <value>
        <option name="FOREGROUND" value="cc7833" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="CSS.PROPERTY_NAME">
      <value>
        <option name="FOREGROUND" value="da4939" />
      </value>
    </option>
    <option name="CSS.PROPERTY_VALUE">
      <value>
        <option name="FOREGROUND" value="a5c261" />
      </value>
    </option>
    <option name="CSS.TAG_NAME">
      <value>
        <option name="FOREGROUND" value="e8bf6a" />
      </value>
    </option>
    <option name="CTRL_CLICKABLE">
      <value>
        <option name="FOREGROUND" value="589df6" />
        <option name="EFFECT_COLOR" value="589df6" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD1_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="cc7832" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD2_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="ab51ba" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD3_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="f9795" />
      </value>
    </option>
    <option name="CUSTOM_KEYWORD4_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="c93b48" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="CUSTOM_NUMBER_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="6897bb" />
      </value>
    </option>
    <option name="CUSTOM_STRING_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
      </value>
    </option>
    <option name="CUSTOM_VALID_STRING_ESCAPE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="4646f1" />
      </value>
    </option>
    <option name="DEFAULT_ATTRIBUTE" baseAttributes="DEFAULT_IDENTIFIER" />
    <option name="DEFAULT_CLASS_NAME">
      <value>
        <option name="FOREGROUND" value="da4939" />
      </value>
    </option>
    <option name="DEFAULT_CLASS_REFERENCE">
      <value>
        <option name="FOREGROUND" value="769aa5" />
      </value>
    </option>
    <option name="DEFAULT_CONSTANT">
      <value>
        <option name="FOREGROUND" value="9876aa" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="DEFAULT_DOC_COMMENT">
      <value>
        <option name="FOREGROUND" value="629755" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="DEFAULT_DOC_COMMENT_TAG">
      <value>
        <option name="FOREGROUND" value="526d4a" />
        <option name="FONT_TYPE" value="3" />
        <option name="EFFECT_COLOR" value="526d4a" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="DEFAULT_DOC_MARKUP">
      <value>
        <option name="FOREGROUND" value="77b767" />
      </value>
    </option>
    <option name="DEFAULT_ENTITY" baseAttributes="DEFAULT_IDENTIFIER" />
    <option name="DEFAULT_FUNCTION_CALL">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="DEFAULT_FUNCTION_DECLARATION">
      <value>
        <option name="FOREGROUND" value="ffc66d" />
      </value>
    </option>
    <option name="DEFAULT_IDENTIFIER">
      <value>
        <option name="FOREGROUND" value="a9b7c6" />
      </value>
    </option>
    <option name="DEFAULT_INSTANCE_FIELD">
      <value>
        <option name="FOREGROUND" value="9876aa" />
      </value>
    </option>
    <option name="DEFAULT_INVALID_STRING_ESCAPE">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
        <option name="EFFECT_COLOR" value="ff0000" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="DEFAULT_KEYWORD">
      <value>
        <option name="FOREGROUND" value="cc7832" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="DEFAULT_LABEL" baseAttributes="DEFAULT_IDENTIFIER" />
    <option name="DEFAULT_LINE_COMMENT">
      <value>
        <option name="FOREGROUND" value="808080" />
      </value>
    </option>
    <option name="DEFAULT_METADATA">
      <value>
        <option name="FOREGROUND" value="bbb529" />
      </value>
    </option>
    <option name="DEFAULT_NUMBER">
      <value>
        <option name="FOREGROUND" value="6897bb" />
      </value>
    </option>
    <option name="DEFAULT_PREDEFINED_SYMBOL" baseAttributes="DEFAULT_IDENTIFIER" />
    <option name="DEFAULT_STATIC_FIELD">
      <value>
        <option name="FOREGROUND" value="9876aa" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="DEFAULT_STATIC_METHOD">
      <value>
        <option name="FOREGROUND" value="ffc66d" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="DEFAULT_STRING">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
      </value>
    </option>
    <option name="DEFAULT_TAG" baseAttributes="TEXT" />
    <option name="DEFAULT_TEMPLATE_LANGUAGE_COLOR" baseAttributes="TEXT" />
    <option name="DEFAULT_VALID_STRING_ESCAPE">
      <value>
        <option name="FOREGROUND" value="cc7832" />
      </value>
    </option>
    <option name="DELETED_TEXT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="bbbbbb" />
        <option name="BACKGROUND" value="450505" />
        <option name="EFFECT_COLOR" value="c3c3c3" />
        <option name="EFFECT_TYPE" value="3" />
      </value>
    </option>
    <option name="DEPRECATED_ATTRIBUTES">
      <value>
        <option name="EFFECT_COLOR" value="c3c3c3" />
        <option name="EFFECT_TYPE" value="3" />
      </value>
    </option>
    <option name="DIFF_CONFLICT">
      <value>
        <option name="BACKGROUND" value="45302b" />
        <option name="ERROR_STRIPE_COLOR" value="8f5247" />
      </value>
    </option>
    <option name="DIFF_DELETED">
      <value>
        <option name="BACKGROUND" value="484a4a" />
        <option name="ERROR_STRIPE_COLOR" value="656e76" />
      </value>
    </option>
    <option name="DIFF_INSERTED">
      <value>
        <option name="BACKGROUND" value="294436" />
        <option name="ERROR_STRIPE_COLOR" value="447152" />
      </value>
    </option>
    <option name="DIFF_MODIFIED">
      <value>
        <option name="BACKGROUND" value="385570" />
        <option name="ERROR_STRIPE_COLOR" value="43698d" />
      </value>
    </option>
    <option name="DOC_COMMENT_TAG_VALUE">
      <value>
        <option name="FOREGROUND" value="8a653b" />
      </value>
    </option>
    <option name="DUPLICATE_FROM_SERVER">
      <value>
        <option name="BACKGROUND" value="5e5339" />
      </value>
    </option>
    <option name="EL.KEYWORD">
      <value>
        <option name="FOREGROUND" value="8080" />
      </value>
    </option>
    <option name="EL.STRING">
      <value>
        <option name="FOREGROUND" value="3adf3a" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="EL_BACKGROUND">
      <value>
        <option name="BACKGROUND" value="141414" />
      </value>
    </option>
    <option name="ENUM_CONST">
      <value>
        <option name="FOREGROUND" value="9373a5" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="ENUM_NAME_ATTRIBUTES" baseAttributes="CLASS_NAME_ATTRIBUTES" />
    <option name="ERRORS_ATTRIBUTES">
      <value>
        <option name="EFFECT_COLOR" value="bc3f3c" />
        <option name="ERROR_STRIPE_COLOR" value="bc3f3c" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="EXECUTIONPOINT_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="2d6099" />
      </value>
    </option>
    <option name="FOLDED_TEXT_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="3a3a3a" />
      </value>
    </option>
    <option name="FOLLOWED_HYPERLINK_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="287bde" />
        <option name="EFFECT_COLOR" value="287bde" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="GENERIC_SERVER_ERROR_OR_WARNING">
      <value>
        <option name="EFFECT_COLOR" value="f49810" />
        <option name="ERROR_STRIPE_COLOR" value="f49810" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="GROOVY_KEYWORD">
      <value>
        <option name="FOREGROUND" value="cc7832" />
      </value>
    </option>
    <option name="GString">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
      </value>
    </option>
    <option name="HTML_ATTRIBUTE_NAME">
      <value />
    </option>
    <option name="HTML_COMMENT">
      <value>
        <option name="FOREGROUND" value="bc9458" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="HTML_TAG_NAME">
      <value />
    </option>
    <option name="HYPERLINK_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="287bde" />
        <option name="EFFECT_COLOR" value="287bde" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="IDENTIFIER_UNDER_CARET_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="424445" />
        <option name="ERROR_STRIPE_COLOR" value="258500" />
      </value>
    </option>
    <option name="IMPLICIT_ANONYMOUS_CLASS_PARAMETER_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="b389c5" />
        <option name="EFFECT_COLOR" value="b389c5" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="INFO_ATTRIBUTES">
      <value>
        <option name="EFFECT_COLOR" value="aeae80" />
        <option name="ERROR_STRIPE_COLOR" value="aeae80" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="INHERITED_METHOD_ATTRIBUTES" baseAttributes="METHOD_CALL_ATTRIBUTES" />
    <option name="INJECTED_LANGUAGE_FRAGMENT">
      <value>
        <option name="BACKGROUND" value="33463a" />
      </value>
    </option>
    <option name="INSTANCE_FIELD_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="9876aa" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="IVAR">
      <value>
        <option name="FOREGROUND" value="9373a5" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="JAVA_DOC_COMMENT">
      <value>
        <option name="FOREGROUND" value="629755" />
      </value>
    </option>
    <option name="JAVA_DOC_TAG">
      <value>
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="JAVA_INVALID_STRING_ESCAPE">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
        <option name="EFFECT_COLOR" value="ff0000" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="JAVA_STRING">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
      </value>
    </option>
    <option name="JS.GLOBAL_FUNCTION" baseAttributes="DEFAULT_FUNCTION_DECLARATION" />
    <option name="JS.GLOBAL_VARIABLE" baseAttributes="DEFAULT_GLOBAL_VARIABLE" />
    <option name="JS.INSTANCE_MEMBER_FUNCTION" baseAttributes="DEFAULT_INSTANCE_METHOD" />
    <option name="JS.LOCAL_VARIABLE" baseAttributes="DEFAULT_LOCAL_VARIABLE" />
    <option name="JS.PARAMETER">
      <value>
        <option name="EFFECT_COLOR" value="a9b7c6" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="JS.REGEXP" baseAttributes="DEFAULT_STRING" />
    <option name="JSP_ATTRIBUTE_NAME">
      <value>
        <option name="FOREGROUND" value="8080" />
      </value>
    </option>
    <option name="JSP_ATTRIBUTE_VALUE">
      <value>
        <option name="FOREGROUND" value="3adf3a" />
      </value>
    </option>
    <option name="JSP_DIRECTIVE_BACKGROUND">
      <value>
        <option name="BACKGROUND" value="141414" />
      </value>
    </option>
    <option name="JSP_SCRIPTING_BACKGROUND">
      <value />
    </option>
    <option name="LABEL">
      <value>
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="List/map to object conversion">
      <value>
        <option name="FOREGROUND" value="e8bf6a" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="MACRONAME">
      <value>
        <option name="FOREGROUND" value="908b25" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="MAKO.SUBSTITUTION">
      <value>
        <option name="BACKGROUND" value="232364" />
      </value>
    </option>
    <option name="MATCHED_BRACE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="ffffff" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="MESSAGE_ARGUMENT">
      <value>
        <option name="FOREGROUND" value="c4b3a3" />
      </value>
    </option>
    <option name="METHOD_DECLARATION_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="ffc66d" />
      </value>
    </option>
    <option name="NOT_USED_ELEMENT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="808080" />
        <option name="EFFECT_COLOR" value="808080" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="OC.PROPERTY">
      <value>
        <option name="FOREGROUND" value="cdbcac" />
      </value>
    </option>
    <option name="OC.STRUCT_FIELD">
      <value>
        <option name="FOREGROUND" value="9373a5" />
      </value>
    </option>
    <option name="PHP_EXEC_COMMAND_ID">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
        <option name="BACKGROUND" value="5e6465" />
      </value>
    </option>
    <option name="PROPERTIES.VALUE">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
      </value>
    </option>
    <option name="PROTOCOL_REFERENCE">
      <value>
        <option name="FOREGROUND" value="219598" />
      </value>
    </option>
    <option name="PY.CLASS_DEFINITION">
      <value>
        <option name="FONT_TYPE" value="1" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="PY.DECORATOR">
      <value>
        <option name="FOREGROUND" value="bbb529" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="PY.FUNC_DEFINITION">
      <value>
        <option name="FONT_TYPE" value="1" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="PY.KEYWORD_ARGUMENT">
      <value>
        <option name="FOREGROUND" value="aa4926" />
      </value>
    </option>
    <option name="REGEXP.INVALID_STRING_ESCAPE">
      <value>
        <option name="FOREGROUND" value="4cd6a3" />
        <option name="BACKGROUND" value="3d0909" />
        <option name="EFFECT_COLOR" value="ff0000" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="REGEXP.REDUNDANT_ESCAPE">
      <value>
        <option name="FOREGROUND" value="9396c0" />
        <option name="FONT_TYPE" value="1" />
        <option name="EFFECT_COLOR" value="ffff00" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="REST.BOLD">
      <value>
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="REST.FIXED">
      <value>
        <option name="BACKGROUND" value="a3a08" />
      </value>
    </option>
    <option name="REST.INLINE">
      <value>
        <option name="BACKGROUND" value="236423" />
      </value>
    </option>
    <option name="REST.INTERPRETED">
      <value>
        <option name="BACKGROUND" value="15463c" />
      </value>
    </option>
    <option name="REST.ITALIC">
      <value>
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="RHTML_SCRIPTING_BACKGROUND_ID">
      <value>
        <option name="BACKGROUND" value="232323" />
      </value>
    </option>
    <option name="RHTML_SCRIPTLET_START_ID">
      <value>
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="SASS_MIXIN">
      <value>
        <option name="FOREGROUND" value="d0d0ff" />
      </value>
    </option>
    <option name="SEARCH_RESULT_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="155221" />
        <option name="ERROR_STRIPE_COLOR" value="246e00" />
      </value>
    </option>
    <option name="SLIM_BAD_CHARACTER">
      <value>
        <option name="EFFECT_COLOR" value="ff0000" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="SLIM_CALL">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="SLIM_CLASS">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="SLIM_COMMENT">
      <value>
        <option name="FOREGROUND" value="bc9458" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="SLIM_DOCTYPE_KWD">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="SLIM_FILTER">
      <value>
        <option name="FOREGROUND" value="ff0000" />
      </value>
    </option>
    <option name="SLIM_FILTER_CONTENT">
      <value>
        <option name="BACKGROUND" value="442b2b" />
        <option name="FONT_TYPE" value="2" />
        <option name="EFFECT_TYPE" value="5" />
      </value>
    </option>
    <option name="SLIM_ID">
      <value>
        <option name="FOREGROUND" value="ff00ff" />
      </value>
    </option>
    <option name="SLIM_INTERPOLATION">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="SLIM_RUBY_CODE">
      <value>
        <option name="FOREGROUND" value="a9b7c6" />
        <option name="BACKGROUND" value="2b2b2b" />
        <option name="EFFECT_TYPE" value="5" />
      </value>
    </option>
    <option name="SLIM_STATIC_CONTENT">
      <value>
        <option name="FOREGROUND" value="a9b7c6" />
        <option name="BACKGROUND" value="2b2b2b" />
        <option name="EFFECT_TYPE" value="5" />
      </value>
    </option>
    <option name="SLIM_STRING_INTERPOLATED">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="SLIM_TAG">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="SLIM_TAG_ATTR_KEY">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="SLIM_TAG_START">
      <value>
        <option name="FOREGROUND" value="cc7833" />
      </value>
    </option>
    <option name="SQL_SYNTETIC_ENTITY">
      <value>
        <option name="FOREGROUND" value="ffc66d" />
      </value>
    </option>
    <option name="SQL_TABLE">
      <value>
        <option name="FOREGROUND" value="da4939" />
      </value>
    </option>
    <option name="STATIC_FIELD_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="9876aa" />
        <option name="FONT_TYPE" value="2" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="STATIC_FINAL_FIELD_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="9876aa" />
        <option name="FONT_TYPE" value="2" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="Static property reference ID">
      <value>
        <option name="FOREGROUND" value="9876aa" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="String">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
      </value>
    </option>
    <option name="TEMPLATE_VARIABLE_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="ae8abe" />
      </value>
    </option>
    <option name="TEXT">
      <value>
        <option name="FOREGROUND" value="a9b7c6" />
        <option name="BACKGROUND" value="2b2b2b" />
        <option name="EFFECT_TYPE" value="5" />
      </value>
    </option>
    <option name="TEXT_SEARCH_RESULT_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="425f44" />
        <option name="ERROR_STRIPE_COLOR" value="425f44" />
      </value>
    </option>
    <option name="TODO_DEFAULT_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="bc9458" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="TYPEDEF">
      <value>
        <option name="FOREGROUND" value="c7c8f5" />
      </value>
    </option>
    <option name="TYPE_PARAMETER_NAME_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="247877" />
      </value>
    </option>
    <option name="TYPO">
      <value>
        <option name="EFFECT_COLOR" value="505233" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="Type parameter">
      <value>
        <option name="FOREGROUND" value="247877" />
      </value>
    </option>
    <option name="Unresolved reference access">
      <value>
        <option name="FOREGROUND" value="808080" />
        <option name="EFFECT_COLOR" value="808080" />
        <option name="EFFECT_TYPE" value="1" />
      </value>
    </option>
    <option name="VELOCITY_STRING">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
    <option name="WARNING_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="52503a" />
        <option name="ERROR_STRIPE_COLOR" value="8c8c00" />
        <option name="EFFECT_TYPE" value="2" />
      </value>
    </option>
    <option name="WRITE_IDENTIFIER_UNDER_CARET_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="532b2e" />
        <option name="ERROR_STRIPE_COLOR" value="7e6761" />
      </value>
    </option>
    <option name="WRITE_SEARCH_RESULT_ATTRIBUTES">
      <value>
        <option name="BACKGROUND" value="532b2e" />
        <option name="ERROR_STRIPE_COLOR" value="c55450" />
      </value>
    </option>
    <option name="WRONG_REFERENCES_ATTRIBUTES">
      <value>
        <option name="FOREGROUND" value="bc3f3c" />
      </value>
    </option>
    <option name="XML_COMMENT">
      <value>
        <option name="FOREGROUND" value="bc9458" />
        <option name="FONT_TYPE" value="2" />
      </value>
    </option>
    <option name="XML_PROLOGUE">
      <value>
        <option name="FOREGROUND" value="e8bf6a" />
      </value>
    </option>
    <option name="XML_TAG_NAME">
      <value>
        <option name="FOREGROUND" value="cc7832" />
      </value>
    </option>
    <option name="XPATH.STRING">
      <value>
        <option name="FOREGROUND" value="a5c25c" />
        <option name="FONT_TYPE" value="1" />
      </value>
    </option>
  </attributes>
</scheme>
vsch commented 8 years ago

@jmcmichael thank you.

nazar-pc commented 8 years ago

You can take a look at my theme as well: https://github.com/nazar-pc/CleverStyle-PhpStorm-theme It is not Dracula-based, so a bit of diversity.

vsch commented 8 years ago

Thanks @nazar-pc. I will be checking it out now.

vsch commented 8 years ago

@jmcmichael, your custom theme needs to be changed so that it specifies its parent_scheme as Darcula not Default. Otherwise all custom colors not set in your scheme will take their defaults from Default not Darcula config.

Change the first line in your .icls to:

<scheme name="Darkula (Custom)" version="142" parent_scheme="Darcula">
vsch commented 8 years ago

@nazar-pc your scheme has the same problem as @jmcmichael

change the first line to:

<scheme name="CleverStyle" version="142" parent_scheme="Darcula">
nazar-pc commented 8 years ago

Can you tell me what is not set in my theme already so that it needs to extend Dracula?

vsch commented 8 years ago

The reason you need to extend Darcula is so that any plugins or added elements in the future will at least use the right default colors from Darcula and not from Default. Trying to set all the colors is futile because you need to account for every possible plugin present and future. That is the reason there is a scheme inheritance mechanism.

As for idea-multimarkdown the current colors are listed in preferences Editor Colors & Fonts > MultiMarkdown or you can take a look at the default scheme colors in the plugins jar file in the colorSchemes directory.

That list will change as new parsing elements are added.

nazar-pc commented 8 years ago

I understand that, but I'd like to see more inheritance from defaults so that it will look better with any theme. You can have light or dark theme, but in any case it should look fine with inheritance. It is also easier for theme developers to maintain because of less elements being hardcoded.

vsch commented 8 years ago

The issue with inheritance is that markdown elements do not map logically to Language Defaults. This means that multiple elements will have to map to the same default language element.

I will still have to provide custom colors even if there is inheritance to some defaults to distinguish different elements in markdown or the default plugin scheme will be inadequate. Depending on how language defaults were customized the inheritance will look good in some schemes, acceptable in some and inadequate in others. No matter how I map the inheritance the issue with your color scheme will exist as long as I have some custom colors defined for elements, even if they inherit from Language Defaults because your color scheme will cause the IDE to select from the wrong default scheme provided by the plugin.

Here are some screenshots of your scheme with custom language plugins including MultiMarkdown, with inheritance from Default as you have now on the left and with inheritance changed to Darcula on the right. You will see that the issue is not with inheritance in language elements but with the inheritance in the color scheme. All languages look acceptable when the inheritance is properly specified in the custom dark scheme. However, uncorrected even Language Defaults do not conform to dark scheme expectations.

screen shot 2015-12-02 at 12 09 59 pm screen shot 2015-12-02 at 12 06 29 pm screen shot 2015-12-02 at 12 11 39 pm screen shot 2015-12-02 at 12 13 01 pm
nazar-pc commented 8 years ago

Yes, it looks better when extending Dracula indeed, thanks

vsch commented 8 years ago

@nazar-pc, you are welcome.

jmcmichael commented 8 years ago

I switched back to the default Darcula theme, and everything looks good - thanks! Sorry for taking so long to get back to you on the issue.

vsch commented 8 years ago

@jmcmichael, thank you for the update. I am glad to hear the issue was resolved.