Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proper colors inheritance #8

Closed
nazar-pc opened this issue Aug 30, 2015 · 29 comments
Closed

Proper colors inheritance #8

nazar-pc opened this issue Aug 30, 2015 · 29 comments
Labels

Comments

@nazar-pc
Copy link

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
Copy link
Owner

vsch commented Aug 30, 2015

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
Copy link
Author

Awesome, thanks!

@vsch
Copy link
Owner

vsch commented Sep 1, 2015

@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 added a commit that referenced this issue Sep 1, 2015
…hey are rendered correctly in Darcula

Change for issue #8, removed syntax highlighter inheritance from hidden DEFAULT_MARKDOWN type back to not inherited.
@vsch
Copy link
Owner

vsch commented Sep 1, 2015

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

@vsch vsch closed this as completed Sep 1, 2015
@nazar-pc
Copy link
Author

nazar-pc commented Sep 1, 2015

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 vsch reopened this Sep 1, 2015
@vsch
Copy link
Owner

vsch commented Sep 1, 2015

@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
Copy link
Owner

vsch commented Sep 1, 2015

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
Copy link
Author

nazar-pc commented Sep 1, 2015

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
Copy link
Owner

vsch commented Sep 1, 2015

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
Copy link
Author

nazar-pc commented Sep 1, 2015

I agree with you completely.

@nazar-pc
Copy link
Author

nazar-pc commented Sep 9, 2015

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

  • Headers from constant (looks fine in dark themes at least)
  • Escaped symbols can be inherited from valid escape symbols
  • Also links and images can be inherited from links
  • HTML parts can be inherited from strings I guess

@vsch
Copy link
Owner

vsch commented Sep 10, 2015

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
Copy link
Owner

vsch commented Sep 19, 2015

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

@jmcmichael
Copy link

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
Copy link
Owner

vsch commented Nov 29, 2015

@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
Copy link

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
Copy link
Owner

vsch commented Dec 2, 2015

@jmcmichael thank you.

@nazar-pc
Copy link
Author

nazar-pc commented Dec 2, 2015

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
Copy link
Owner

vsch commented Dec 2, 2015

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

@vsch
Copy link
Owner

vsch commented Dec 2, 2015

@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
Copy link
Owner

vsch commented Dec 2, 2015

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

change the first line to:

<scheme name="CleverStyle" version="142" parent_scheme="Darcula">

@vsch vsch added the fixed :) label Dec 2, 2015
@nazar-pc
Copy link
Author

nazar-pc commented Dec 2, 2015

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

@vsch
Copy link
Owner

vsch commented Dec 2, 2015

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
Copy link
Author

nazar-pc commented Dec 2, 2015

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
Copy link
Owner

vsch commented Dec 2, 2015

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
Copy link
Author

nazar-pc commented Dec 2, 2015

Yes, it looks better when extending Dracula indeed, thanks

@vsch
Copy link
Owner

vsch commented Dec 2, 2015

@nazar-pc, you are welcome.

@jmcmichael
Copy link

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
Copy link
Owner

vsch commented Dec 9, 2015

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants