context default
    keyword whole Auto\{Pp\}rov: green
    keyword whole Auto\{Rr\}eq\{Pp\}rov: green
    keyword whole Auto\{Rr\}eq: green
    keyword whole BuildPre\{Rr\}eq: green
    keyword whole Build\{Rr\}oot: green
    keyword whole BuildRequires: green
    keyword whole Conflicts: green
    keyword whole Copyright: green
    keyword whole Description: green    
    keyword whole Distribution: green    
    keyword whole Doc\{Dd\}ir: green    
    keyword whole Epoch: green
    keyword whole ExcludeArch: green
    keyword whole ExclusiveArch: green
    keyword whole ExclusiveOS: green
    keyword whole Group: green
    keyword whole Group(\[abcdefghijklmnopqrstuvwxyz\]): green
    keyword whole Group(\[abcdefghijklmnopqrstuvwxyz\]_\[ABCDEFGHIJKLMNOPQRSTUVWXYZ\]): green
    keyword whole Icon: green
    keyword whole License: green
    keyword whole Name: green    
    keyword whole Obsoletes: green
    keyword whole Packager: green
    keyword whole Patch\[0123456789\]: green    
    keyword whole Prefix: green
    keyword whole Pre\{Rr\}eq: green    
    keyword whole Provides: green    
    keyword whole Release: green    
    keyword whole Requires: green    
    keyword whole Root: green    
    keyword whole Source\[0123456789\]: green
    keyword whole Summary: green
    keyword whole Summary(\[abcdefghijklmnopqrstuvwxyz\]): green
    keyword whole Summary(\[abcdefghijklmnopqrstuvwxyz\]_\[ABCDEFGHIJKLMNOPQRSTUVWXYZ\]): green
    keyword whole Vendor: green
    keyword whole Version: green
    keyword whole URL: green

    keyword whole linestart %build red
    keyword whole linestart %clean red
    keyword whole linestart %changelog red
    keyword whole linestart %description red
    keyword whole linestart %files red
    keyword whole linestart %install red
    keyword whole linestart %package red
    keyword whole linestart %pre red
    keyword whole linestart %prep red
    keyword whole linestart %preun red
    keyword whole linestart %post red
    keyword whole linestart %postun red

    keyword whole %define brightmagenta
    keyword whole %dump brightmagenta
    keyword whole %global brightmagenta
    keyword whole %trace brightmagenta
    keyword whole %undefine brightmagenta
    keyword %\{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789\}\[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_0123456789\] brightred

    keyword whole echo: brightmagenta
    keyword whole warn: brightmagenta
    keyword whole error: brightmagenta
    keyword whole uncompress: brightmagenta
    keyword whole expand: brightmagenta
    keyword whole S: brightmagenta
    keyword whole P: brightmagenta
    keyword whole F: brightmagenta
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan
        
    keyword whole %triggerin magenta
    keyword whole %triggerun magenta
    keyword whole %triggerun magenta
    
    keyword \\\n yellow
    keyword wholeright $+ brightgreen
    keyword ftp://+ brightgreen
    keyword http://+ brightgreen

    keyword whole missingok brightblue
    keyword whole noreplace brightblue

    keyword whole PATCH\[0123456789\] cyan
    keyword whole SOURCE\[0123456789\] cyan

context linestart # \n brown
context %( ) brightblue

# Changelog
context exclusive whole linestart %changelog EOF lightgray
    keyword Revision*\n brightgreen
    keyword \*\s\{MWTFS\}*\n brightgreen
    keyword \s\s[*] brightgreen
    keyword $Log*\n brightred

#sections
context exclusive linestart %build \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %clean \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %description \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %files \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %install \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %package \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %pre \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %prep \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %preun \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %post \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

context exclusive linestart %postun \n yellow
    keyword -l brightred
    keyword -n brightred
    keyword -p brightred
    keyword %{ brightcyan
    keyword { brightcyan
    keyword } brightcyan

#triggers
context exclusive %triggerin \n lightgray
    keyword -n brightmagenta
    keyword -p brightmagenta
    keyword -- brightmagenta

context exclusive %triggerun \n lightgray
    keyword -n brightmagenta
    keyword -p brightmagenta
    keyword -- brightmagenta

context exclusive %triggerpostun \n lightgray
    keyword -n brightmagenta
    keyword -p brightmagenta
    keyword -- brightmagenta