File: //usr/share/joe/syntax/properties.jsf
# JOE syntax highlight file for properties files
# by Christian Nicolai (http://mycrobase.de)
=Idle
=Comment
=Constant
=String		+Constant
=StringEscape	+Escape
=Escape
=Bad
=Key		+Attr +Type
=KeyEscape	+Escape
=Separator	+Control
:line_start Idle
	*		key		noeat
	"\n"		line_start
	" \t\r"		line_start # leading spaces
	"#!"		line_comment	recolor=-1
	"=:"		missing_key	recolor=-1
:line_comment Comment comment
	*		line_comment
	"BFHNTX"	line_comment	noeat call=comment_todo.comment_todo()
	"\n"		line_start
:missing_key Bad
	*		value_pre	noeat
:key Key
	*		key
	"\\"		key_esc		recolor=-1
	" \t\r"		key_post	noeat
	"=:"		sep		recolor=-1
	"\n"		key_error	recolor=-2
# one escaped char
:key_esc KeyEscape
	*		key
	"\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 String string
	*		value
	"\\"		value_esc	recolor=-1
	"\n"		line_start
:value_esc StringEscape string
	*		value_error	recolor=-2
	"u"		value_unicode_hex1
	"\n"		value_cont
:value_unicode_hex1 StringEscape string
	*		value_error	recolor=-3
	"A-Fa-f0-9"	value_unicode_hex2
:value_unicode_hex2 StringEscape string
	*		value_error	recolor=-4
	"A-Fa-f0-9"	value_unicode_hex3
:value_unicode_hex3 StringEscape string
	*		value_error	recolor=-5
	"A-Fa-f0-9"	value_unicode_hex4
:value_unicode_hex4 StringEscape string
	*		value_error	recolor=-6
	"A-Fa-f0-9"	value
:value_cont String string
	*		value
	" \t\r"		value_cont # leading spaces
:value_error Bad
	*		value		noeat