To allow applications to display more information on top of document text, 3 new indicator API elements have been implemented.
(1) INDIC_FULLBOX indicator style. This has already been committed since it is very simple. Its just like INDIC_STRAIGHTBOX but it covers the full area of the character instead of leaving a pixel clear at the top. This means that this indicator on adjacent lines may merge together. I prefer INDIC_STRAIGHTBOX but INDIC_FULLBOX can set a simple background colour over the whole height (with the alpha values set to 0xFF) which can emulate other applications.
(2) INDIC_TEXTFORE indicator style allows the foreground colour of text to be changed. For example, you may want to display spelling mistakes by making the text red instead of using an underline. Using this indicator is more expensive than other indicators as it affects low level text display. Some effort is made to avoid costs here and more could be done if it turns out this is heavily used.
(3) SC_INDICATORATTRIBUTE_FOREFROMVALUE indicator attribute. Indicators have always had an integer value for each run but this has previously been treated as a boolean with all non-zero values displaying the indicator in its fore colour. With the SC_INDICATORATTRIBUTE_FOREFROMVALUE attribute (which could have a shorter name) the value is used for the colour as a standard RGB integer as used everywhere in Scintilla. Thus one indicator may have a wide variety of colours. This can be used, for example, to display braces with cyclic colours to help decipher nested expressions like this image: