#
# M4 Macroprocessor/Autoconf syntax highlighting
# for MC Editor/CoolEdit
#
# Author: Vlad Romanenko <VladRomanenko@ukr.net>
#
# 2002-09-19  Vlad Romanenko <VladRomanenko@ukr.net>
#    * Initial public release.
#

context default

    #=========================
    # Built-in macros with mandatory parameters
    keyword whole builtin yellow
    keyword whole decr yellow
    keyword whole define yellow
    keyword whole defn yellow
    keyword whole esyscmd yellow
    keyword whole eval yellow
    keyword whole format yellow
    keyword whole ifdef yellow
    keyword whole ifelse yellow
    keyword whole include yellow
    keyword whole incr yellow
    keyword whole index yellow
    keyword whole len yellow
    keyword whole maketemp yellow
    keyword whole patsubst yellow
    keyword whole popdef yellow
    keyword whole pushdef yellow
    keyword whole regexp yellow
    keyword whole sinclude yellow
    keyword whole substr yellow
    keyword whole syscmd yellow
    keyword whole translit yellow
    keyword whole undefine yellow

    #=========================
    # Built-in macros with optional parameters
    keyword whole changecom yellow
    keyword whole changequote yellow
    keyword whole debugfile yellow
    keyword whole debugmode yellow
    keyword whole divert yellow
    keyword whole divnum yellow
    keyword whole dumpdef yellow
    keyword whole errprint yellow
    keyword whole indir yellow
    keyword whole m4exit yellow
    keyword whole m4wrap yellow
    keyword whole shift yellow
    keyword whole sysval yellow
    keyword whole traceoff yellow
    keyword whole traceon yellow
    keyword whole undivert yellow

    #=========================
    # Autoconf and Automake macros
    keyword whole AC_\[ABCDEFGHIJKLMNOPQRSTUVWXYZ_\] cyan
    keyword whole AS_\[ABCDEFGHIJKLMNOPQRSTUVWXYZ_\] cyan
    keyword whole AM_\[ABCDEFGHIJKLMNOPQRSTUVWXYZ_\] cyan

    #=========================
    # Variables
    keyword whole __file__ brightred
    keyword whole __gnu__ brightred
    keyword whole __line__ brightred
    keyword whole __unix__ brightred
    keyword wholeright $\{0123456789\}\[0123456789\] brightred
    keyword wholeright $\{@\*#\} brightred

    #=========================
    # Special symbols
    keyword ` brightcyan
    keyword ' brightcyan
    keyword [ brightcyan
    keyword ] brightcyan
    keyword , brightcyan
    keyword ( brightcyan
    keyword ) brightcyan


#=============================
# Comments

context # \n brown
    spellcheck
    keyword whole BUG brightred
    keyword whole FixMe brightred
    keyword whole FIXME brightred
    keyword whole Note brightred
    keyword whole NOTE brightred
    keyword whole ToDo brightred
    keyword whole TODO brightred
    keyword !!\[!\] brightred
    keyword ??\[?\] brightred


context dnl \n brown
    spellcheck
    keyword whole BUG brightred
    keyword whole FixMe brightred
    keyword whole FIXME brightred
    keyword whole Note brightred
    keyword whole NOTE brightred
    keyword whole ToDo brightred
    keyword whole TODO brightred
    keyword !!\[!\] brightred
    keyword ??\[?\] brightred
