context default
    keyword whole forever white
    keyword whole foreach white
    keyword whole using white
    keyword whole orelse white
    keyword whole andelse white
    keyword whole loop white
    keyword whole variable white
    keyword whole define white
    keyword whole break white
    keyword whole case white
    keyword whole continue white
    keyword whole do white
    keyword whole else white
    keyword whole for white
    keyword whole goto white
    keyword whole if white
    keyword whole !if white
    keyword whole return white
    keyword whole sizeof white
    keyword whole static white
    keyword whole struct white
    keyword whole switch white
    keyword whole typedef white
    keyword whole while white
    keyword whole typecast white
    keyword whole delete white
    keyword whole private white
    keyword whole protected white
    keyword whole public white
    keyword whole namespace white
    keyword whole implements white

    keyword whole EXIT_BLOCK white
    keyword whole ERROR_BLOCK white
    keyword whole EXECUTE_ERROR_BLOCK white

    keyword whole and white
    keyword whole or white
    keyword whole xor white


    keyword whole Char_Type yellow
    keyword whole UChar_Type yellow
    keyword whole Short_Type yellow
    keyword whole UShort_Type yellow
    keyword whole Integer_Type yellow
    keyword whole UInteger_Type yellow
    keyword whole Long_Type yellow
    keyword whole ULong_Type yellow
    keyword whole Float_Type yellow
    keyword whole Double_Type yellow
    keyword whole Complex_Type yellow
    keyword whole String_Type yellow
    keyword whole BString_Type yellow
    keyword whole Struct_Type yellow
    keyword whole Ref_Type yellow
    keyword whole Null_Type yellow
    keyword whole Array_Type yellow
    keyword whole DataType_Type yellow
    keyword whole Assoc_Type yellow

    keyword '\\\{"abtnvfr\}' brightgreen
    keyword '\\\{0123\}\{01234567\}\{01234567\}' brightgreen
    keyword '\\'' brightgreen
    keyword '\\\\' brightgreen
    keyword '\\0' brightgreen
    keyword '\{\s!"#$%&()\*\+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\}' brightgreen

    keyword > white
    keyword < white
    keyword \+ white
    keyword - white
    keyword \* white
    keyword / white
    keyword = white
    keyword != white
    keyword == white
    keyword ; white
    keyword { brightcyan
    keyword } brightcyan
    keyword ( brightcyan
    keyword ) brightcyan
    keyword [ brightcyan
    keyword ] brightcyan
    keyword , brightcyan
    keyword : brightcyan
context % \n brown
    spellcheck
context linestart # \n brightred
    keyword \\\n yellow
    keyword /\**\*/ brown
    keyword "+" red
    keyword <+> red
context " " green
    spellcheck
    keyword \\" brightgreen
    keyword \\\n brightgreen
    keyword %% brightgreen
    keyword %\[#0\s-\+,\]\[0123456789\]\[.\]\[0123456789\]\[L\]\{eEfgGoxX\} brightgreen
    keyword %\[0\s-\+,\]\[0123456789\]\[.\]\[0123456789\]\[hl\]\{diuxX\} brightgreen
    keyword %\[hl\]n brightgreen
    keyword %\[.\]\[0123456789\]s brightgreen
    keyword %[*] brightgreen
    keyword %c brightgreen
    keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
    keyword \\\\ brightgreen
    keyword \\' brightgreen
    keyword \\\{abtnvfr\} brightgreen
