{
    "name": "Grammalecte Color Scheme",
    "globals":
    {
        "background":               "hsl(210, 20%, 15%)",
        "foreground":               "hsl(210, 20%, 95%)",

        "caret":                    "hsl(210, 20%, 80%)",
        "block_caret":              "red",
        "line_highlight":           "hsl(210, 60%, 30%)",
        "bracket_options":          "underline bold",

        "selection":                "hsl(210, 50%, 20%)",
        "selection_border":         "hsl(210, 80%, 40%)",
        "selection_border_width":   "1",
        "selection_corner_style":   "cut",
        "selection_corner_radius":  "3",

        "invisibles":               "hsl(210, 20%, 40%)",

        "highlight":                "hsl(210, 100%, 60%)"
    },
    "rules":
    [
        {   "name": "Options command",      "scope": "options.command",     "foreground": "#50F0A0",                                                        "font_style": "bold",     },
        {   "name": "Options parameter",    "scope": "options.parameter",   "foreground": "#70B0F0",                                                        "font_style": "bold",     },

        {   "name": "Comment",              "scope": "comment",             "foreground": "hsl(210, 10%, 50%)"  },
        {   "name": "Comment within",       "scope": "comment.within",      "foreground": "hsl(210, 70%, 70%)"  },
        {   "name": "Bookmark",             "scope": "bookmark",            "foreground": "#A0F0FF",                "background": "#0050A0", },
        {   "name": "Graphline",            "scope": "graphline",           "foreground": "hsl(0, 100%, 80%)",      "background": "hsl(0, 100%, 20%)",      "font_style": "bold", },
        {   "name": "Graphname",            "scope": "string.graphname",    "foreground": "hsl(30, 100%, 80%)",     "background": "hsl(0, 100%, 20%)",      "font_style": "bold", },
        {   "name": "Graphcode",            "scope": "string.graphcode",    "foreground": "hsl(180, 100%, 80%)",    "background": "hsl(0, 100%, 20%)",      "font_style": "bold", },
        {   "name": "Error message",        "scope": "string.message",      "foreground": "hsl(0, 50%, 65%)",  },
        {   "name": "Error message esc",    "scope": "string.message.esc",  "foreground": "hsl(30, 100%, 65%)",     "background": "hsl(60, 100%, 12%)",     "font_style": "bold" },
        {   "name": "Error message URL",    "scope": "string.message.url",  "foreground": "hsl(180, 100%, 35%)",    "background": "hsl(180, 100%, 12%)",     },
        {   "name": "Test header",          "scope": "test.header",         "foreground": "hsl(150, 100%, 60%)",                                            "font_style": "bold" },
        {   "name": "Test option",          "scope": "test.error",          "foreground": "hsl(0, 90%, 67%)",  },
        {   "name": "Todo",                 "scope": "todo",                "foreground": "hsl(20, 90%, 60%)",                                              "font_style": "bold", },

        {   "name": "Entity brackets",      "scope": "entity.brackets",     "foreground": "#90A0A0",                "background": "#203030",  },
        {   "name": "Entity parenthesis",   "scope": "entity.parenthesis",  "foreground": "#A0A0C0",                "background": "#303035",  },

        {   "name": "Entity Action",        "scope": "entity.action",       "foreground": "#20F0F0",                "background": "#204040",                "font_style": "bold",  },
        {   "name": "Entity Condi Green",   "scope": "entity.cond.green",   "foreground": "#20F020",                "background": "#204020",                "font_style": "bold",  },
        {   "name": "Entity Condi Red",     "scope": "entity.cond.red",     "foreground": "#F02020",                "background": "#402020",                "font_style": "bold",  },
        {   "name": "Entity error",         "scope": "entity.error",        "foreground": "#FF7070",                "background": "#602020",                "font_style": "bold",  },
        {   "name": "Entity error group",   "scope": "entity.error.group",  "foreground": "#F0F060",                "background": "#602020",                "font_style": "bold",  },
        {   "name": "Entity tag",           "scope": "entity.tag",          "foreground": "#FF70FF",                "background": "#602060",                "font_style": "bold",  },
        {   "name": "Entity tag group",     "scope": "entity.tag.group",    "foreground": "#F0B0F0",                "background": "#602060",                "font_style": "bold",  },
        {   "name": "Entity tproc",         "scope": "entity.tproc",        "foreground": "#30FF30",                "background": "#204020",                "font_style": "bold",  },
        {   "name": "Entity tproc group",   "scope": "entity.tproc.group",  "foreground": "#F0F0A0",                "background": "#204020",                "font_style": "bold",  },
        {   "name": "Entity disambiguator", "scope": "entity.disambiguator","foreground": "#FF9020",                "background": "#704010",                "font_style": "bold",  },

        {   "name": "Rule options",         "scope": "rule.options",        "foreground": "#F0A020",                                                        "font_style": "bold",  },
        {   "name": "Rule casing",          "scope": "rule.casing",         "foreground": "#30C0F0",                                                        "font_style": "bold",  },
        {   "name": "Rule action option",   "scope": "rule.actionoption",   "foreground": "hsl(0, 50%, 50%)",       "background": "hsl(330, 50%, 20%)",     "font_style": "bold",   },
        {   "name": "Rule option name",     "scope": "rule.optionname",     "foreground": "hsl(330, 80%, 80%)",     "background": "hsl(330, 60%, 20%)",     "font_style": "bold",   },
        {   "name": "Rule name (regex)",    "scope": "rule.rulename_regex", "foreground": "#A0A0A0",                                                        "font_style": "italic",  },
        {   "name": "Rule name (graph)",    "scope": "rule.rulename_graph", "foreground": "#F0D080",  },
        {   "name": "Rule priority",        "scope": "rule.priority",       "foreground": "#F06060",  },
        {   "name": "Rule antipattern",     "scope": "rule.antipattern",    "foreground": "hsl(0, 80%, 60%)",       "background": "hsl(0, 50%, 20%)" },
        {   "name": "Rule antipattern token", "scope": "rule.antipattern.token", "foreground": "hsl(0, 60%, 90%)", },

        {   "name": "Entity Valid",         "scope": "entity.valid",        "foreground": "hsl(150, 100%, 80%)",    "background": "hsl(150, 100%, 20%)",    "font_style": "bold",   },
        {   "name": "Entity Invalid",       "scope": "entity.invalid",      "foreground": "hsl(0, 100%, 80%)",      "background": "hsl(0, 100%, 20%)",      "font_style": "bold",   },
        {   "name": "Token meta",           "scope": "string.meta",         "foreground": "hsl(270, 100%, 90%)",    "background": "hsl(270, 100%, 40%)",  },
        {   "name": "Token token",          "scope": "string.token",        "foreground": "hsl(240, 50%, 90%)",     "background": "hsl(240, 50%, 40%)",  },
        {   "name": "Token Jumptoken",      "scope": "string.jumptoken",    "foreground": "hsl(0, 50%, 90%)",       "background": "hsl(10, 50%, 40%)",  },
        {   "name": "Token lemma",          "scope": "string.lemma",        "foreground": "hsl(210, 100%, 80%)",    "background": "hsl(210, 100%, 15%)",  },
        {   "name": "Token phonet",         "scope": "string.phonet",       "foreground": "hsl(90, 100%, 80%)",     "background": "hsl(90, 100%, 10%)",  },
        {   "name": "Token tag",            "scope": "string.tag",          "foreground": "hsl(30, 100%, 90%)",     "background": "hsl(30, 100%, 20%)",  },
        {   "name": "Token regex",          "scope": "string.regex",        "foreground": "hsl(60, 100%, 80%)",     "background": "hsl(60, 100%, 10%)",  },
        {   "name": "Token morph regex",    "scope": "string.morph.regex",  "foreground": "hsl(150, 80%, 90%)",     "background": "hsl(150, 80%, 10%)",  },
        {   "name": "Token morph negregex", "scope": "string.morph.negregex", "foreground": "hsl(0, 80%, 90%)",     "background": "hsl(0, 80%, 10%)",  },
        {   "name": "MulToken morph regex", "scope": "string.mt.morph.regex", "foreground": "hsl(180, 80%, 90%)",   "background": "hsl(180, 80%, 10%)",  },


        {   "name": "Keyword Python",       "scope": "keyword.python",      "foreground": "#A0A0A0",  },

        {   "name": "Keyword",              "scope": "keyword - (source.c keyword.operator | source.c++ keyword.operator | source.objc keyword.operator | source.objc++ keyword.operator), keyword.operator.word",  "foreground": "#F06070", },
        {   "name": "String",               "scope": "string",              "foreground": "hsl(40, 100%, 80%)",  },
        {   "name": "Number",               "scope": "constant.numeric",    "foreground": "hsl(270, 100%, 70%)",                                            "font_style": "bold",  },


        {   "name": "Built-in constant",            "scope": "constant.language",                   "foreground": "#AE81FF",                                    "font_style": "italic",  },
        {   "name": "User-defined constant",        "scope": "constant.character, constant.other",  "foreground": "#AE81FF",  },

        {   "name": "Storage",                      "scope": "storage",                             "foreground": "#F92672",                                    "font_style": "bold",  },
        {   "name": "Storage type",                 "scope": "storage.type",                        "foreground": "#66D9EF",                                    "font_style": "italic",  },
        {   "name": "Entity name",                  "scope": "entity.name - (entity.name.filename | entity.name.section | entity.name.tag | entity.name.label)",  "foreground": "#A0E030",  "font_style": "",    },
        {   "name": "Inherited inherited-class",    "scope": "entity.other.inherited-class",        "foreground": "#A6E22E",                                    "font_style": "italic underline",  },
        {   "name": "Function argument",            "scope": "variable.parameter - (source.c | source.c++ | source.objc | source.objc++)", "foreground": "#FD971F", "font_style": "italic",  },
        {   "name": "Language variable",            "scope": "variable.language",                   "foreground": "#FD971F",                                    "font_style": "italic",       },
        {   "name": "Tag name",                     "scope": "entity.name.tag",                     "foreground": "#F92672",                                    "font_style": "",     },
        {   "name": "Tag attribute",                "scope": "entity.other.attribute-name",         "foreground": "#A6E22E",                                    "font_style": "",     },
        {   "name": "Function call",                "scope": "variable.function",                   "foreground": "#66D9EF",                                    "font_style": "",     },
        {   "name": "Library function",             "scope": "support.function",                    "foreground": "#66D9EF",                                    "font_style": "",     },
        {   "name": "Library function debug",       "scope": "support.function.debug",              "foreground": "#F0F060",        "background": "#A05000",    "font_style": "",   },
        {   "name": "Library constant",             "scope": "support.constant",                    "foreground": "#66D9EF",                                    "font_style": "",     },
        {   "name": "Library class/type",           "scope": "support.type, support.class",         "foreground": "#66D9EF",                                    "font_style": "italic",       },
        {   "name": "Library variable",             "scope": "support.other.variable",                                                                          "font_style": "",  },

        {   "name": "JavaScript Dollar",    "scope": "variable.other.dollar.only.js",                               "foreground": "#F92672",  },
        {   "name": "Definition",           "scope": "definition",                                                  "foreground": "#70B0F0",  "font_style": "bold",  },
        {   "name": "Variable",             "scope": "variable",                                                                              "font_style": "",  },
        {   "name": "Invalid",              "scope": "invalid",                                                     "foreground": "#F8F8F0",  "background": "#F92672", "font_style": "",     },
        {   "name": "Invalid deprecated",   "scope": "invalid.deprecated",                                          "foreground": "#F8F8F0",  "background": "#AE81FF",      },
        {   "name": "JSON String",          "scope": "meta.structure.dictionary.json string.quoted.double.json",    "foreground": "#CFCFC2",  },
        {   "name": "YAML String",          "scope": "string.unquoted.yaml",                                        "foreground": "#F8F8F2",  },
        {   "name": "diff.header",          "scope": "meta.diff, meta.diff.header",                                 "foreground": "#75715E",  },
        {   "name": "diff.deleted",         "scope": "markup.deleted",                                              "foreground": "#FF5050",  "font_style": "underline",  },
        {   "name": "diff.inserted",        "scope": "markup.inserted",                                             "foreground": "#A6E22E",  },
        {   "name": "diff.changed",         "scope": "markup.changed",                                              "foreground": "#E6DB74",  },
        {                                   "scope": "constant.numeric.line-number.find-in-files - match",          "foreground": "#AE81FFA0",  },
        {                                   "scope": "entity.name.filename",                                        "foreground": "#E6DB74",  },
    ]
}