# Syntax rules for the Java programming language
#
# Authors:
# lol_zimmerli%headbanger.ch@mail.headbanger.ch, 1999
#
# 2016-03-21  Konrad Twardowski
# * Added missing keywords: _ assert strictfp

context default
    keyword whole _ yellow
    keyword whole abstract yellow
    keyword whole assert yellow
    keyword whole boolean yellow
    keyword whole break yellow
    keyword whole byte yellow
    keyword whole byvalue yellow
    keyword whole case yellow
    keyword whole cast yellow
    keyword whole catch yellow
    keyword whole char yellow
    keyword whole class yellow
    keyword whole clone brightred
    keyword whole const yellow
    keyword whole continue yellow
    keyword whole def yellow
    keyword whole default yellow
    keyword whole do yellow
    keyword whole double yellow
    keyword whole else yellow
    keyword whole enum yellow
    keyword whole equals brightred
    keyword whole extends yellow
    keyword whole false yellow
    keyword whole final yellow
    keyword whole finalize brightred
    keyword whole finally yellow
    keyword whole float yellow
    keyword whole for yellow
    keyword whole future yellow
    keyword whole generic yellow
    keyword whole getClass brightred
    keyword whole goto yellow
    keyword whole hashCode brightred
    keyword whole if yellow
    keyword whole implements yellow
    keyword whole import yellow
    keyword whole inner yellow
    keyword whole instanceof yellow
    keyword whole int yellow
    keyword whole interface yellow
    keyword whole long yellow
    keyword whole native yellow
    keyword whole new yellow
    keyword whole notify brightred
    keyword whole notifyAll brightred
    keyword whole null yellow
    keyword whole outer yellow
    keyword whole package yellow
    keyword whole private yellow
    keyword whole protected yellow
    keyword whole public yellow
    keyword whole rest yellow
    keyword whole return yellow
    keyword whole short yellow
    keyword whole static yellow
    keyword whole strictfp yellow
    keyword whole super yellow
    keyword whole switch yellow
    keyword whole synchronized yellow
    keyword whole this yellow
    keyword whole throw yellow
    keyword whole throws yellow
    keyword whole toString brightred
    keyword whole transient yellow
    keyword whole true yellow
    keyword whole try yellow
    keyword whole var yellow
    keyword whole void yellow
    keyword whole volatile yellow
    keyword whole wait brightred
    keyword whole while yellow

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

    keyword '\s' brightgreen
    keyword '+' 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
