= Faces

== Declaration

A 'face' refers how the specified text is displayed, it has a foreground
color, a background color, and some attributes. The value of a face has the
following format:

--------------------------------
fg_color[,bg_color][+attributes]
--------------------------------

'fg_color', 'bg_color'::
	a color whose value can be expressed in the following formats:
		*black*, *red*, *green*, *yellow*, *blue*, *magenta*, *cyan*, *white*:::
			a named color
		*default*:::
			keep the existing color
		*rgb:RRGGBB*:::
			hexadecimal value

'attributes'::
	string whose individual letters set an attribute:
		*u*:::
			underline
		*r*:::
			reverse
		*b*:::
			bold
		*B*:::
			blink
		*d*:::
			dim
		*i*:::
			italic
		*e*:::
			exclusive, override previous faces instead of merging
			with them

== Builtin faces

The following default faces are used by color schemes to highlight certain
areas of the user interface:

*Default*::
	default colors

*PrimarySelection*::
	main selection face for every selected character except the cursor

*SecondarySelection*::
	secondary selection face for every selected character except the cursor

*PrimaryCursor*::
	cursor of the primary selection

*SecondaryCursor*::
	cursor of the secondary selection

*LineNumbers*::
	face used by the number_lines highlighter

*LineNumberCursor*::
	face used to highlight the line number of the main selection

*LineNumbersWrapped*::
	face used to highlight the line number of wrapped lines

*MenuForeground*::
	face for the selected element in menus

*MenuBackground*::
	face for the not selected elements in menus

*MenuInfo*::
	face for additional information for elements in menus

*Information*::
	face for the informations windows and information messages

*Error*::
	face of error messages

*StatusLine*::
	face used for the status line

*StatusLineMode*::
	face used for the current mode except the normal mode

*StatusLineInfo*::
	face used for special information

*StatusLineValue*::
	face used for special values (numeric prefixes, registers, etc.)

*StatusCursor*::
	face used for the status line cursor

*Prompt*::
	face used prompt displayed on the status line

*MatchingChar*::
	face used by the show_matching highlighter

*BufferPadding*::
	face applied on the characters that follow the last line of a buffer

*Whitespace*::
	face used by the show_whitespaces highlighter