Monokai / monokai-pro-sublime-text

Monokai Pro: beautiful functionality for professional developers
193 stars 7 forks source link

Light theme variation? #83

Open medeman opened 6 years ago

medeman commented 6 years ago

I tried this theme out and I think it's great. However, I personally can't look at dark interfaces for too long without it causing eyestrain.

Is it possible/on your roadmap to add a light theme variation (light gray/white/solarized yellow-ish background)? That'd be awesome!

keithrussell42 commented 5 years ago

For me I love the dark theme but when I'm coding outside in the sun some of the colours are hard to make out. If I could flip the background to white I think it would be more legible. It wouldn't be as attractive but sometimes you have to make sacrifices for your craft.

Edit: after using the existing theme in various conditions I'm no longer sure I would actually want a light version. The fact that the colours are bright and nicely balanced but with enough contrast to make them visible in most any setting I've been in makes me like the theme the way it is. If I end up in bright enough glare that only black on white is visible then I have bigger problems (like my terminal being unreadable). I had tried a lot of open source themes in the past both light and dark. The brght ones were all washed out and as unreadable in bright light as dark. So I retract my vote for a light theme. It's beautiful just the way it is.

wtgee commented 5 years ago

Hard for me to rationalize paying for a license when there is no light variation. Currently sitting outside and can't use any of the Monokai Pro schemes, which is unfortunate. Would definitely pay if light version was available.

Thanks for great dark version though! :)

michaelmcdonald commented 5 years ago

Throwing my vote in for a light theme as well. There are definitely times where I like dark, and definitely times where I like light.

juliojordan commented 4 years ago

Light theme is the new black. 😎 This summer, I had a lot of issues with my eyes, and I read about the topic. Seems that light themes are better for the sight unless your are coding in the dark.

NetOpWibby commented 4 years ago

Someone should make light theme variants but what to call it?

vbasky commented 4 years ago

Need a light theme please

vbasky commented 3 years ago

Is there any consideration, do we have updates ?

tempertemper commented 3 years ago

Sublime Text 4 (just released) has light_color_scheme and dark_color_scheme, and light_theme and dark_theme preferences. It would be great if light variants of the UI and highlighting were available.

vbasky commented 1 year ago

Is this abandoned ?

mc0de commented 1 month ago

i don't mind sharing mine spin of light color scheme, Filter Aurora, no light UI yet.

place under ~/Library/Application Support/Sublime Text/Packages/User/Monokai Pro (Filter Aurora).sublime-color-scheme

EDIT: Fixed too dark colors, added yellow'ish bg

