#
# 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 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