#ifndef NVIM_HIGHLIGHT_DEFS_H #define NVIM_HIGHLIGHT_DEFS_H #include #include "nvim/macros.h" typedef int32_t RgbValue; /// Values for index in highlight_attr[]. /// When making changes, also update hlf_names below! typedef enum { HLF_8 = 0 // Meta & special keys listed with ":map", text that is // displayed different from what it is , HLF_EOB // after the last line in the buffer , HLF_TERM // terminal cursor focused , HLF_TERMNC // terminal cursor unfocused , HLF_AT // @ characters at end of screen, characters that // don't really exist in the text , HLF_D // directories in CTRL-D listing , HLF_E // error messages , HLF_I // incremental search , HLF_L // last search string , HLF_M // "--More--" message , HLF_CM // Mode (e.g., "-- INSERT --") , HLF_N // line number for ":number" and ":#" commands , HLF_CLN // current line number , HLF_R // return to continue message and yes/no questions , HLF_S // status lines , HLF_SNC // status lines of not-current windows , HLF_C // column to separate vertically split windows , HLF_T // Titles for output from ":set all", ":autocmd" etc. , HLF_V // Visual mode , HLF_VNC // Visual mode, autoselecting and not clipboard owner , HLF_W // warning messages , HLF_WM // Wildmenu highlight , HLF_FL // Folded line , HLF_FC // Fold column , HLF_ADD // Added diff line , HLF_CHD // Changed diff line , HLF_DED // Deleted diff line , HLF_TXD // Text Changed in diff line , HLF_SC // Sign column , HLF_CONCEAL // Concealed text , HLF_SPB // SpellBad , HLF_SPC // SpellCap , HLF_SPR // SpellRare , HLF_SPL // SpellLocal , HLF_PNI // popup menu normal item , HLF_PSI // popup menu selected item , HLF_PSB // popup menu scrollbar , HLF_PST // popup menu scrollbar thumb , HLF_TP // tabpage line , HLF_TPS // tabpage line selected , HLF_TPF // tabpage line filler , HLF_CUC // 'cursurcolumn' , HLF_CUL // 'cursurline' , HLF_MC // 'colorcolumn' , HLF_QFL // selected quickfix line , HLF_0 // Whitespace , HLF_INACTIVE // NormalNC: Normal text in non-current windows , HLF_COUNT // MUST be the last one } hlf_T; EXTERN const char *hlf_names[] INIT(= { [HLF_8] = "SpecialKey", [HLF_EOB] = "EndOfBuffer", [HLF_TERM] = "TermCursor", [HLF_TERMNC] = "TermCursorNC", [HLF_AT] = "NonText", [HLF_D] = "Directory", [HLF_E] = "ErrorMsg", [HLF_I] = "IncSearch", [HLF_L] = "Search", [HLF_M] = "MoreMsg", [HLF_CM] = "ModeMsg", [HLF_N] = "LineNr", [HLF_CLN] = "CursorLineNr", [HLF_R] = "Question", [HLF_S] = "StatusLine", [HLF_SNC] = "StatusLineNC", [HLF_C] = "VertSplit", [HLF_T] = "Title", [HLF_V] = "Visual", [HLF_VNC] = "VisualNC", [HLF_W] = "WarningMsg", [HLF_WM] = "WildMenu", [HLF_FL] = "Folded", [HLF_FC] = "FoldColumn", [HLF_ADD] = "DiffAdd", [HLF_CHD] = "DiffChange", [HLF_DED] = "DiffDelete", [HLF_TXD] = "DiffText", [HLF_SC] = "SignColumn", [HLF_CONCEAL] = "Conceal", [HLF_SPB] = "SpellBad", [HLF_SPC] = "SpellCap", [HLF_SPR] = "SpellRare", [HLF_SPL] = "SpellLocal", [HLF_PNI] = "Pmenu", [HLF_PSI] = "PmenuSel", [HLF_PSB] = "PmenuSbar", [HLF_PST] = "PmenuThumb", [HLF_TP] = "TabLine", [HLF_TPS] = "TabLineSel", [HLF_TPF] = "TabLineFill", [HLF_CUC] = "CursorColumn", [HLF_CUL] = "CursorLine", [HLF_MC] = "ColorColumn", [HLF_QFL] = "QuickFixLine", [HLF_0] = "Whitespace", [HLF_INACTIVE] = "NormalNC" }); EXTERN int highlight_attr[HLF_COUNT]; // Highl. attr for each context. EXTERN int highlight_user[9]; // User[1-9] attributes EXTERN int highlight_stlnc[9]; // On top of user EXTERN int cterm_normal_fg_color INIT(= 0); EXTERN int cterm_normal_fg_bold INIT(= 0); EXTERN int cterm_normal_bg_color INIT(= 0); EXTERN RgbValue normal_fg INIT(= -1); EXTERN RgbValue normal_bg INIT(= -1); EXTERN RgbValue normal_sp INIT(= -1); #endif // NVIM_HIGHLIGHT_DEFS_H