mirror of
https://github.com/neovim/neovim.git
synced 2025-10-05 17:36:29 +00:00
feat(highlight): update default color scheme
Problem: Default color scheme is suboptimal. Solution: Start using new color scheme. Introduce new `vim` color scheme for opt-in backward compatibility. ------ Main design ideas - Be "Neovim branded". - Be minimal for 256 colors with a bit more shades for true colors. - Be accessible through high enough contrast ratios. - Be suitable for dark and light backgrounds via exchange of dark and light palettes. ------ Palettes - Have dark and light variants. Implemented through exporeted `NvimDark*` and `NvimLight*` hex colors. - Palettes have 4 shades of grey for UI elements and 6 colors (red, yellow, green, cyan, blue, magenta). - Actual values are computed procedurally in Oklch color space based on a handful of hyperparameters. - Each color has a 256 colors variant with perceptually closest color. ------ Highlight groups Use: - Grey shades for general UI according to their design. - Bold text for keywords (`Statement` highlight group). This is an important choice to increase accessibility for people with color deficiencies, as it doesn't rely on actual color. - Green for strings, `DiffAdd` (as background), `DiagnosticOk`, and some minor text UI elements. - Cyan as main syntax color, i.e. for function usage (`Function` highlight group), `DiffText`, `DiagnosticInfo`, and some minor text UI elements. - Red to generally mean high user attention, i.e. errors; in particular for `ErrorMsg`, `DiffDelete`, `DiagnosticError`. - Yellow very sparingly only with true colors to mean mild user attention, i.e. warnings. That is, `DiagnosticWarn` and `WarningMsg`. - Blue very sparingly only with true colors as `DiagnosticHint` and some additional important syntax group (like `Identifier`). - Magenta very carefully (if at all). ------ Notes - To make tests work without relatively larege updates, each one is prepended with an equivalent of the call `:colorscheme vim`. Plus some tests which spawn new Neovim instances also now use 'vim' color scheme. In some cases tests are updated to fit new default color scheme.
This commit is contained in:
@@ -135,263 +135,321 @@ static const char e_missing_argument_str[]
|
||||
// they still work when the runtime files can't be found.
|
||||
|
||||
static const char *highlight_init_both[] = {
|
||||
"Conceal ctermbg=DarkGrey ctermfg=LightGrey guibg=DarkGrey guifg=LightGrey",
|
||||
"Cursor guibg=fg guifg=bg",
|
||||
"lCursor guibg=fg guifg=bg",
|
||||
"DiffText cterm=bold ctermbg=Red gui=bold guibg=Red",
|
||||
"ErrorMsg ctermbg=DarkRed ctermfg=White guibg=Red guifg=White",
|
||||
"IncSearch cterm=reverse gui=reverse",
|
||||
"ModeMsg cterm=bold gui=bold",
|
||||
"NonText ctermfg=Blue gui=bold guifg=Blue",
|
||||
"Normal cterm=NONE gui=NONE",
|
||||
"PmenuSbar ctermbg=Grey guibg=Grey",
|
||||
"StatusLine cterm=reverse,bold gui=reverse,bold",
|
||||
"StatusLineNC cterm=reverse gui=reverse",
|
||||
"TabLineFill cterm=reverse gui=reverse",
|
||||
"TabLineSel cterm=bold gui=bold",
|
||||
"TermCursor cterm=reverse gui=reverse",
|
||||
"WinBar cterm=bold gui=bold",
|
||||
"WildMenu ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black",
|
||||
"default link VertSplit Normal",
|
||||
"default link WinSeparator VertSplit",
|
||||
"default link WinBarNC WinBar",
|
||||
"default link EndOfBuffer NonText",
|
||||
"default link LineNrAbove LineNr",
|
||||
"default link LineNrBelow LineNr",
|
||||
"default link QuickFixLine Search",
|
||||
"default link CursorLineSign SignColumn",
|
||||
"Cursor guibg=fg guifg=bg",
|
||||
"CursorLineNr gui=bold cterm=bold",
|
||||
"QuickFixLine gui=bold cterm=bold",
|
||||
"RedrawDebugNormal gui=reverse cterm=reverse",
|
||||
"TabLineSel gui=bold cterm=bold",
|
||||
"TermCursor gui=reverse cterm=reverse",
|
||||
"Title gui=bold cterm=bold",
|
||||
"Underlined gui=underline cterm=underline",
|
||||
"lCursor guibg=fg guifg=bg",
|
||||
|
||||
// UI
|
||||
"default link CurSearch Search",
|
||||
"default link CursorIM Cursor",
|
||||
"default link CursorLineFold FoldColumn",
|
||||
"default link CurSearch Search",
|
||||
"default link PmenuKind Pmenu",
|
||||
"default link PmenuKindSel PmenuSel",
|
||||
"default link PmenuExtra Pmenu",
|
||||
"default link PmenuExtraSel PmenuSel",
|
||||
"default link Substitute Search",
|
||||
"default link Whitespace NonText",
|
||||
"default link MsgSeparator StatusLine",
|
||||
"default link NormalFloat Pmenu",
|
||||
"default link FloatBorder WinSeparator",
|
||||
"default link FloatTitle Title",
|
||||
"default link FloatFooter Title",
|
||||
"default FloatShadow blend=80 guibg=Black",
|
||||
"default FloatShadowThrough blend=100 guibg=Black",
|
||||
"RedrawDebugNormal cterm=reverse gui=reverse",
|
||||
"RedrawDebugClear ctermbg=Yellow guibg=Yellow",
|
||||
"RedrawDebugComposed ctermbg=Green guibg=Green",
|
||||
"RedrawDebugRecompose ctermbg=Red guibg=Red",
|
||||
"Error term=reverse cterm=NONE ctermfg=White ctermbg=Red gui=NONE guifg=White guibg=Red",
|
||||
"Todo term=standout cterm=NONE ctermfg=Black ctermbg=Yellow gui=NONE guifg=Blue guibg=Yellow",
|
||||
"default link String Constant",
|
||||
"default link Character Constant",
|
||||
"default link Number Constant",
|
||||
"default link Boolean Constant",
|
||||
"default link Float Number",
|
||||
"default link Function Identifier",
|
||||
"default link Conditional Statement",
|
||||
"default link Repeat Statement",
|
||||
"default link Label Statement",
|
||||
"default link Operator Statement",
|
||||
"default link Keyword Statement",
|
||||
"default link Exception Statement",
|
||||
"default link Include PreProc",
|
||||
"default link Define PreProc",
|
||||
"default link Macro PreProc",
|
||||
"default link PreCondit PreProc",
|
||||
"default link StorageClass Type",
|
||||
"default link Structure Type",
|
||||
"default link Typedef Type",
|
||||
"default link Tag Special",
|
||||
"default link SpecialChar Special",
|
||||
"default link Delimiter Special",
|
||||
"default link CursorLineSign SignColumn",
|
||||
"default link EndOfBuffer NonText",
|
||||
"default link FloatBorder NormalFloat",
|
||||
"default link FloatFooter Title",
|
||||
"default link FloatTitle Title",
|
||||
"default link FoldColumn SignColumn",
|
||||
"default link IncSearch Search",
|
||||
"default link LineNrAbove LineNr",
|
||||
"default link LineNrBelow LineNr",
|
||||
"default link MsgSeparator StatusLine",
|
||||
"default link MsgArea NONE",
|
||||
"default link NormalNC NONE",
|
||||
"default link PmenuExtra Pmenu",
|
||||
"default link PmenuExtraSel PmenuSel",
|
||||
"default link PmenuKind Pmenu",
|
||||
"default link PmenuKindSel PmenuSel",
|
||||
"default link PmenuSbar Pmenu",
|
||||
"default link Substitute Search",
|
||||
"default link TabLineFill TabLine",
|
||||
"default link TermCursorNC NONE",
|
||||
"default link VertSplit WinSeparator",
|
||||
"default link VisualNOS Visual",
|
||||
"default link Whitespace NonText",
|
||||
"default link WildMenu PmenuSel",
|
||||
"default link WinBar StatusLine",
|
||||
"default link WinBarNC StatusLineNC",
|
||||
"default link WinSeparator Normal",
|
||||
|
||||
// Syntax
|
||||
"default link Character Constant",
|
||||
"default link Number Constant",
|
||||
"default link Boolean Constant",
|
||||
"default link Float Number",
|
||||
"default link Conditional Statement",
|
||||
"default link Repeat Statement",
|
||||
"default link Label Statement",
|
||||
"default link Keyword Statement",
|
||||
"default link Exception Statement",
|
||||
"default link Include PreProc",
|
||||
"default link Define PreProc",
|
||||
"default link Macro PreProc",
|
||||
"default link PreCondit PreProc",
|
||||
"default link StorageClass Type",
|
||||
"default link Structure Type",
|
||||
"default link Typedef Type",
|
||||
"default link Tag Special",
|
||||
"default link SpecialChar Special",
|
||||
"default link SpecialComment Special",
|
||||
"default link Debug Special",
|
||||
"default DiagnosticError ctermfg=1 guifg=Red",
|
||||
"default DiagnosticWarn ctermfg=3 guifg=Orange",
|
||||
"default DiagnosticInfo ctermfg=4 guifg=LightBlue",
|
||||
"default DiagnosticHint ctermfg=7 guifg=LightGrey",
|
||||
"default DiagnosticOk ctermfg=10 guifg=LightGreen",
|
||||
"default DiagnosticUnderlineError cterm=underline gui=underline guisp=Red",
|
||||
"default DiagnosticUnderlineWarn cterm=underline gui=underline guisp=Orange",
|
||||
"default DiagnosticUnderlineInfo cterm=underline gui=underline guisp=LightBlue",
|
||||
"default DiagnosticUnderlineHint cterm=underline gui=underline guisp=LightGrey",
|
||||
"default DiagnosticUnderlineOk cterm=underline gui=underline guisp=LightGreen",
|
||||
"default link DiagnosticVirtualTextError DiagnosticError",
|
||||
"default link DiagnosticVirtualTextWarn DiagnosticWarn",
|
||||
"default link DiagnosticVirtualTextInfo DiagnosticInfo",
|
||||
"default link DiagnosticVirtualTextHint DiagnosticHint",
|
||||
"default link DiagnosticVirtualTextOk DiagnosticOk",
|
||||
"default link DiagnosticFloatingError DiagnosticError",
|
||||
"default link DiagnosticFloatingWarn DiagnosticWarn",
|
||||
"default link DiagnosticFloatingInfo DiagnosticInfo",
|
||||
"default link DiagnosticFloatingHint DiagnosticHint",
|
||||
"default link DiagnosticFloatingOk DiagnosticOk",
|
||||
"default link DiagnosticSignError DiagnosticError",
|
||||
"default link DiagnosticSignWarn DiagnosticWarn",
|
||||
"default link DiagnosticSignInfo DiagnosticInfo",
|
||||
"default link DiagnosticSignHint DiagnosticHint",
|
||||
"default link DiagnosticSignOk DiagnosticOk",
|
||||
"default DiagnosticDeprecated cterm=strikethrough gui=strikethrough guisp=Red",
|
||||
"default link DiagnosticUnnecessary Comment",
|
||||
"default link LspInlayHint NonText",
|
||||
"default link Debug Special",
|
||||
"default link Ignore Normal",
|
||||
"default link LspInlayHint NonText",
|
||||
"default link SnippetTabstop Visual",
|
||||
|
||||
// Diagnostic
|
||||
"default link DiagnosticVirtualTextError DiagnosticError",
|
||||
"default link DiagnosticVirtualTextWarn DiagnosticWarn",
|
||||
"default link DiagnosticVirtualTextInfo DiagnosticInfo",
|
||||
"default link DiagnosticVirtualTextHint DiagnosticHint",
|
||||
"default link DiagnosticVirtualTextOk DiagnosticOk",
|
||||
"default link DiagnosticSignError DiagnosticError",
|
||||
"default link DiagnosticSignWarn DiagnosticWarn",
|
||||
"default link DiagnosticSignInfo DiagnosticInfo",
|
||||
"default link DiagnosticSignHint DiagnosticHint",
|
||||
"default link DiagnosticSignOk DiagnosticOk",
|
||||
"default link DiagnosticUnnecessary Comment",
|
||||
|
||||
// Text
|
||||
"default link @text.literal Comment",
|
||||
"default link @text.literal Comment",
|
||||
"default link @text.reference Identifier",
|
||||
"default link @text.title Title",
|
||||
"default link @text.uri Underlined",
|
||||
"default link @text.title Title",
|
||||
"default link @text.uri Underlined",
|
||||
"default link @text.underline Underlined",
|
||||
"default link @text.todo Todo",
|
||||
"default link @text.todo Todo",
|
||||
|
||||
// Miscs
|
||||
"default link @comment Comment",
|
||||
"default link @comment Comment",
|
||||
"default link @punctuation Delimiter",
|
||||
|
||||
// Constants
|
||||
"default link @constant Constant",
|
||||
"default link @constant.builtin Special",
|
||||
"default link @constant.macro Define",
|
||||
"default link @define Define",
|
||||
"default link @macro Macro",
|
||||
"default link @string String",
|
||||
"default link @string.escape SpecialChar",
|
||||
"default link @string.special SpecialChar",
|
||||
"default link @character Character",
|
||||
"default link @constant Constant",
|
||||
"default link @constant.builtin Special",
|
||||
"default link @constant.macro Define",
|
||||
"default link @define Define",
|
||||
"default link @macro Macro",
|
||||
"default link @string String",
|
||||
"default link @string.escape SpecialChar",
|
||||
"default link @string.special SpecialChar",
|
||||
"default link @character Character",
|
||||
"default link @character.special SpecialChar",
|
||||
"default link @number Number",
|
||||
"default link @boolean Boolean",
|
||||
"default link @float Float",
|
||||
"default link @number Number",
|
||||
"default link @boolean Boolean",
|
||||
"default link @float Float",
|
||||
|
||||
// Functions
|
||||
"default link @function Function",
|
||||
"default link @function Function",
|
||||
"default link @function.builtin Special",
|
||||
"default link @function.macro Macro",
|
||||
"default link @parameter Identifier",
|
||||
"default link @method Function",
|
||||
"default link @field Identifier",
|
||||
"default link @property Identifier",
|
||||
"default link @constructor Special",
|
||||
"default link @function.macro Macro",
|
||||
"default link @parameter Identifier",
|
||||
"default link @method Function",
|
||||
"default link @field Identifier",
|
||||
"default link @property Identifier",
|
||||
"default link @constructor Special",
|
||||
|
||||
// Keywords
|
||||
"default link @conditional Conditional",
|
||||
"default link @repeat Repeat",
|
||||
"default link @label Label",
|
||||
"default link @operator Operator",
|
||||
"default link @keyword Keyword",
|
||||
"default link @exception Exception",
|
||||
"default link @repeat Repeat",
|
||||
"default link @label Label",
|
||||
"default link @operator Operator",
|
||||
"default link @keyword Keyword",
|
||||
"default link @exception Exception",
|
||||
|
||||
"default link @variable Identifier",
|
||||
"default link @type Type",
|
||||
"default link @variable NONE", // don't highlight to reduce visual overload
|
||||
"default link @type Type",
|
||||
"default link @type.definition Typedef",
|
||||
"default link @storageclass StorageClass",
|
||||
"default link @namespace Identifier",
|
||||
"default link @include Include",
|
||||
"default link @preproc PreProc",
|
||||
"default link @debug Debug",
|
||||
"default link @tag Tag",
|
||||
"default link @storageclass StorageClass",
|
||||
"default link @namespace Identifier",
|
||||
"default link @include Include",
|
||||
"default link @preproc PreProc",
|
||||
"default link @debug Debug",
|
||||
"default link @tag Tag",
|
||||
|
||||
// LSP semantic tokens
|
||||
"default link @lsp.type.class Structure",
|
||||
"default link @lsp.type.comment Comment",
|
||||
"default link @lsp.type.decorator Function",
|
||||
"default link @lsp.type.enum Structure",
|
||||
"default link @lsp.type.enumMember Constant",
|
||||
"default link @lsp.type.function Function",
|
||||
"default link @lsp.type.interface Structure",
|
||||
"default link @lsp.type.macro Macro",
|
||||
"default link @lsp.type.method Function",
|
||||
"default link @lsp.type.namespace Structure",
|
||||
"default link @lsp.type.parameter Identifier",
|
||||
"default link @lsp.type.property Identifier",
|
||||
"default link @lsp.type.struct Structure",
|
||||
"default link @lsp.type.type Type",
|
||||
"default link @lsp.type.class Structure",
|
||||
"default link @lsp.type.comment Comment",
|
||||
"default link @lsp.type.decorator Function",
|
||||
"default link @lsp.type.enum Structure",
|
||||
"default link @lsp.type.enumMember Constant",
|
||||
"default link @lsp.type.function Function",
|
||||
"default link @lsp.type.interface Structure",
|
||||
"default link @lsp.type.macro Macro",
|
||||
"default link @lsp.type.method Function",
|
||||
"default link @lsp.type.namespace Structure",
|
||||
"default link @lsp.type.parameter Identifier",
|
||||
"default link @lsp.type.property Identifier",
|
||||
"default link @lsp.type.struct Structure",
|
||||
"default link @lsp.type.type Type",
|
||||
"default link @lsp.type.typeParameter TypeDef",
|
||||
"default link @lsp.type.variable Identifier",
|
||||
"default link @lsp.type.variable NONE", // don't highlight to reduce visual overload
|
||||
|
||||
NULL
|
||||
};
|
||||
|
||||
// Default colors only used with a light background.
|
||||
static const char *highlight_init_light[] = {
|
||||
"ColorColumn ctermbg=LightRed guibg=LightRed",
|
||||
"CursorColumn ctermbg=LightGrey guibg=Grey90",
|
||||
"CursorLine cterm=underline guibg=Grey90",
|
||||
"CursorLineNr cterm=underline ctermfg=Brown gui=bold guifg=Brown",
|
||||
"DiffAdd ctermbg=LightBlue guibg=LightBlue",
|
||||
"DiffChange ctermbg=LightMagenta guibg=LightMagenta",
|
||||
"DiffDelete ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan",
|
||||
"Directory ctermfg=DarkBlue guifg=Blue",
|
||||
"FoldColumn ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue",
|
||||
"Folded ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue",
|
||||
"LineNr ctermfg=Brown guifg=Brown",
|
||||
"MatchParen ctermbg=Cyan guibg=Cyan",
|
||||
"MoreMsg ctermfg=DarkGreen gui=bold guifg=SeaGreen",
|
||||
"Pmenu ctermbg=LightMagenta ctermfg=Black guibg=LightMagenta",
|
||||
"PmenuSel ctermbg=LightGrey ctermfg=Black guibg=Grey",
|
||||
"PmenuThumb ctermbg=Black guibg=Black",
|
||||
"Question ctermfg=DarkGreen gui=bold guifg=SeaGreen",
|
||||
"Search ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE",
|
||||
"SignColumn ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue",
|
||||
"SpecialKey ctermfg=DarkBlue guifg=Blue",
|
||||
"SpellBad ctermbg=LightRed guisp=Red gui=undercurl",
|
||||
"SpellCap ctermbg=LightBlue guisp=Blue gui=undercurl",
|
||||
"SpellLocal ctermbg=Cyan guisp=DarkCyan gui=undercurl",
|
||||
"SpellRare ctermbg=LightMagenta guisp=Magenta gui=undercurl",
|
||||
"TabLine cterm=underline ctermfg=black ctermbg=LightGrey gui=underline guibg=LightGrey",
|
||||
"Title ctermfg=DarkMagenta gui=bold guifg=Magenta",
|
||||
"Visual guibg=LightGrey",
|
||||
"WarningMsg ctermfg=DarkRed guifg=Red",
|
||||
"Comment term=bold cterm=NONE ctermfg=DarkBlue ctermbg=NONE gui=NONE guifg=Blue guibg=NONE",
|
||||
"Constant term=underline cterm=NONE ctermfg=DarkRed ctermbg=NONE gui=NONE guifg=Magenta guibg=NONE",
|
||||
"Special term=bold cterm=NONE ctermfg=DarkMagenta ctermbg=NONE gui=NONE guifg=#6a5acd guibg=NONE",
|
||||
"Identifier term=underline cterm=NONE ctermfg=DarkCyan ctermbg=NONE gui=NONE guifg=DarkCyan guibg=NONE",
|
||||
"Statement term=bold cterm=NONE ctermfg=Brown ctermbg=NONE gui=bold guifg=Brown guibg=NONE",
|
||||
"PreProc term=underline cterm=NONE ctermfg=DarkMagenta ctermbg=NONE gui=NONE guifg=#6a0dad guibg=NONE",
|
||||
"Type term=underline cterm=NONE ctermfg=DarkGreen ctermbg=NONE gui=bold guifg=SeaGreen guibg=NONE",
|
||||
"Underlined term=underline cterm=underline ctermfg=DarkMagenta gui=underline guifg=SlateBlue",
|
||||
"Ignore term=NONE cterm=NONE ctermfg=white ctermbg=NONE gui=NONE guifg=bg guibg=NONE",
|
||||
"Normal guifg=NvimDarkGrey2 ctermfg=234 guibg=NvimLightGrey2 ctermbg=253",
|
||||
|
||||
// UI
|
||||
"ColorColumn guibg=NvimLightGrey4 ctermbg=247",
|
||||
"Conceal guifg=NvimLightGrey4 ctermfg=247",
|
||||
"CursorColumn guibg=NvimLightGrey3 ctermbg=251",
|
||||
"CursorLine guibg=NvimLightGrey3 ctermbg=251",
|
||||
"DiffAdd guifg=NvimDarkGrey1 ctermfg=232 guibg=NvimLightGreen ctermbg=158",
|
||||
"DiffChange guifg=NvimDarkGrey1 ctermfg=232 guibg=NvimLightGrey4 ctermbg=247",
|
||||
"DiffDelete guifg=NvimDarkRed ctermfg=52 gui=bold cterm=bold",
|
||||
"DiffText guifg=NvimDarkGrey1 ctermfg=232 guibg=NvimLightCyan ctermbg=123",
|
||||
"Directory guifg=NvimDarkCyan ctermfg=30",
|
||||
"ErrorMsg guifg=NvimDarkRed ctermfg=52",
|
||||
"FloatShadow guibg=NvimLightGrey1 ctermbg=255 blend=80",
|
||||
"FloatShadowThrough guibg=NvimLightGrey1 ctermbg=255 blend=100",
|
||||
"Folded guifg=NvimDarkGrey4 ctermfg=239 guibg=NvimLightGrey3 ctermbg=251",
|
||||
"LineNr guifg=NvimLightGrey4 ctermfg=247",
|
||||
"MatchParen guibg=NvimLightGrey4 ctermbg=247 gui=bold cterm=bold",
|
||||
"ModeMsg guifg=NvimDarkGreen ctermfg=22",
|
||||
"MoreMsg guifg=NvimDarkCyan ctermfg=30",
|
||||
"NonText guifg=NvimLightGrey4 ctermfg=247",
|
||||
"NormalFloat guifg=NvimDarkGrey2 ctermfg=234 guibg=NvimLightGrey1 ctermbg=255",
|
||||
"Pmenu guifg=NvimDarkGrey2 ctermfg=234 guibg=NvimLightGrey3 ctermbg=251",
|
||||
"PmenuSel guifg=NvimLightGrey3 ctermfg=251 guibg=NvimDarkGrey2 ctermbg=234 blend=0",
|
||||
"PmenuThumb guibg=NvimLightGrey4 ctermbg=247",
|
||||
"Question guifg=NvimDarkCyan ctermfg=30",
|
||||
"RedrawDebugClear guibg=NvimLightCyan ctermbg=123",
|
||||
"RedrawDebugComposed guibg=NvimLightGreen ctermbg=158",
|
||||
"RedrawDebugRecompose guibg=NvimLightRed ctermbg=217",
|
||||
"Search guifg=NvimDarkGrey1 ctermfg=232 guibg=NvimLightYellow ctermbg=222",
|
||||
"SignColumn guifg=NvimLightGrey4 ctermfg=247",
|
||||
"SpecialKey guifg=NvimLightGrey4 ctermfg=247",
|
||||
"SpellBad guisp=NvimDarkRed gui=undercurl cterm=undercurl",
|
||||
"SpellCap guisp=NvimDarkYellow gui=undercurl cterm=undercurl",
|
||||
"SpellLocal guisp=NvimDarkGreen gui=undercurl cterm=undercurl",
|
||||
"SpellRare guisp=NvimDarkCyan gui=undercurl cterm=undercurl",
|
||||
"StatusLine guifg=NvimDarkGrey3 ctermfg=236 guibg=NvimLightGrey1 ctermbg=255",
|
||||
"StatusLineNC guifg=NvimDarkGrey4 ctermfg=239 guibg=NvimLightGrey1 ctermbg=255",
|
||||
"TabLine guifg=NvimDarkGrey3 ctermfg=236 guibg=NvimLightGrey1 ctermbg=255",
|
||||
"Visual guibg=NvimLightGrey4 ctermbg=247",
|
||||
"WarningMsg guifg=NvimDarkYellow ctermfg=52", // In 256 colors fall back to red
|
||||
|
||||
// Syntax
|
||||
"Comment guifg=NvimDarkGrey4 ctermfg=239",
|
||||
"Constant guifg=NvimDarkGrey2 ctermfg=234",
|
||||
"String guifg=NvimDarkGreen ctermfg=22",
|
||||
"Identifier guifg=NvimDarkBlue ctermfg=NONE", // No fallback in 256 colors to reduce noise
|
||||
"Function guifg=NvimDarkCyan ctermfg=30",
|
||||
"Statement guifg=NvimDarkGrey2 ctermfg=234 gui=bold cterm=bold",
|
||||
"Operator guifg=NvimDarkGrey2 ctermfg=234",
|
||||
"PreProc guifg=NvimDarkGrey2 ctermfg=234",
|
||||
"Type guifg=NvimDarkGrey2 ctermfg=234",
|
||||
"Special guifg=NvimDarkGrey2 ctermfg=234",
|
||||
"Delimiter guifg=NvimDarkGrey2 ctermfg=234",
|
||||
"Error guifg=NvimDarkGrey1 ctermfg=232 guibg=NvimLightRed ctermbg=217",
|
||||
"Todo guifg=NvimDarkGrey1 ctermfg=232 gui=bold cterm=bold",
|
||||
|
||||
// Diagnostic
|
||||
"DiagnosticError guifg=NvimDarkRed ctermfg=52",
|
||||
"DiagnosticWarn guifg=NvimDarkYellow ctermfg=52", // In 256 colors fall back to red
|
||||
"DiagnosticInfo guifg=NvimDarkCyan ctermfg=30",
|
||||
"DiagnosticHint guifg=NvimDarkBlue ctermfg=30", // In 256 colors fall back to cyan
|
||||
"DiagnosticOk guifg=NvimDarkGreen ctermfg=22",
|
||||
"DiagnosticUnderlineError guisp=NvimDarkRed gui=underline cterm=underline",
|
||||
"DiagnosticUnderlineWarn guisp=NvimDarkYellow gui=underline cterm=underline",
|
||||
"DiagnosticUnderlineInfo guisp=NvimDarkCyan gui=underline cterm=underline",
|
||||
"DiagnosticUnderlineHint guisp=NvimDarkBlue gui=underline cterm=underline", // In 256 colors fall back to cyan
|
||||
"DiagnosticUnderlineOk guisp=NvimDarkGreen gui=underline cterm=underline",
|
||||
"DiagnosticFloatingError guifg=NvimDarkRed ctermfg=52 guibg=NvimLightGrey1 ctermbg=255",
|
||||
// In 256 colors fall back to red
|
||||
"DiagnosticFloatingWarn guifg=NvimDarkYellow ctermfg=52 guibg=NvimLightGrey1 ctermbg=255",
|
||||
"DiagnosticFloatingInfo guifg=NvimDarkCyan ctermfg=30 guibg=NvimLightGrey1 ctermbg=255",
|
||||
// In 256 colors fall back to cyan
|
||||
"DiagnosticFloatingHint guifg=NvimDarkBlue ctermfg=30 guibg=NvimLightGrey1 ctermbg=255",
|
||||
"DiagnosticFloatingOk guifg=NvimDarkGreen ctermfg=22 guibg=NvimLightGrey1 ctermbg=255",
|
||||
"DiagnosticDeprecated guisp=NvimDarkRed gui=strikethrough cterm=strikethrough",
|
||||
NULL
|
||||
};
|
||||
|
||||
// Default colors only used with a dark background.
|
||||
static const char *highlight_init_dark[] = {
|
||||
"ColorColumn ctermbg=DarkRed guibg=DarkRed",
|
||||
"CursorColumn ctermbg=DarkGrey guibg=Grey40",
|
||||
"CursorLine cterm=underline guibg=Grey40",
|
||||
"CursorLineNr cterm=underline ctermfg=Yellow gui=bold guifg=Yellow",
|
||||
"DiffAdd ctermbg=DarkBlue guibg=DarkBlue",
|
||||
"DiffChange ctermbg=DarkMagenta guibg=DarkMagenta",
|
||||
"DiffDelete ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan",
|
||||
"Directory ctermfg=LightCyan guifg=Cyan",
|
||||
"FoldColumn ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan",
|
||||
"Folded ctermbg=DarkGrey ctermfg=Cyan guibg=DarkGrey guifg=Cyan",
|
||||
"LineNr ctermfg=Yellow guifg=Yellow",
|
||||
"MatchParen ctermbg=DarkCyan guibg=DarkCyan",
|
||||
"MoreMsg ctermfg=LightGreen gui=bold guifg=SeaGreen",
|
||||
"Pmenu ctermbg=Magenta ctermfg=Black guibg=Magenta",
|
||||
"PmenuSel ctermbg=Black ctermfg=DarkGrey guibg=DarkGrey",
|
||||
"PmenuThumb ctermbg=White guibg=White",
|
||||
"Question ctermfg=LightGreen gui=bold guifg=Green",
|
||||
"Search ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black",
|
||||
"SignColumn ctermbg=DarkGrey ctermfg=Cyan guibg=Grey guifg=Cyan",
|
||||
"SpecialKey ctermfg=LightBlue guifg=Cyan",
|
||||
"SpellBad ctermbg=Red guisp=Red gui=undercurl",
|
||||
"SpellCap ctermbg=Blue guisp=Blue gui=undercurl",
|
||||
"SpellLocal ctermbg=Cyan guisp=Cyan gui=undercurl",
|
||||
"SpellRare ctermbg=Magenta guisp=Magenta gui=undercurl",
|
||||
"TabLine cterm=underline ctermfg=white ctermbg=DarkGrey gui=underline guibg=DarkGrey",
|
||||
"Title ctermfg=LightMagenta gui=bold guifg=Magenta",
|
||||
"Visual guibg=DarkGrey",
|
||||
"WarningMsg ctermfg=LightRed guifg=Red",
|
||||
"Comment term=bold cterm=NONE ctermfg=Cyan ctermbg=NONE gui=NONE guifg=#80a0ff guibg=NONE",
|
||||
"Constant term=underline cterm=NONE ctermfg=Magenta ctermbg=NONE gui=NONE guifg=#ffa0a0 guibg=NONE",
|
||||
"Special term=bold cterm=NONE ctermfg=LightRed ctermbg=NONE gui=NONE guifg=Orange guibg=NONE",
|
||||
"Identifier term=underline cterm=bold ctermfg=Cyan ctermbg=NONE gui=NONE guifg=#40ffff guibg=NONE",
|
||||
"Statement term=bold cterm=NONE ctermfg=Yellow ctermbg=NONE gui=bold guifg=#ffff60 guibg=NONE",
|
||||
"PreProc term=underline cterm=NONE ctermfg=LightBlue ctermbg=NONE gui=NONE guifg=#ff80ff guibg=NONE",
|
||||
"Type term=underline cterm=NONE ctermfg=LightGreen ctermbg=NONE gui=bold guifg=#60ff60 guibg=NONE",
|
||||
"Underlined term=underline cterm=underline ctermfg=LightBlue gui=underline guifg=#80a0ff",
|
||||
"Ignore term=NONE cterm=NONE ctermfg=black ctermbg=NONE gui=NONE guifg=bg guibg=NONE",
|
||||
"Normal guifg=NvimLightGrey2 ctermfg=253 guibg=NvimDarkGrey2 ctermbg=234",
|
||||
|
||||
// UI
|
||||
"ColorColumn guibg=NvimDarkGrey4 ctermbg=239",
|
||||
"Conceal guifg=NvimDarkGrey4 ctermfg=239",
|
||||
"CursorColumn guibg=NvimDarkGrey3 ctermbg=236",
|
||||
"CursorLine guibg=NvimDarkGrey3 ctermbg=236",
|
||||
"DiffAdd guifg=NvimLightGrey1 ctermfg=255 guibg=NvimDarkGreen ctermbg=22",
|
||||
"DiffChange guifg=NvimLightGrey1 ctermfg=255 guibg=NvimDarkGrey4 ctermbg=239",
|
||||
"DiffDelete guifg=NvimLightRed ctermfg=217 gui=bold cterm=bold",
|
||||
"DiffText guifg=NvimLightGrey1 ctermfg=255 guibg=NvimDarkCyan ctermbg=30",
|
||||
"Directory guifg=NvimLightCyan ctermfg=123",
|
||||
"ErrorMsg guifg=NvimLightRed ctermfg=217",
|
||||
"FloatShadow guibg=NvimDarkGrey1 ctermbg=232 blend=80",
|
||||
"FloatShadowThrough guibg=NvimDarkGrey1 ctermbg=232 blend=100",
|
||||
"Folded guifg=NvimLightGrey4 ctermfg=247 guibg=NvimDarkGrey3 ctermbg=236",
|
||||
"LineNr guifg=NvimDarkGrey4 ctermfg=239",
|
||||
"MatchParen guibg=NvimDarkGrey4 ctermbg=239 gui=bold cterm=bold",
|
||||
"ModeMsg guifg=NvimLightGreen ctermfg=158",
|
||||
"MoreMsg guifg=NvimLightCyan ctermfg=123",
|
||||
"NonText guifg=NvimDarkGrey4 ctermfg=239",
|
||||
"NormalFloat guifg=NvimLightGrey2 ctermfg=253 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
"Pmenu guifg=NvimLightGrey2 ctermfg=253 guibg=NvimDarkGrey3 ctermbg=236",
|
||||
"PmenuSel guifg=NvimDarkGrey3 ctermfg=236 guibg=NvimLightGrey2 ctermbg=253 blend=0",
|
||||
"PmenuThumb guibg=NvimDarkGrey4 ctermbg=239",
|
||||
"Question guifg=NvimLightCyan ctermfg=123",
|
||||
"RedrawDebugClear guibg=NvimDarkCyan ctermbg=30",
|
||||
"RedrawDebugComposed guibg=NvimDarkGreen ctermbg=22",
|
||||
"RedrawDebugRecompose guibg=NvimDarkRed ctermbg=52",
|
||||
"Search guifg=NvimLightGrey1 ctermfg=255 guibg=NvimDarkYellow ctermbg=58",
|
||||
"SignColumn guifg=NvimDarkGrey4 ctermfg=239",
|
||||
"SpecialKey guifg=NvimDarkGrey4 ctermfg=239",
|
||||
"SpellBad guisp=NvimLightRed gui=undercurl cterm=undercurl",
|
||||
"SpellCap guisp=NvimLightYellow gui=undercurl cterm=undercurl",
|
||||
"SpellLocal guisp=NvimLightGreen gui=undercurl cterm=undercurl",
|
||||
"SpellRare guisp=NvimLightCyan gui=undercurl cterm=undercurl",
|
||||
"StatusLine guifg=NvimLightGrey3 ctermfg=251 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
"StatusLineNC guifg=NvimLightGrey4 ctermfg=247 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
"TabLine guifg=NvimLightGrey3 ctermfg=251 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
"Visual guibg=NvimDarkGrey4 ctermbg=239",
|
||||
"WarningMsg guifg=NvimLightYellow ctermfg=217", // In 256 colors fall back to red
|
||||
|
||||
// Syntax
|
||||
"Comment guifg=NvimLightGrey4 ctermfg=247",
|
||||
"Constant guifg=NvimLightGrey2 ctermfg=253",
|
||||
"String guifg=NvimLightGreen ctermfg=158",
|
||||
"Identifier guifg=NvimLightBlue ctermfg=NONE", // No fallback in 256 colors to reduce noise
|
||||
"Function guifg=NvimLightCyan ctermfg=123",
|
||||
"Statement guifg=NvimLightGrey2 ctermfg=253 gui=bold cterm=bold",
|
||||
"Operator guifg=NvimLightGrey2 ctermfg=253",
|
||||
"PreProc guifg=NvimLightGrey2 ctermfg=253",
|
||||
"Type guifg=NvimLightGrey2 ctermfg=253",
|
||||
"Special guifg=NvimLightGrey2 ctermfg=253",
|
||||
"Delimiter guifg=NvimLightGrey2 ctermfg=253",
|
||||
"Error guifg=NvimLightGrey1 ctermfg=255 guibg=NvimDarkRed ctermbg=52",
|
||||
"Todo guifg=NvimLightGrey1 ctermfg=255 gui=bold cterm=bold",
|
||||
|
||||
// Diagnostic
|
||||
"DiagnosticError guifg=NvimLightRed ctermfg=217",
|
||||
"DiagnosticWarn guifg=NvimLightYellow ctermfg=217", // In 256 colors fall back to red
|
||||
"DiagnosticInfo guifg=NvimLightCyan ctermfg=123",
|
||||
"DiagnosticHint guifg=NvimLightBlue ctermfg=123", // In 256 colors fall back to cyan
|
||||
"DiagnosticOk guifg=NvimLightGreen ctermfg=158",
|
||||
"DiagnosticUnderlineError guisp=NvimLightRed gui=underline cterm=underline",
|
||||
"DiagnosticUnderlineWarn guisp=NvimLightYellow gui=underline cterm=underline", // In 256 colors fall back to red
|
||||
"DiagnosticUnderlineInfo guisp=NvimLightCyan gui=underline cterm=underline",
|
||||
"DiagnosticUnderlineHint guisp=NvimLightBlue gui=underline cterm=underline",
|
||||
"DiagnosticUnderlineOk guisp=NvimLightGreen gui=underline cterm=underline",
|
||||
"DiagnosticFloatingError guifg=NvimLightRed ctermfg=217 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
// In 256 colors fall back to red
|
||||
"DiagnosticFloatingWarn guifg=NvimLightYellow ctermfg=217 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
"DiagnosticFloatingInfo guifg=NvimLightCyan ctermfg=123 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
// In 256 colors fall back to cyan
|
||||
"DiagnosticFloatingHint guifg=NvimLightBlue ctermfg=123 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
"DiagnosticFloatingOk guifg=NvimLightGreen ctermfg=158 guibg=NvimDarkGrey1 ctermbg=232",
|
||||
"DiagnosticDeprecated guisp=NvimLightRed gui=strikethrough cterm=strikethrough",
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -2828,6 +2886,29 @@ color_name_table_T color_name_table[] = {
|
||||
{ "NavajoWhite4", RGB_(0x8b, 0x79, 0x5e) },
|
||||
{ "Navy", RGB_(0x00, 0x00, 0x80) },
|
||||
{ "NavyBlue", RGB_(0x0, 0x0, 0x80) },
|
||||
// Default Neovim palettes.
|
||||
// Dark/light palette is used for background in dark/light color scheme and
|
||||
// for foreground in light/dark color scheme.
|
||||
{ "NvimDarkBlue", RGB_(0x00, 0x50, 0x78) }, // cterm=24
|
||||
{ "NvimDarkCyan", RGB_(0x00, 0x76, 0x76) }, // cterm=30
|
||||
{ "NvimDarkGreen", RGB_(0x01, 0x58, 0x25) }, // cterm=22
|
||||
{ "NvimDarkGrey1", RGB_(0x0a, 0x0b, 0x10) }, // cterm=232
|
||||
{ "NvimDarkGrey2", RGB_(0x1c, 0x1d, 0x23) }, // cterm=234
|
||||
{ "NvimDarkGrey3", RGB_(0x2c, 0x2e, 0x33) }, // cterm=236
|
||||
{ "NvimDarkGrey4", RGB_(0x4f, 0x52, 0x58) }, // cterm=239
|
||||
{ "NvimDarkMagenta", RGB_(0x4c, 0x00, 0x49) }, // cterm=53
|
||||
{ "NvimDarkRed", RGB_(0x5e, 0x00, 0x09) }, // cterm=52
|
||||
{ "NvimDarkYellow", RGB_(0x6e, 0x56, 0x00) }, // cterm=58
|
||||
{ "NvimLightBlue", RGB_(0x9f, 0xd8, 0xff) }, // cterm=153
|
||||
{ "NvimLightCyan", RGB_(0x83, 0xef, 0xef) }, // cterm=123
|
||||
{ "NvimLightGreen", RGB_(0xaa, 0xed, 0xb7) }, // cterm=158
|
||||
{ "NvimLightGrey1", RGB_(0xeb, 0xee, 0xf5) }, // cterm=255
|
||||
{ "NvimLightGrey2", RGB_(0xd7, 0xda, 0xe1) }, // cterm=253
|
||||
{ "NvimLightGrey3", RGB_(0xc4, 0xc6, 0xcd) }, // cterm=251
|
||||
{ "NvimLightGrey4", RGB_(0x9b, 0x9e, 0xa4) }, // cterm=247
|
||||
{ "NvimLightMagenta", RGB_(0xff, 0xc3, 0xfa) }, // cterm=189
|
||||
{ "NvimLightRed", RGB_(0xff, 0xbc, 0xb5) }, // cterm=217
|
||||
{ "NvimLightYellow", RGB_(0xf4, 0xd8, 0x8c) }, // cterm=222
|
||||
{ "OldLace", RGB_(0xfd, 0xf5, 0xe6) },
|
||||
{ "Olive", RGB_(0x80, 0x80, 0x00) },
|
||||
{ "OliveDrab", RGB_(0x6b, 0x8e, 0x23) },
|
||||
|
Reference in New Issue
Block a user