context default
    keyword whole linestart %addmethods red/orange
    keyword whole linestart %alpha red/orange
    keyword whole linestart %apply red/orange
    keyword whole linestart %checkout red/orange
    keyword whole linestart %clear red/orange
    keyword whole linestart %disabledoc red/orange
    keyword whole linestart %doconly red/orange
    keyword whole linestart %echo red/orange
    keyword whole linestart %enabledoc red/orange
    keyword whole linestart %except red/orange
    keyword whole linestart %extern red/orange
    keyword whole linestart %import red/orange
    keyword whole linestart %include red/orange
    keyword whole linestart %init red/orange
    keyword whole linestart %inline red/orange
    keyword whole linestart %localstyle red/orange
    keyword whole linestart %module red/orange
    keyword whole linestart %name red/orange
    keyword whole linestart %native red/orange
    keyword whole linestart %new red/orange
    keyword whole linestart %out red/orange
    keyword whole linestart %pragma red/orange
    keyword whole linestart %raw red/orange
    keyword whole linestart %readonly red/orange
    keyword whole linestart %readwrite red/orange
    keyword whole linestart %rename red/orange
    keyword whole linestart %section red/orange
    keyword whole linestart %style red/orange
    keyword whole linestart %subsection red/orange
    keyword whole linestart %subsubsection red/orange
    keyword whole linestart %text red/orange
    keyword whole linestart %title red/orange
    keyword whole linestart %typedef red/orange
    keyword whole linestart %typemap red/orange
    keyword whole linestart %val red/orange
    keyword whole linestart %wrapper red/orange
    keyword whole linestart %{ red/orange
    keyword whole linestart %} red/orange

    keyword whole auto yellow
    keyword whole break yellow
    keyword whole case yellow
    keyword whole char yellow
    keyword whole const yellow
    keyword whole continue yellow
    keyword whole default yellow
    keyword whole do yellow
    keyword whole double yellow
    keyword whole else yellow
    keyword whole enum yellow
    keyword whole extern yellow
    keyword whole float yellow
    keyword whole for yellow
    keyword whole goto yellow
    keyword whole if yellow
    keyword whole int yellow
    keyword whole long yellow
    keyword whole register yellow
    keyword whole return yellow
    keyword whole short yellow
    keyword whole signed yellow
    keyword whole sizeof yellow
    keyword whole static yellow
    keyword whole struct yellow
    keyword whole switch yellow
    keyword whole typedef yellow
    keyword whole union yellow
    keyword whole unsigned yellow
    keyword whole void yellow
    keyword whole volatile yellow
    keyword whole while yellow
    keyword whole asm yellow
    keyword whole catch yellow
    keyword whole class yellow
    keyword whole friend yellow
    keyword whole delete yellow
    keyword whole inline yellow
    keyword whole new yellow
    keyword whole operator yellow
    keyword whole private yellow
    keyword whole protected yellow
    keyword whole public yellow
    keyword whole this yellow
    keyword whole throw yellow
    keyword whole template yellow
    keyword whole try yellow
    keyword whole virtual yellow
    keyword whole bool yellow
    keyword whole const_cast yellow
    keyword whole dynamic_cast yellow
    keyword whole explicit yellow
    keyword whole false yellow
    keyword whole mutable yellow
    keyword whole namespace yellow
    keyword whole reinterpret_cast yellow
    keyword whole static_cast yellow
    keyword whole true yellow
    keyword whole typeid yellow
    keyword whole typename yellow
    keyword whole using yellow
    keyword whole wchar_t yellow
    keyword whole ... yellow

    keyword /\* brown
    keyword \*/ brown
    keyword // brown

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

    keyword > yellow
    keyword < yellow
    keyword \+ yellow
    keyword - yellow
    keyword \* yellow
    keyword / yellow
    keyword % yellow
    keyword = yellow
    keyword != yellow
    keyword == yellow
    keyword { brightcyan
    keyword } brightcyan
    keyword ( brightcyan
    keyword ) brightcyan
    keyword [ brightcyan
    keyword ] brightcyan
    keyword , brightcyan
    keyword : brightcyan
    keyword ? brightcyan
    keyword ; brightmagenta
context exclusive /\* \*/ brown
    spellcheck
context exclusive // \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
