syntax: Use RGB/GUI attribute information for "abstract_ui"

Instead of using classic cterm color numbers and attributes, treat "abstract_ui"
as a GUI: Pass rgb color numbers and gui attributes when the "highlight_set" UI
method is called. The terminal UI will have to translate RGB color information
to an appropriate color number, and the "term"/"cterm" :highlight keys will
eventually be deprecated.
This commit is contained in:
Thiago de Arruda
2014-12-08 22:24:00 -03:00
parent 07e569a25d
commit 86542c6fd0
6 changed files with 268 additions and 51 deletions

View File

@@ -3,6 +3,8 @@
#include "nvim/regexp_defs.h"
typedef int32_t RgbValue;
# define SST_MIN_ENTRIES 150 /* minimal size for state stack array */
# define SST_MAX_ENTRIES 1000 /* maximal size for state stack array */
# define SST_FIX_STATES 7 /* size of sst_stack[]. */
@@ -70,6 +72,7 @@ struct syn_state {
*/
typedef struct attr_entry {
short ae_attr; /* HL_BOLD, etc. */
RgbValue fg_color, bg_color;
union {
struct {
char_u *start; /* start escape sequence */