{
    "name": "Monokai Pro (Filter Aurora)",
    "author": "Monokai",
    "uuid": "3ed0081a-a9c8-4bde-bfad-5f78e71e73de",
    "colorSpaceName": "sRGB",
    "variables": {
        "red": "#f63d77",
        "orange": "#fb6214",
        "yellow": "#e8b30a",
        "green": "#3aad53",
        "blue": "#1ba5bf",
        "purple": "#7358cf",
        "black": "#fdf9f3",
        "white": "#3d3d3d",
        "accent1": "#f63d77",
        "accent2": "#fb6214",
        "accent3": "#e8b30a",
        "accent4": "#3aad53",
        "accent5": "#1ba5bf",
        "accent6": "#7358cf"
    },
    "globals": {
        "background": "#fdf9f3",
        "foreground": "#3d3d3d",
        "invisibles": "#adafac",
        "caret": "#3d3d3d",
        "block_caret": "#747770",
        "guide": "#ecedec",
        "stack_guide": "#ecedec",
        "active_guide": "#adafac",
        "selection": "#ecedec",
        "selection_border": "#ecedec",
        "selection_border_width": "1",
        "selection_corner_style": "round",
        "selection_corner_radius": "2",
        "line_highlight": "#080e000c",
        "bracket_contents_options": "underline",
        "tags_options": "stippled_underline",
        "gutter": "#fdf9f3",
        "gutter_foreground": "#adafac",
        "shadow": "#ffffff00",
        "shadow_width": "0",
        "highlight": "#969893",
        "find_highlight": "#e8b30a",
        "find_highlight_foreground": "#fdf9f3",
        "misspelling": "#f63d77",
        "fold_marker": "#e8b30a",
        "accent": "#e8b30a",
        "line_diff_width": "2",
        "line_diff_added": "#3aad53",
        "line_diff_modified": "#e8b30a",
        "line_diff_deleted": "#f63d77",
        "popup_css": "html {--background: #fdf9f3;--foreground: #3d3d3d;--redish: #f63d77;--orangish: #fb6214;--yellowish: #e8b30a;--greenish: #3aad53;--bluish: #1ba5bf;--purplish: #7358cf;--pinkish: #f63d77; background-color: #ecedec;color: #3d3d3d;} a {color: var(--yellowish);}"
    },
    "rules": [
        {
            "name": "Comments and overrides inside comments",
            "scope": "comment, comment keyword, comment markup.underline.link, comment string, comment punctuation.definition, comment punctuation, comment text",
            "font_style": "italic",
            "foreground": "#969893"
        },
        {
            "name": "JSDoc storage type",
            "scope": "comment storage.type",
            "foreground": "#969893"
        },
        {
            "name": "JSDoc entity name",
            "scope": "comment entity.name.type",
            "foreground": "#5d5d5d"
        },
        {
            "name": "JSDoc variable",
            "scope": "comment variable, comment variable.other",
            "foreground": "#5d5d5d"
        },
        {
            "name": "PHPDoc keyword",
            "scope": "comment keyword, comment entity.name.tag, entity.name.tag.documentation",
            "foreground": "#5d5d5d"
        },
        {
            "name": "Comment TODO / FIXME (at least in VSCode Python)",
            "scope": "comment keyword.codetag.notation",
            "foreground": "#7358cf"
        },
        {
            "name": "Git status remote",
            "scope": "comment.git-status.header.remote",
            "foreground": "#f63d77"
        },
        {
            "name": "Git status local",
            "scope": "comment.git-status.header.local",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Git status remote",
            "scope": "comment.other.git-status.head",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Docstring",
            "scope": "string.quoted.docstring, string.quoted.docstring punctuation.definition",
            "foreground": "#969893"
        },
        {
            "name": "Constant",
            "scope": "constant",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant",
            "scope": "constant.other",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Constant",
            "scope": "constant.other.caps",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant",
            "foreground": "#7358cf"
        },
        {
            "name": "Placeholders in C",
            "scope": "constant.other.placeholder.c",
            "foreground": "#fb6214"
        },
        {
            "name": "Constant as property",
            "scope": "constant.other.property",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant in latex",
            "scope": "constant.other.citation.latex",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant as color (in css / sass)",
            "scope": "constant.other.color",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant as character class escape (e.g. in regex)",
            "scope": "constant.other.character-class.escape",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant as key (e.g. in puppet manifests)",
            "scope": "constant.other.key",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant as symbol (e.g. in ruby)",
            "scope": "constant.other.symbol",
            "foreground": "#fb6214"
        },
        {
            "name": "Constants in elm",
            "scope": "constant.other.elm",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Number",
            "scope": "constant.numeric",
            "foreground": "#7358cf"
        },
        {
            "name": "Constant",
            "scope": "constant.language",
            "foreground": "#7358cf"
        },
        {
            "name": "Character escape",
            "scope": "constant.character.escape",
            "foreground": "#7358cf"
        },
        {
            "name": "Search result line numbers",
            "scope": "constant.numeric.line-number.find-in-files",
            "foreground": "#adafac"
        },
        {
            "name": "Search result matched line numbes",
            "scope": "constant.numeric.line-number.match.find-in-files",
            "foreground": "#e8b30a"
        },
        {
            "name": "Sections",
            "scope": "entity.name.section",
            "foreground": "#e8b30a"
        },
        {
            "name": "Functions",
            "scope": "entity.name.function, entity.name.function.templated, entity.name.function.member.static",
            "foreground": "#3aad53"
        },
        {
            "name": "Class template",
            "scope": "entity.name.type.class.templated, entity.name.type.class.generic, entity.name.type.namespace",
            "foreground": "#1ba5bf"
        },
        {
            "name": "label",
            "scope": "entity.name.label",
            "foreground": "#7358cf"
        },
        {
            "name": "Macros",
            "scope": "entity.name.function.preprocessor",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Entity name",
            "scope": "entity.name",
            "foreground": "#3aad53"
        },
        {
            "name": "Class name",
            "scope": "entity.name.class",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Constant name",
            "scope": "entity.name.constant",
            "foreground": "#7358cf"
        },
        {
            "name": "Namespace",
            "scope": "entity.name.namespace",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Inherited class",
            "scope": "entity.other.inherited-class",
            "font_style": "italic",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Function name",
            "scope": "entity.name.function",
            "foreground": "#3aad53"
        },
        {
            "name": "Tag name",
            "scope": "entity.name.tag, entity.name.tag.js.jsx support.class.component.js.jsx, entity.name.tag support.class.component, source.vue support.class.component",
            "foreground": "#f63d77"
        },
        {
            "name": "Operator",
            "scope": "entity.name.function.operator",
            "foreground": "#f63d77"
        },
        {
            "name": "Operator",
            "scope": "meta.brackets entity.name.function.operator, punctuation.separator entity.name.function.operator",
            "foreground": "#747770"
        },
        {
            "name": "Entity name type",
            "scope": "entity.name.type, entity.name.type.class.reference, entity.name.type.class.value",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Tag attribute",
            "scope": "entity.other.attribute-name",
            "font_style": "italic",
            "foreground": "#1ba5bf"
        },
        {
            "name": "CSS class",
            "scope": "entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector-suffix.css, entity.other.attribute-name.parent-selector-suffix.css punctuation.definition.entity.css, entity.other.attribute-name.css, entity.other.animation-name.css",
            "foreground": "#3aad53"
        },
        {
            "name": "CSS id",
            "scope": "entity.other.attribute-name.id.css",
            "foreground": "#fb6214"
        },
        {
            "name": "CSS pseudo class",
            "scope": "entity.other.attribute-name.pseudo-class.css, entity.other.pseudo-class.css, entity.other.pseudo-element.css",
            "font_style": "italic",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Function names / calls",
            "scope": "entity.name.function, support.function",
            "foreground": "#3aad53"
        },
        {
            "name": "git status commit hex",
            "scope": "entity.other.git-status.hex",
            "foreground": "#7358cf"
        },
        {
            "name": "jinja delimiters",
            "scope": "entity.other.jinja2.delimiter",
            "foreground": "#747770"
        },
        {
            "name": "custom literal",
            "scope": "entity.name.operator.custom-literal",
            "foreground": "#3d3d3d"
        },
        {
            "name": "custom literal string",
            "scope": "entity.name.operator.custom-literal.string",
            "foreground": "#e8b30a"
        },
        {
            "name": "custom literal number",
            "scope": "entity.name.operator.custom-literal.number",
            "foreground": "#7358cf"
        },
        {
            "name": "rust specific",
            "scope": "entity.name.type.rust",
            "foreground": "#1ba5bf"
        },
        {
            "name": "rust specific",
            "scope": "entity.name.lifetime.rust",
            "foreground": "#f63d77"
        },
        {
            "name": "Invalid",
            "scope": "invalid",
            "foreground": "#f63d77",
            "font_style": "italic underline"
        },
        {
            "name": "Invalid deprecated",
            "scope": "invalid.deprecated",
            "foreground": "#fb6214",
            "font_style": "italic underline"
        },
        {
            "name": "Keyword",
            "scope": "keyword",
            "foreground": "#f63d77"
        },
        {
            "name": "Control keywords examples include if, try, end and while. Some syntaxes prefer to mark if and else with the conditional variant. The import variant is often used in appropriate situations.",
            "scope": "keyword.control",
            "foreground": "#f63d77"
        },
        {
            "name": "keyword control directive",
            "scope": "keyword.control.directive",
            "foreground": "#f63d77"
        },
        {
            "name": "Operator",
            "scope": "keyword.operator, keyword.operator.member, keyword.operator.new",
            "foreground": "#f63d77"
        },
        {
            "name": "Substitution string",
            "scope": "keyword.other.substitution",
            "foreground": "#747770"
        },
        {
            "name": "Template literal begin / end",
            "scope": "keyword.other.template.begin, keyword.other.template.end",
            "foreground": "#f63d77"
        },
        {
            "name": "RestructuredText heading, table markup",
            "scope": "keyword.operator.heading.restructuredtext, keyword.operator.table.row.restructuredtext keyword.operator.table.data.restructuredtext",
            "foreground": "#747770"
        },
        {
            "name": "elm parenthesis",
            "scope": "keyword.other.parenthesis.elm",
            "foreground": "#747770"
        },
        {
            "name": "rust specific",
            "scope": "keyword.other.fn.rust, keyword.other.rust, keyword.other.unsafe.rust, keyword.other.where.rust",
            "foreground": "#1ba5bf"
        },
        {
            "name": "rust specific",
            "scope": "keyword.control.rust, keyword.operator.misc.rust",
            "foreground": "#f63d77"
        },
        {
            "name": "ruby specific",
            "scope": "keyword.declaration.class.ruby, keyword.declaration.function.ruby, keyword.declaration.namespace.ruby",
            "foreground": "#f63d77"
        },
        {
            "name": "Italic",
            "scope": "markup.italic",
            "font_style": "italic"
        },
        {
            "name": "Bold",
            "scope": "markup.bold",
            "font_style": "bold"
        },
        {
            "name": "Heading",
            "scope": "markup.heading",
            "foreground": "#e8b30a"
        },
        {
            "name": "Raw",
            "scope": "markup.raw",
            "foreground": "#fb6214"
        },
        {
            "name": "Underline",
            "scope": "markup.underline",
            "font_style": "underline"
        },
        {
            "name": "Link",
            "scope": "markup.underline.link",
            "foreground": "#3aad53"
        },
        {
            "name": "Diff inserted",
            "scope": "markup.inserted, markup.inserted punctuation.definition.inserted",
            "foreground": "#3aad53"
        },
        {
            "name": "Diff deleted",
            "scope": "markup.deleted, markup.deleted punctuation.definition.deleted",
            "foreground": "#f63d77"
        },
        {
            "name": "Diff changed",
            "scope": "markup.changed, markup.changed punctuation.definition.changed",
            "foreground": "#e8b30a"
        },
        {
            "name": "Diff ignored",
            "scope": "markup.ignored, markup.ignored punctuation.definition.ignored",
            "foreground": "#747770"
        },
        {
            "name": "Diff untracked",
            "scope": "markup.untracked",
            "foreground": "#747770"
        },
        {
            "name": "Markup quote",
            "scope": "markup.quote",
            "font_style": "italic"
        },
        {
            "name": "Braces, delimiters",
            "scope": "meta.brace.round, meta.brace.square, meta.brace.curly, meta.delimiter.comma.js, meta.function-call.without-arguments.js, meta.function-call.method.without-arguments.js",
            "foreground": "#747770"
        },
        {
            "name": "Function call (vs)",
            "scope": "meta.function-call.generic.python, support.function.builtin.python",
            "foreground": "#3aad53"
        },
        {
            "name": "Function arguments (vs)",
            "scope": "meta.function-call.python meta.function-call.arguments.python",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Constructor (new MyClass())",
            "scope": "meta.instance.constructor",
            "foreground": "#3aad53"
        },
        {
            "name": "Class string name (i.e. in html attributes)",
            "scope": "meta.attribute-with-value.class string, meta.attribute.class.html string",
            "foreground": "#3aad53"
        },
        {
            "name": "ID string name (i.e. in html attributes)",
            "scope": "meta.attribute-with-value.id string, meta.attribute.id.html string",
            "foreground": "#fb6214"
        },
        {
            "name": "JSON keys",
            "scope": "source.json meta.mapping.key string",
            "foreground": "#3d3d3d"
        },
        {
            "name": "YAML keys",
            "scope": "source.yaml meta.mapping.key string",
            "foreground": "#f63d77"
        },
        {
            "name": "Object members",
            "scope": "meta.object.member",
            "foreground": "#3d3d3d"
        },
        {
            "name": "SCSS Variable",
            "scope": "meta.property-list.css variable.other",
            "foreground": "#fb6214"
        },
        {
            "name": "Preprocessor",
            "scope": "entity.name.constant.preprocessor, meta.preprocessor",
            "foreground": "#7358cf"
        },
        {
            "name": "git diff header",
            "scope": "meta.diff.git-diff.header",
            "foreground": "#e8b30a"
        },
        {
            "name": "rust specific (brackets and certain type names)",
            "scope": "meta.type_params.rust",
            "foreground": "#3d3d3d"
        },
        {
            "name": "rust specific (variable.language.rust is 'self' keyword.",
            "scope": "meta.attribute.rust, meta.annotation.rust, variable.language.rust, variable.annotation.rust, meta.annotation.rust string, meta.annotation.rust keyword, meta.annotation.rust keyword.operator, meta.attribute.rust string",
            "foreground": "#5d5d5d"
        },
        {
            "name": "type annotation",
            "scope": "meta.type variable, meta.type variable.other.readwrite",
            "foreground": "#7358cf"
        },
        {
            "name": "Punctuation",
            "scope": "punctuation",
            "foreground": "#747770"
        },
        {
            "name": "Punctuation tags",
            "scope": "punctuation.definition.tag, punctuation.definition.tag source, punctuation.definition.group.begin.ruby, punctuation.definition.group.end.ruby, punctuation.definition.group.begin.css, punctuation.definition.group.end.css, punctuation.definition.string.end.html source.css, punctuation.definition.block, punctuation.definition.parameters.begin, punctuation.definition.parameters.end, punctuation.separator.parameter, punctuation.accessor, punctuation.terminator",
            "foreground": "#747770"
        },
        {
            "name": "Group (i.e. in regex)",
            "scope": "punctuation.definition.group",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Comment start / end",
            "scope": "punctuation.definition.comment",
            "foreground": "#969893"
        },
        {
            "name": "Variable indicator (i.e. in php or in include directives in sass)",
            "scope": "punctuation.definition.variable, punctuation.definition.keyword.scss, punctuation.definition.entity.css",
            "foreground": "#5d5d5d"
        },
        {
            "name": "Punctuation section embedded (i.e. ?php blocks in html)",
            "scope": "punctuation.section.embedded, punctuation.section.embedded entity.name.tag, punctuation.section.embedded constant.other, punctuation.section.embedded source, punctuation.section.embedded.begin",
            "foreground": "#fb6214"
        },
        {
            "name": "Punctuation template string (`example`)",
            "scope": "punctuation.template-string.element.begin, punctuation.template-string.element.end, punctuation.definition.string.template.begin, punctuation.definition.string.template.end, string.quoted.template punctuation.definition.string.begin, string.quoted.template punctuation.definition.string.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end",
            "foreground": "#f63d77"
        },
        {
            "name": "Punctuation hard line break in Markdown",
            "scope": "meta.paragraph.markdown meta.dummy.line-break, meta.paragraph.markdown meta.hard-line-break.markdown",
            "background": "#7358cf"
        },
        {
            "name": "Punctuation in markdown links",
            "scope": "markup.underline.link punctuation",
            "foreground": "#3aad53"
        },
        {
            "name": "Meta braces",
            "scope": "meta.brace.round, meta.brace.square, keyword.operator.type.annotation, meta.type storage.modifier.array",
            "foreground": "#747770"
        },
        {
            "name": "region red color",
            "scope": "region.redish",
            "foreground": "#f63d77",
            "background": "#e31b6359"
        },
        {
            "name": "region orange color",
            "scope": "region.orangish",
            "foreground": "#fb6214",
            "background": "#ec460a59"
        },
        {
            "name": "region yellow color",
            "scope": "region.yellowish",
            "foreground": "#e8b30a",
            "background": "#c88a0659"
        },
        {
            "name": "region green color",
            "scope": "region.greenish",
            "foreground": "#3aad53",
            "background": "#2a8f4059"
        },
        {
            "name": "region blue color",
            "scope": "region.bluish",
            "foreground": "#1ba5bf",
            "background": "#1984a159"
        },
        {
            "name": "region purple color",
            "scope": "region.purplish",
            "foreground": "#7358cf",
            "background": "#7358cf59"
        },
        {
            "name": "region pink color",
            "scope": "region.pinkish",
            "foreground": "#f63d77",
            "background": "#e31b6359"
        },
        {
            "name": "White for ST3 for non-colorized scheme",
            "scope": "region.whitish",
            "foreground": "#000000"
        },
        {
            "name": "source",
            "scope": "source",
            "foreground": "#3d3d3d"
        },
        {
            "name": "SASS, SCSS default",
            "scope": "source.scss, source.sass",
            "foreground": "#747770"
        },
        {
            "name": "SASS, SCSS and LESS variables",
            "scope": "source.sass variable.other, source.sass variable.sass, source.scss variable.other, source.scss variable.scss, source.scss variable.sass, source.css variable.other, source.css variable.scss, source.less variable.other, source.less variable.other.less, source.less variable.declaration.less",
            "font_style": "italic",
            "foreground": "#fb6214"
        },
        {
            "name": "git",
            "scope": "source.git-show.commit.sha",
            "foreground": "#7358cf"
        },
        {
            "name": "git",
            "scope": "source.git-show.author, source.git-show.date, source.git-diff.command, source.git-diff.command meta.diff.git-diff.header.from-file, source.git-diff.command meta.diff.git-diff.header.to-file",
            "foreground": "#747770"
        },
        {
            "name": "git diff header hash",
            "scope": "source.git-show meta.diff.git-diff.header.extended.index.from-sha, source.git-show meta.diff.git-diff.header.extended.index.to-sha",
            "foreground": "#7358cf"
        },
        {
            "name": "git diff header range",
            "scope": "source.git-show meta.diff.range.unified",
            "foreground": "#fb6214"
        },
        {
            "name": "git diff header files",
            "scope": "source.git-show meta.diff.header.from-file, source.git-show meta.diff.header.to-file",
            "foreground": "#747770"
        },
        {
            "name": "Storage",
            "scope": "storage",
            "foreground": "#f63d77"
        },
        {
            "name": "Types and definition / declaration keywords should use the following scope. Examples include int, bool, char, func, function, class and def. Depending on the language and semantics, const may be this or storage.modifier.",
            "scope": "storage.type",
            "font_style": "italic",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Extends",
            "scope": "storage.type.extends",
            "font_style": "normal",
            "foreground": "#f63d77"
        },
        {
            "name": "Fat arrow function",
            "scope": "storage.type.function.arrow",
            "font_style": "normal",
            "foreground": "#f63d77"
        },
        {
            "name": "Keywords that affect the storage of a variable, function or data structure should use the following scope. Examples include static, inline, const, public and private.",
            "scope": "storage.modifier, storage.type.modifier",
            "font_style": "italic",
            "foreground": "#f63d77"
        },
        {
            "name": "refs (Restructured text)",
            "scope": "storage.class.restructuredtext.ref",
            "foreground": "#7358cf"
        },
        {
            "name": "rust specific",
            "scope": "storage.modifier.visibility.rust, storage.modifier.lifetime.rust",
            "foreground": "#f63d77"
        },
        {
            "name": "rust specific",
            "scope": "storage.modifier.const.rust, storage.modifier.dyn.rust, storage.modifier.mut.rust, storage.modifier.static.rust, storage.type.rust, storage.type.core.rust, storage.class.std.rust",
            "foreground": "#1ba5bf"
        },
        {
            "name": "rust specific (adjust blue to red)",
            "scope": "storage.type.rust, storage.modifier.const.rust, storage.modifier.dyn.rust, storage.modifier.mut.rust, storage.modifier.static.rust, keyword.other.rust, keyword.other.where.rust",
            "foreground": "#f63d77"
        },
        {
            "name": "imported Java libraries",
            "scope": "storage.modifier.import.java",
            "foreground": "#3d3d3d"
        },
        {
            "name": "String",
            "scope": "string",
            "foreground": "#e8b30a"
        },
        {
            "name": "String label",
            "scope": "string.unquoted.label",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Source in template string",
            "scope": "string source",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Embedded punctuation begin / end in template string",
            "scope": "string source punctuation.section.embedded, string punctuation.definition.string source",
            "foreground": "#747770"
        },
        {
            "name": "link title",
            "scope": "string.other.link.title, string.other.link.description",
            "foreground": "#f63d77"
        },
        {
            "name": "link description",
            "scope": "string.other.link.description.title",
            "foreground": "#1ba5bf"
        },
        {
            "name": "String regexp begin / end",
            "scope": "string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end",
            "foreground": "#f63d77"
        },
        {
            "name": "refs (Restructured text)",
            "scope": "string.other.ref, string.other.restructuredtext.ref",
            "foreground": "#3aad53"
        },
        {
            "name": "git key in git status help text",
            "scope": "string.other.git-status.help.key",
            "foreground": "#5d5d5d"
        },
        {
            "name": "git status remote",
            "scope": "string.other.git-status.remote",
            "foreground": "#f63d77"
        },
        {
            "name": "Library constant",
            "scope": "support.constant",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Handlebars start / end",
            "scope": "support.constant.handlebars",
            "foreground": "#747770"
        },
        {
            "name": "vendor prefix",
            "scope": "support.type.vendor-prefix.css",
            "foreground": "#5d5d5d"
        },
        {
            "name": "Function name",
            "scope": "support.function",
            "foreground": "#3aad53"
        },
        {
            "name": "function brackets, comma's",
            "scope": "support.function.delimiter.elm",
            "foreground": "#747770"
        },
        {
            "name": "Library type",
            "scope": "support.type, entity.name.type.object.console",
            "font_style": "italic",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Support variables",
            "scope": "support.variable, support.variable.property",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Library type property, JSON keys",
            "scope": "support.type.property-name",
            "font_style": "normal",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Library class",
            "scope": "support.class",
            "foreground": "#1ba5bf"
        },
        {
            "name": "rust specific",
            "scope": "support.constant.core.rust",
            "foreground": "#7358cf"
        },
        {
            "name": "comment support",
            "scope": "comment support, comment support.class",
            "foreground": "#969893"
        },
        {
            "name": "text",
            "scope": "text",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Search result",
            "scope": "text.find-in-files",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Variable",
            "scope": "variable, variable.other",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Function arguments",
            "scope": "variable.parameter, parameters variable.function",
            "font_style": "italic",
            "foreground": "#fb6214"
        },
        {
            "name": "Reserved variable names that are specified by the language, such as this, self, super, arguments. Also in function arguments (e.g. like in Python)",
            "scope": "variable.language, variable.parameter.function.language.special.self.python, variable.parameter.function.language.special.cls.python",
            "font_style": "italic",
            "foreground": "#5d5d5d"
        },
        {
            "name": "Reserved variable names: 'arguments'",
            "scope": "variable.language.arguments",
            "foreground": "#7358cf"
        },
        {
            "name": "Library function",
            "scope": "variable.other.class",
            "foreground": "#1ba5bf"
        },
        {
            "name": "Immutable variables, often via a const modifier, should receive the following scope. Depending on the language and semantics, entity.name.constant may be a better choice.",
            "scope": "variable.other.constant",
            "foreground": "#7358cf"
        },
        {
            "name": "read/write variables",
            "scope": "variable.other.readwrite",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Fields, properties, members and attributes of a class or other data structure should use:",
            "scope": "variable.other.member",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Enum member",
            "scope": "variable.other.enummember",
            "foreground": "#7358cf"
        },
        {
            "name": "Variable property",
            "scope": "variable.other.property, variable.other.property.static, variable.other.event",
            "foreground": "#3d3d3d"
        },
        {
            "name": "Function and method names should be scoped using the following, but only when they are being invoked. When defined, they should use entity.name.function.",
            "scope": "variable.function",
            "foreground": "#3aad53"
        },
        {
            "name": "Substitution (restructured text)",
            "scope": "variable.other.substitution",
            "foreground": "#fb6214"
        },
        {
            "name": "Ruby instance variables",
            "scope": "source.ruby variable.other.readwrite.instance.ruby, source.ruby variable.other.readwrite.class.ruby",
            "foreground": "#7358cf"
        },
        {
            "name": "jinja2 variable block",
            "scope": "source.jinja2 variable.other.jinja2.block",
            "foreground": "#3aad53"
        },
        {
            "name": "jinja2 variable",
            "scope": "source.jinja2 variable.other.jinja2",
            "foreground": "#fb6214"
        }
    ]
}