# JOE syntax highlight file for INI files
# by Christian Nicolai (http://mycrobase.de)

=Idle
=Comment
=Escape
=Bad
=Value		# Maybe should be +Constant but it's too colorful.

=Attr		+Type
=Key		+Attr
=Separator	+Attr
=Section	+Preproc

:line_start Idle
	*		key		noeat
	"\n"		line_start
	" \t\r"		line_start # leading spaces
	";#"		line_comment	recolor=-1
	"["		section		recolor=-1
	"="		missing_key	recolor=-1

:line_comment Comment comment
	*		line_comment
	"BFHNTX"	line_comment	noeat call=comment_todo.comment_todo()
	"\n"		line_start

:section Section
	*		section
	"]"		section_end
	"\n"		section_unexp_end	recolor=-2

:section_end Bad
	*		section_end
	"\n"		line_start

:section_unexp_end Bad
	*		line_start	noeat

:missing_key Bad
	*		value_pre	noeat

:key Key
	*		key
	" \t\r"		key_post	noeat
	"="		sep		recolor=-1
	"\n"		key_error	recolor=-2

:key_post Idle
	*		value_pre	noeat
	" \t\r"		key_post
	"="		sep		recolor=-1

:key_error Bad
	*		key		noeat

:sep Separator
	*		value_pre	noeat

:value_pre Idle
	*		value		noeat
	" \t\r"		value_pre

:value Value
	*		value
	"\\"		value_esc
	"\n"		line_start
	" "		maybe_comment	recolor=-1

:value_esc Escape
	*		value
	"\n"		value_error	recolor=-2

:value_error Bad
	*		value		noeat

:maybe_comment Idle
	*		value		noeat
	";#"		line_comment	recolor=-1
