# Modified from C highlight file by Juan C. Olivares <juancri@juancri.com>

context default

    keyword whole abstract yellow
    keyword whole as yellow
    keyword whole base yellow
    keyword whole bool yellow
    keyword whole break yellow
    keyword whole byte yellow
    keyword whole case yellow
    keyword whole catch yellow
    keyword whole char yellow
    keyword whole checked yellow
    keyword whole class white
    keyword whole const yellow
    keyword whole continue yellow
    keyword whole decimal yellow
    keyword whole default yellow
    keyword whole delegate white
    keyword whole do yellow
    keyword whole double yellow
    keyword whole else yellow
    keyword whole enum white
    keyword whole event yellow
    keyword whole explicit yellow
    keyword whole extern yellow
    keyword whole false yellow
    keyword whole finally yellow
    keyword whole fixed yellow
    keyword whole float yellow
    keyword whole for yellow
    keyword whole foreach yellow
    keyword whole get brightgreen
    keyword whole goto yellow
    keyword whole if yellow
    keyword whole implicit yellow
    keyword whole in yellow
    keyword whole int yellow
    keyword whole interface white
    keyword whole internal brightred
    keyword whole is yellow
    keyword whole lock yellow
    keyword whole long yellow
    keyword whole namespace white
    keyword whole new yellow
    keyword whole null yellow
    keyword whole object yellow
    keyword whole operator yellow
    keyword whole out yellow
    keyword whole override yellow
    keyword whole params yellow
    keyword whole partial yellow
    keyword whole private brightred
    keyword whole protected yellow
    keyword whole public brightred
    keyword whole readonly yellow
    keyword whole ref yellow
    keyword whole return yellow
    keyword whole sbyte yellow
    keyword whole sealed yellow
    keyword whole set brightgreen
    keyword whole short yellow
    keyword whole sizeof yellow
    keyword whole stackalloc yellow
    keyword whole static yellow
    keyword whole string yellow
    keyword whole struct white
    keyword whole switch yellow
    keyword whole this yellow
    keyword whole throw yellow
    keyword whole true yellow
    keyword whole try yellow
    keyword whole typeof yellow
    keyword whole uint yellow
    keyword whole ulong yellow
    keyword whole unchecked yellow
    keyword whole unsafe yellow
    keyword whole ushort yellow
    keyword whole using brightcyan
    keyword whole value yellow
    keyword whole virtual yellow
    keyword whole void yellow
    keyword whole volatile yellow
    keyword whole where yellow
    keyword whole while yellow
    keyword whole yield yellow


    keyword whole linestart \{\s\t\}\[\s\t\]#*\n brightmagenta

    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

context " " green
    spellcheck
    keyword \\" 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\*\]\[.\]\[0123456789\*\]s brightgreen
    keyword %[*] brightgreen
    keyword %c brightgreen
    keyword %p brightgreen
    keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
    keyword \\\\ brightgreen
    keyword \\' brightgreen
    keyword \\\{abtnvfr\} brightgreen
