aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/colors/vim.lua286
-rw-r--r--runtime/colors/vim.vim269
-rw-r--r--test/functional/helpers.lua2
-rw-r--r--test/functional/ui/highlight_spec.lua1
4 files changed, 288 insertions, 270 deletions
diff --git a/runtime/colors/vim.lua b/runtime/colors/vim.lua
new file mode 100644
index 0000000000..4e16b6e036
--- /dev/null
+++ b/runtime/colors/vim.lua
@@ -0,0 +1,286 @@
+-- Name: vim
+-- Description: Vim's default color scheme
+-- Author: Bram Moolenaar <Bram@vim.org>
+-- Maintainer: The Vim Project <https://github.com/vim/vim>
+-- Website: https://github.com/vim/vim
+-- License: Same as Vim
+-- Last Updated: 2023 Aug 10
+
+-- This is Vim's default color scheme. It doesn't define the Normal
+-- highlighting, it uses whatever the colors used to be.
+
+vim.cmd.highlight('clear')
+vim.g.colors_name = 'vim'
+
+local hi = function(name, val)
+ -- Force links
+ val.force = true
+
+ -- Make sure that `cterm` attribute is not populated from `gui`
+ val.cterm = val.cterm or {}
+
+ -- Define global highlight
+ vim.api.nvim_set_hl(0, name, val)
+end
+
+--stylua: ignore start
+-- General
+hi('Normal', {})
+
+hi('Conceal', { fg = 'LightGrey', bg = 'DarkGrey', ctermfg = 'LightGrey', ctermbg = 'DarkGrey' })
+hi('Cursor', {})
+hi('lCursor', {})
+hi('DiffText', { bg = 'Red', bold = true, ctermbg = 'Red', cterm = { bold = true } })
+hi('ErrorMsg', { fg = 'White', bg = 'Red', ctermfg = 'White', ctermbg = 'DarkRed' })
+hi('IncSearch', { reverse = true, cterm = { reverse = true } })
+hi('ModeMsg', { bold = true, cterm = { bold = true } })
+hi('NonText', { fg = 'Blue', bold = true, ctermfg = 'Blue' })
+hi('PmenuSbar', { bg = 'Grey', ctermbg = 'Grey' })
+hi('StatusLine', { reverse = true, bold = true, cterm = { reverse = true, bold = true }})
+hi('StatusLineNC', { reverse = true, cterm = { reverse = true } })
+hi('TabLineFill', { reverse = true, cterm = { reverse = true } })
+hi('TabLineSel', { bold = true, cterm = { bold = true } })
+hi('TermCursor', { reverse = true, cterm = { reverse = true } })
+hi('WinBar', { bold = true, cterm = { bold = true } })
+hi('WildMenu', { fg = 'Black', bg = 'Yellow', ctermfg = 'Black', ctermbg = 'Yellow' })
+
+hi('VertSplit', { link = 'Normal' })
+hi('WinSeparator', { link = 'VertSplit' })
+hi('WinBarNC', { link = 'WinBar' })
+hi('EndOfBuffer', { link = 'NonText' })
+hi('LineNrAbove', { link = 'LineNr' })
+hi('LineNrBelow', { link = 'LineNr' })
+hi('QuickFixLine', { link = 'Search' })
+hi('CursorLineSign', { link = 'SignColumn' })
+hi('CursorLineFold', { link = 'FoldColumn' })
+hi('CurSearch', { link = 'Search' })
+hi('PmenuKind', { link = 'Pmenu' })
+hi('PmenuKindSel', { link = 'PmenuSel' })
+hi('PmenuExtra', { link = 'Pmenu' })
+hi('PmenuExtraSel', { link = 'PmenuSel' })
+hi('Substitute', { link = 'Search' })
+hi('Whitespace', { link = 'NonText' })
+hi('MsgSeparator', { link = 'StatusLine' })
+hi('NormalFloat', { link = 'Pmenu' })
+hi('FloatBorder', { link = 'WinSeparator' })
+hi('FloatTitle', { link = 'Title' })
+hi('FloatFooter', { link = 'Title' })
+
+hi('FloatShadow', { bg = 'Black', blend=80 })
+hi('FloatShadowThrough', { bg = 'Black', blend=100 })
+hi('RedrawDebugNormal', { reverse = true, cterm = { reverse = true } })
+hi('RedrawDebugClear', { bg = 'Yellow', ctermbg = 'Yellow' })
+hi('RedrawDebugComposed', { bg = 'Green', ctermbg = 'Green' })
+hi('RedrawDebugRecompose', { bg = 'Red', ctermbg = 'Red' })
+hi('Error', { fg = 'White', bg = 'Red', ctermfg = 'White', ctermbg = 'Red' })
+hi('Todo', { fg = 'Blue', bg = 'Yellow', ctermfg = 'Black', ctermbg = 'Yellow' })
+
+hi('String', { link = 'Constant' })
+hi('Character', { link = 'Constant' })
+hi('Number', { link = 'Constant' })
+hi('Boolean', { link = 'Constant' })
+hi('Float', { link = 'Number' })
+hi('Function', { link = 'Identifier' })
+hi('Conditional', { link = 'Statement' })
+hi('Repeat', { link = 'Statement' })
+hi('Label', { link = 'Statement' })
+hi('Operator', { link = 'Statement' })
+hi('Keyword', { link = 'Statement' })
+hi('Exception', { link = 'Statement' })
+hi('Include', { link = 'PreProc' })
+hi('Define', { link = 'PreProc' })
+hi('Macro', { link = 'PreProc' })
+hi('PreCondit', { link = 'PreProc' })
+hi('StorageClass', { link = 'Type' })
+hi('Structure', { link = 'Type' })
+hi('Typedef', { link = 'Type' })
+hi('Tag', { link = 'Special' })
+hi('SpecialChar', { link = 'Special' })
+hi('Delimiter', { link = 'Special' })
+hi('SpecialComment', { link = 'Special' })
+hi('Debug', { link = 'Special' })
+
+hi('DiagnosticError', { fg = 'Red', ctermfg = 1 })
+hi('DiagnosticWarn', { fg = 'Orange', ctermfg = 3 })
+hi('DiagnosticInfo', { fg = 'LightBlue', ctermfg = 4 })
+hi('DiagnosticHint', { fg = 'LightGrey', ctermfg = 7 })
+hi('DiagnosticOk', { fg = 'LightGreen', ctermfg = 10 })
+hi('DiagnosticUnderlineError', { sp = 'Red', underline = true, cterm = { underline = true } })
+hi('DiagnosticUnderlineWarn', { sp = 'Orange', underline = true, cterm = { underline = true } })
+hi('DiagnosticUnderlineInfo', { sp = 'LightBlue', underline = true, cterm = { underline = true } })
+hi('DiagnosticUnderlineHint', { sp = 'LightGrey', underline = true, cterm = { underline = true } })
+hi('DiagnosticUnderlineOk', { sp = 'LightGreen', underline = true, cterm = { underline = true } })
+hi('DiagnosticVirtualTextError', { link = 'DiagnosticError' })
+hi('DiagnosticVirtualTextWarn', { link = 'DiagnosticWarn' })
+hi('DiagnosticVirtualTextInfo', { link = 'DiagnosticInfo' })
+hi('DiagnosticVirtualTextHint', { link = 'DiagnosticHint' })
+hi('DiagnosticVirtualTextOk', { link = 'DiagnosticOk' })
+hi('DiagnosticFloatingError', { link = 'DiagnosticError' })
+hi('DiagnosticFloatingWarn', { link = 'DiagnosticWarn' })
+hi('DiagnosticFloatingInfo', { link = 'DiagnosticInfo' })
+hi('DiagnosticFloatingHint', { link = 'DiagnosticHint' })
+hi('DiagnosticFloatingOk', { link = 'DiagnosticOk' })
+hi('DiagnosticSignError', { link = 'DiagnosticError' })
+hi('DiagnosticSignWarn', { link = 'DiagnosticWarn' })
+hi('DiagnosticSignInfo', { link = 'DiagnosticInfo' })
+hi('DiagnosticSignHint', { link = 'DiagnosticHint' })
+hi('DiagnosticSignOk', { link = 'DiagnosticOk' })
+hi('DiagnosticDeprecated', { sp = 'Red', strikethrough = true, cterm = { strikethrough = true } })
+
+hi('DiagnosticUnnecessary', { link = 'Comment' })
+hi('LspInlayHint', { link = 'NonText' })
+hi('SnippetTabstop', { link = 'Visual' })
+
+-- Text
+hi('@text.literal', { link = 'Comment' })
+hi('@text.reference', { link = 'Identifier' })
+hi('@text.title', { link = 'Title' })
+hi('@text.uri', { link = 'Underlined' })
+hi('@text.underline', { link = 'Underlined' })
+hi('@text.todo', { link = 'Todo' })
+
+-- Miscs
+hi('@comment', { link = 'Comment' })
+hi('@punctuation', { link = 'Delimiter' })
+
+-- Constants
+hi('@constant', { link = 'Constant' })
+hi('@constant.builtin', { link = 'Special' })
+hi('@constant.macro', { link = 'Define' })
+hi('@define', { link = 'Define' })
+hi('@macro', { link = 'Macro' })
+hi('@string', { link = 'String' })
+hi('@string.escape', { link = 'SpecialChar' })
+hi('@string.special', { link = 'SpecialChar' })
+hi('@character', { link = 'Character' })
+hi('@character.special', { link = 'SpecialChar' })
+hi('@number', { link = 'Number' })
+hi('@boolean', { link = 'Boolean' })
+hi('@float', { link = 'Float' })
+
+-- Functions
+hi('@function', { link = 'Function' })
+hi('@function.builtin', { link = 'Special' })
+hi('@function.macro', { link = 'Macro' })
+hi('@parameter', { link = 'Identifier' })
+hi('@method', { link = 'Function' })
+hi('@field', { link = 'Identifier' })
+hi('@property', { link = 'Identifier' })
+hi('@constructor', { link = 'Special' })
+
+-- Keywords
+hi('@conditional', { link = 'Conditional' })
+hi('@repeat', { link = 'Repeat' })
+hi('@label', { link = 'Label' })
+hi('@operator', { link = 'Operator' })
+hi('@keyword', { link = 'Keyword' })
+hi('@exception', { link = 'Exception' })
+
+hi('@variable', { link = 'Identifier' })
+hi('@type', { link = 'Type' })
+hi('@type.definition', { link = 'Typedef' })
+hi('@storageclass', { link = 'StorageClass' })
+hi('@namespace', { link = 'Identifier' })
+hi('@include', { link = 'Include' })
+hi('@preproc', { link = 'PreProc' })
+hi('@debug', { link = 'Debug' })
+hi('@tag', { link = 'Tag' })
+
+-- LSP semantic tokens
+hi('@lsp.type.class', { link = 'Structure' })
+hi('@lsp.type.comment', { link = 'Comment' })
+hi('@lsp.type.decorator', { link = 'Function' })
+hi('@lsp.type.enum', { link = 'Structure' })
+hi('@lsp.type.enumMember', { link = 'Constant' })
+hi('@lsp.type.function', { link = 'Function' })
+hi('@lsp.type.interface', { link = 'Structure' })
+hi('@lsp.type.macro', { link = 'Macro' })
+hi('@lsp.type.method', { link = 'Function' })
+hi('@lsp.type.namespace', { link = 'Structure' })
+hi('@lsp.type.parameter', { link = 'Identifier' })
+hi('@lsp.type.property', { link = 'Identifier' })
+hi('@lsp.type.struct', { link = 'Structure' })
+hi('@lsp.type.type', { link = 'Type' })
+hi('@lsp.type.typeParameter', { link = 'TypeDef' })
+hi('@lsp.type.variable', { link = 'Identifier' })
+
+if vim.o.background == 'light' then
+ -- Default colors only used with a light background.
+ hi('ColorColumn', { bg = 'LightRed', ctermbg = 'LightRed' })
+ hi('CursorColumn', { bg = 'Grey90', ctermbg = 'LightGrey' })
+ hi('CursorLine', { bg = 'Grey90', cterm = { underline = true } })
+ hi('CursorLineNr', { fg = 'Brown', bold = true, ctermfg = 'Brown', cterm = { underline = true } })
+ hi('DiffAdd', { bg = 'LightBlue', ctermbg = 'LightBlue' })
+ hi('DiffChange', { bg = 'LightMagenta', ctermbg = 'LightMagenta' })
+ hi('DiffDelete', { fg = 'Blue', bg = 'LightCyan', bold = true, ctermfg = 'Blue', ctermbg = 'LightCyan' })
+ hi('Directory', { fg = 'Blue', ctermfg = 'DarkBlue' })
+ hi('FoldColumn', { fg = 'DarkBlue', bg = 'Grey', ctermfg = 'DarkBlue', ctermbg = 'Grey' })
+ hi('Folded', { fg = 'DarkBlue', bg = 'LightGrey', ctermfg = 'DarkBlue', ctermbg = 'Grey' })
+ hi('LineNr', { fg = 'Brown', ctermfg = 'Brown' })
+ hi('MatchParen', { bg = 'Cyan', ctermbg = 'Cyan' })
+ hi('MoreMsg', { fg = 'SeaGreen', bold = true, ctermfg = 'DarkGreen' })
+ hi('Pmenu', { bg = 'LightMagenta', ctermfg = 'Black', ctermbg = 'LightMagenta' })
+ hi('PmenuSel', { bg = 'Grey', ctermfg = 'Black', ctermbg = 'LightGrey' })
+ hi('PmenuThumb', { bg = 'Black', ctermbg = 'Black' })
+ hi('Question', { fg = 'SeaGreen', bold = true, ctermfg = 'DarkGreen' })
+ hi('Search', { bg = 'Yellow', ctermbg = 'Yellow' })
+ hi('SignColumn', { fg = 'DarkBlue', bg = 'Grey', ctermfg = 'DarkBlue', ctermbg = 'Grey' })
+ hi('SpecialKey', { fg = 'Blue', ctermfg = 'DarkBlue' })
+ hi('SpellBad', { sp = 'Red', undercurl = true, ctermbg = 'LightRed' })
+ hi('SpellCap', { sp = 'Blue', undercurl = true, ctermbg = 'LightBlue' })
+ hi('SpellLocal', { sp = 'DarkCyan', undercurl = true, ctermbg = 'Cyan' })
+ hi('SpellRare', { sp = 'Magenta', undercurl = true, ctermbg = 'LightMagenta' })
+ hi('TabLine', { bg = 'LightGrey', underline = true, ctermfg = 'Black', ctermbg = 'LightGrey', cterm = { underline = true } })
+ hi('Title', { fg = 'Magenta', bold = true, ctermfg = 'DarkMagenta' })
+ hi('Visual', { bg = 'LightGrey', ctermbg = 'LightGrey' })
+ hi('WarningMsg', { fg = 'Red', ctermfg = 'DarkRed' })
+ hi('Comment', { fg = 'Blue', ctermfg = 'DarkBlue' })
+ hi('Constant', { fg = 'Magenta', ctermfg = 'DarkRed' })
+ hi('Special', { fg = '#6a5acd', ctermfg = 'DarkMagenta' })
+ hi('Identifier', { fg = 'DarkCyan', ctermfg = 'DarkCyan' })
+ hi('Statement', { fg = 'Brown', bold = true, ctermfg = 'Brown' })
+ hi('PreProc', { fg = '#6a0dad', ctermfg = 'DarkMagenta' })
+ hi('Type', { fg = 'SeaGreen', bold = true, ctermfg = 'DarkGreen' })
+ hi('Underlined', { fg = 'SlateBlue', underline = true, ctermfg = 'DarkMagenta', cterm = { underline = true } })
+ hi('Ignore', { ctermfg = 'White' })
+else
+ -- Default colors only used with a dark background.
+ hi('ColorColumn', { bg = 'DarkRed', ctermbg = 'DarkRed' })
+ hi('CursorColumn', { bg = 'Grey40', ctermbg = 'DarkGrey' })
+ hi('CursorLine', { bg = 'Grey40', cterm = { underline = true } })
+ hi('CursorLineNr', { fg = 'Yellow', bold = true, ctermfg = 'Yellow', cterm = { underline = true } })
+ hi('DiffAdd', { bg = 'DarkBlue', ctermbg = 'DarkBlue' })
+ hi('DiffChange', { bg = 'DarkMagenta', ctermbg = 'DarkMagenta' })
+ hi('DiffDelete', { fg = 'Blue', bg = 'DarkCyan', bold = true, ctermfg = 'Blue', ctermbg = 'DarkCyan' })
+ hi('Directory', { fg = 'Cyan', ctermfg = 'LightCyan' })
+ hi('FoldColumn', { fg = 'Cyan', bg = 'Grey', ctermfg = 'Cyan', ctermbg = 'DarkGrey' })
+ hi('Folded', { fg = 'Cyan', bg = 'DarkGrey', ctermfg = 'Cyan', ctermbg = 'DarkGrey' })
+ hi('LineNr', { fg = 'Yellow', ctermfg = 'Yellow' })
+ hi('MatchParen', { bg = 'DarkCyan', ctermbg = 'DarkCyan' })
+ hi('MoreMsg', { fg = 'SeaGreen', bold = true, ctermfg = 'LightGreen' })
+ hi('Pmenu', { bg = 'Magenta', ctermfg = 'Black', ctermbg = 'Magenta' })
+ hi('PmenuSel', { bg = 'DarkGrey', ctermfg = 'DarkGrey', ctermbg = 'Black' })
+ hi('PmenuThumb', { bg = 'White', ctermbg = 'White' })
+ hi('Question', { fg = 'Green', bold = true, ctermfg = 'LightGreen' })
+ hi('Search', { fg = 'Black', bg = 'Yellow', ctermfg = 'Black', ctermbg = 'Yellow' })
+ hi('SignColumn', { fg = 'Cyan', bg = 'Grey', ctermfg = 'Cyan', ctermbg = 'DarkGrey' })
+ hi('SpecialKey', { fg = 'Cyan', ctermfg = 'LightBlue' })
+ hi('SpellBad', { sp = 'Red', undercurl = true, ctermbg = 'Red' })
+ hi('SpellCap', { sp = 'Blue', undercurl = true, ctermbg = 'Blue' })
+ hi('SpellLocal', { sp = 'Cyan', undercurl = true, ctermbg = 'Cyan' })
+ hi('SpellRare', { sp = 'Magenta', undercurl = true, ctermbg = 'Magenta' })
+ hi('TabLine', { bg = 'DarkGrey', underline = true, ctermfg = 'White', ctermbg = 'DarkGrey', cterm = { underline = true } })
+ hi('Title', { fg = 'Magenta', bold = true, ctermfg = 'LightMagenta' })
+ hi('Visual', { bg = 'DarkGrey', ctermbg = 'DarkGrey' })
+ hi('WarningMsg', { fg = 'Red', ctermfg = 'LightRed' })
+ hi('Comment', { fg = '#80a0ff', ctermfg = 'Cyan' })
+ hi('Constant', { fg = '#ffa0a0', ctermfg = 'Magenta' })
+ hi('Special', { fg = 'Orange', ctermfg = 'LightRed' })
+ hi('Identifier', { fg = '#40ffff', ctermfg = 'Cyan', cterm = { bold = true } })
+ hi('Statement', { fg = '#ffff60', bold = true, ctermfg = 'Yellow' })
+ hi('PreProc', { fg = '#ff80ff', ctermfg = 'LightBlue' })
+ hi('Type', { fg = '#60ff60', bold = true, ctermfg = 'LightGreen' })
+ hi('Underlined', { fg = '#80a0ff', underline = true, ctermfg = 'LightBlue', cterm = { underline = true } })
+ hi('Ignore', { ctermfg = 'Black' })
+end
+--stylua: ignore end
diff --git a/runtime/colors/vim.vim b/runtime/colors/vim.vim
deleted file mode 100644
index 0d02477ba7..0000000000
--- a/runtime/colors/vim.vim
+++ /dev/null
@@ -1,269 +0,0 @@
-" Name: vim
-" Description: Vim's default color scheme
-" Author: Bram Moolenaar <Bram@vim.org>
-" Maintainer: The Vim Project <https://github.com/vim/vim>
-" Website: https://github.com/vim/vim
-" License: Same as Vim
-" Last Updated: 2023 Aug 10
-
-" This is Vim's default color scheme. It doesn't define the Normal
-" highlighting, it uses whatever the colors used to be.
-
-hi clear
-let g:colors_name = 'vim'
-
-" General
-hi Conceal guifg=LightGrey guibg=DarkGrey guisp=NONE gui=NONE ctermfg=LightGrey ctermbg=DarkGrey cterm=NONE
-hi Cursor guifg=bg guibg=fg guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
-hi lCursor guifg=bg guibg=fg guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
-hi DiffText guifg=NONE guibg=Red guisp=NONE gui=bold ctermfg=NONE ctermbg=Red cterm=bold
-hi ErrorMsg guifg=White guibg=Red guisp=NONE gui=NONE ctermfg=White ctermbg=DarkRed cterm=NONE
-hi IncSearch guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
-hi ModeMsg guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
-hi NonText guifg=Blue guibg=NONE guisp=NONE gui=bold ctermfg=Blue ctermbg=NONE cterm=NONE
-hi Normal guifg=NONE guibg=NONE guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
-hi PmenuSbar guifg=NONE guibg=Grey guisp=NONE gui=NONE ctermfg=NONE ctermbg=Grey cterm=NONE
-hi StatusLine guifg=NONE guibg=NONE guisp=NONE gui=reverse,bold ctermfg=NONE ctermbg=NONE cterm=reverse,bold
-hi StatusLineNC guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
-hi TabLineFill guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
-hi TabLineSel guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
-hi TermCursor guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
-hi WinBar guifg=NONE guibg=NONE guisp=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
-hi WildMenu guifg=Black guibg=Yellow guisp=NONE gui=NONE ctermfg=Black ctermbg=Yellow cterm=NONE
-hi! link VertSplit Normal
-hi! link WinSeparator VertSplit
-hi! link WinBarNC WinBar
-hi! link EndOfBuffer NonText
-hi! link LineNrAbove LineNr
-hi! link LineNrBelow LineNr
-hi! link QuickFixLine Search
-hi! link CursorLineSign SignColumn
-hi! link CursorLineFold FoldColumn
-hi! link CurSearch Search
-hi! link PmenuKind Pmenu
-hi! link PmenuKindSel PmenuSel
-hi! link PmenuExtra Pmenu
-hi! link PmenuExtraSel PmenuSel
-hi! link Substitute Search
-hi! link Whitespace NonText
-hi! link MsgSeparator StatusLine
-hi! link NormalFloat Pmenu
-hi! link FloatBorder WinSeparator
-hi! link FloatTitle Title
-hi! link FloatFooter Title
-hi FloatShadow guifg=NONE guibg=Black guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE blend=80
-hi FloatShadowThrough guifg=NONE guibg=Black guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE blend=100
-hi RedrawDebugNormal guifg=NONE guibg=NONE guisp=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
-hi RedrawDebugClear guifg=NONE guibg=Yellow guisp=NONE gui=NONE ctermfg=NONE ctermbg=Yellow cterm=NONE
-hi RedrawDebugComposed guifg=NONE guibg=Green guisp=NONE gui=NONE ctermfg=NONE ctermbg=Green cterm=NONE
-hi RedrawDebugRecompose guifg=NONE guibg=Red guisp=NONE gui=NONE ctermfg=NONE ctermbg=Red cterm=NONE
-hi Error guifg=White guibg=Red guisp=NONE gui=NONE ctermfg=White ctermbg=Red cterm=NONE term=reverse
-hi Todo guifg=Blue guibg=Yellow guisp=NONE gui=NONE ctermfg=Black ctermbg=Yellow cterm=NONE term=standout
-hi! link String Constant
-hi! link Character Constant
-hi! link Number Constant
-hi! link Boolean Constant
-hi! link Float Number
-hi! link Function Identifier
-hi! link Conditional Statement
-hi! link Repeat Statement
-hi! link Label Statement
-hi! link Operator Statement
-hi! link Keyword Statement
-hi! link Exception Statement
-hi! link Include PreProc
-hi! link Define PreProc
-hi! link Macro PreProc
-hi! link PreCondit PreProc
-hi! link StorageClass Type
-hi! link Structure Type
-hi! link Typedef Type
-hi! link Tag Special
-hi! link SpecialChar Special
-hi! link Delimiter Special
-hi! link SpecialComment Special
-hi! link Debug Special
-hi DiagnosticError guifg=Red guibg=NONE guisp=NONE gui=NONE ctermfg=1 ctermbg=NONE cterm=NONE
-hi DiagnosticWarn guifg=Orange guibg=NONE guisp=NONE gui=NONE ctermfg=3 ctermbg=NONE cterm=NONE
-hi DiagnosticInfo guifg=LightBlue guibg=NONE guisp=NONE gui=NONE ctermfg=4 ctermbg=NONE cterm=NONE
-hi DiagnosticHint guifg=LightGrey guibg=NONE guisp=NONE gui=NONE ctermfg=7 ctermbg=NONE cterm=NONE
-hi DiagnosticOk guifg=LightGreen guibg=NONE guisp=NONE gui=NONE ctermfg=10 ctermbg=NONE cterm=NONE
-hi DiagnosticUnderlineError guifg=NONE guibg=NONE guisp=Red gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
-hi DiagnosticUnderlineWarn guifg=NONE guibg=NONE guisp=Orange gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
-hi DiagnosticUnderlineInfo guifg=NONE guibg=NONE guisp=LightBlue gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
-hi DiagnosticUnderlineHint guifg=NONE guibg=NONE guisp=LightGrey gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
-hi DiagnosticUnderlineOk guifg=NONE guibg=NONE guisp=LightGreen gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
-hi! link DiagnosticVirtualTextError DiagnosticError
-hi! link DiagnosticVirtualTextWarn DiagnosticWarn
-hi! link DiagnosticVirtualTextInfo DiagnosticInfo
-hi! link DiagnosticVirtualTextHint DiagnosticHint
-hi! link DiagnosticVirtualTextOk DiagnosticOk
-hi! link DiagnosticFloatingError DiagnosticError
-hi! link DiagnosticFloatingWarn DiagnosticWarn
-hi! link DiagnosticFloatingInfo DiagnosticInfo
-hi! link DiagnosticFloatingHint DiagnosticHint
-hi! link DiagnosticFloatingOk DiagnosticOk
-hi! link DiagnosticSignError DiagnosticError
-hi! link DiagnosticSignWarn DiagnosticWarn
-hi! link DiagnosticSignInfo DiagnosticInfo
-hi! link DiagnosticSignHint DiagnosticHint
-hi! link DiagnosticSignOk DiagnosticOk
-hi DiagnosticDeprecated guifg=NONE guibg=NONE guisp=Red gui=strikethrough ctermfg=NONE ctermbg=NONE cterm=strikethrough
-hi! link DiagnosticUnnecessary Comment
-hi! link LspInlayHint NonText
-hi! link SnippetTabstop Visual
-
-" Text
-hi! link @text.literal Comment
-hi! link @text.reference Identifier
-hi! link @text.title Title
-hi! link @text.uri Underlined
-hi! link @text.underline Underlined
-hi! link @text.todo Todo
-
-" Miscs
-hi! link @comment Comment
-hi! link @punctuation Delimiter
-
-" Constants
-hi! link @constant Constant
-hi! link @constant.builtin Special
-hi! link @constant.macro Define
-hi! link @define Define
-hi! link @macro Macro
-hi! link @string String
-hi! link @string.escape SpecialChar
-hi! link @string.special SpecialChar
-hi! link @character Character
-hi! link @character.special SpecialChar
-hi! link @number Number
-hi! link @boolean Boolean
-hi! link @float Float
-
-" Functions
-hi! link @function Function
-hi! link @function.builtin Special
-hi! link @function.macro Macro
-hi! link @parameter Identifier
-hi! link @method Function
-hi! link @field Identifier
-hi! link @property Identifier
-hi! link @constructor Special
-
-" Keywords
-hi! link @conditional Conditional
-hi! link @repeat Repeat
-hi! link @label Label
-hi! link @operator Operator
-hi! link @keyword Keyword
-hi! link @exception Exception
-
-hi! link @variable Identifier
-hi! link @type Type
-hi! link @type.definition Typedef
-hi! link @storageclass StorageClass
-hi! link @namespace Identifier
-hi! link @include Include
-hi! link @preproc PreProc
-hi! link @debug Debug
-hi! link @tag Tag
-
-" LSP semantic tokens
-hi! link @lsp.type.class Structure
-hi! link @lsp.type.comment Comment
-hi! link @lsp.type.decorator Function
-hi! link @lsp.type.enum Structure
-hi! link @lsp.type.enumMember Constant
-hi! link @lsp.type.function Function
-hi! link @lsp.type.interface Structure
-hi! link @lsp.type.macro Macro
-hi! link @lsp.type.method Function
-hi! link @lsp.type.namespace Structure
-hi! link @lsp.type.parameter Identifier
-hi! link @lsp.type.property Identifier
-hi! link @lsp.type.struct Structure
-hi! link @lsp.type.type Type
-hi! link @lsp.type.typeParameter TypeDef
-hi! link @lsp.type.variable Identifier
-
-if &background ==# 'light'
- " Default colors only used with a light background.
- hi ColorColumn guifg=NONE guibg=LightRed guisp=NONE gui=NONE ctermfg=NONE ctermbg=LightRed cterm=NONE
- hi CursorColumn guifg=NONE guibg=Grey90 guisp=NONE gui=NONE ctermfg=NONE ctermbg=LightGrey cterm=NONE
- hi CursorLine guifg=NONE guibg=Grey90 guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=underline
- hi CursorLineNr guifg=Brown guibg=NONE guisp=NONE gui=bold ctermfg=Brown ctermbg=NONE cterm=underline
- hi DiffAdd guifg=NONE guibg=LightBlue guisp=NONE gui=NONE ctermfg=NONE ctermbg=LightBlue cterm=NONE
- hi DiffChange guifg=NONE guibg=LightMagenta guisp=NONE gui=NONE ctermfg=NONE ctermbg=LightMagenta cterm=NONE
- hi DiffDelete guifg=Blue guibg=LightCyan guisp=NONE gui=bold ctermfg=Blue ctermbg=LightCyan cterm=NONE
- hi Directory guifg=Blue guibg=NONE guisp=NONE gui=NONE ctermfg=DarkBlue ctermbg=NONE cterm=NONE
- hi FoldColumn guifg=DarkBlue guibg=Grey guisp=NONE gui=NONE ctermfg=DarkBlue ctermbg=Grey cterm=NONE
- hi Folded guifg=DarkBlue guibg=LightGrey guisp=NONE gui=NONE ctermfg=DarkBlue ctermbg=Grey cterm=NONE
- hi LineNr guifg=Brown guibg=NONE guisp=NONE gui=NONE ctermfg=Brown ctermbg=NONE cterm=NONE
- hi MatchParen guifg=NONE guibg=Cyan guisp=NONE gui=NONE ctermfg=NONE ctermbg=Cyan cterm=NONE
- hi MoreMsg guifg=SeaGreen guibg=NONE guisp=NONE gui=bold ctermfg=DarkGreen ctermbg=NONE cterm=NONE
- hi Pmenu guifg=NONE guibg=LightMagenta guisp=NONE gui=NONE ctermfg=Black ctermbg=LightMagenta cterm=NONE
- hi PmenuSel guifg=NONE guibg=Grey guisp=NONE gui=NONE ctermfg=Black ctermbg=LightGrey cterm=NONE blend=NONE
- hi PmenuThumb guifg=NONE guibg=Black guisp=NONE gui=NONE ctermfg=NONE ctermbg=Black cterm=NONE
- hi Question guifg=SeaGreen guibg=NONE guisp=NONE gui=bold ctermfg=DarkGreen ctermbg=NONE cterm=NONE
- hi Search guifg=NONE guibg=Yellow guisp=NONE gui=NONE ctermfg=NONE ctermbg=Yellow cterm=NONE
- hi SignColumn guifg=DarkBlue guibg=Grey guisp=NONE gui=NONE ctermfg=DarkBlue ctermbg=Grey cterm=NONE
- hi SpecialKey guifg=Blue guibg=NONE guisp=NONE gui=NONE ctermfg=DarkBlue ctermbg=NONE cterm=NONE
- hi SpellBad guifg=NONE guibg=NONE guisp=Red gui=undercurl ctermfg=NONE ctermbg=LightRed cterm=NONE
- hi SpellCap guifg=NONE guibg=NONE guisp=Blue gui=undercurl ctermfg=NONE ctermbg=LightBlue cterm=NONE
- hi SpellLocal guifg=NONE guibg=NONE guisp=DarkCyan gui=undercurl ctermfg=NONE ctermbg=Cyan cterm=NONE
- hi SpellRare guifg=NONE guibg=NONE guisp=Magenta gui=undercurl ctermfg=NONE ctermbg=LightMagenta cterm=NONE
- hi TabLine guifg=NONE guibg=LightGrey guisp=NONE gui=underline ctermfg=black ctermbg=LightGrey cterm=underline
- hi Title guifg=Magenta guibg=NONE guisp=NONE gui=bold ctermfg=DarkMagenta ctermbg=NONE cterm=NONE
- hi Visual guifg=NONE guibg=LightGrey guisp=NONE gui=NONE ctermfg=NONE ctermbg=LightGrey cterm=NONE
- hi WarningMsg guifg=Red guibg=NONE guisp=NONE gui=NONE ctermfg=DarkRed ctermbg=NONE cterm=NONE
- hi Comment guifg=Blue guibg=NONE guisp=NONE gui=NONE ctermfg=DarkBlue ctermbg=NONE cterm=NONE term=bold
- hi Constant guifg=Magenta guibg=NONE guisp=NONE gui=NONE ctermfg=DarkRed ctermbg=NONE cterm=NONE term=underline
- hi Special guifg=#6a5acd guibg=NONE guisp=NONE gui=NONE ctermfg=DarkMagenta ctermbg=NONE cterm=NONE term=bold
- hi Identifier guifg=DarkCyan guibg=NONE guisp=NONE gui=NONE ctermfg=DarkCyan ctermbg=NONE cterm=NONE term=underline
- hi Statement guifg=Brown guibg=NONE guisp=NONE gui=bold ctermfg=Brown ctermbg=NONE cterm=NONE term=bold
- hi PreProc guifg=#6a0dad guibg=NONE guisp=NONE gui=NONE ctermfg=DarkMagenta ctermbg=NONE cterm=NONE term=underline
- hi Type guifg=SeaGreen guibg=NONE guisp=NONE gui=bold ctermfg=DarkGreen ctermbg=NONE cterm=NONE term=underline
- hi Underlined guifg=SlateBlue guibg=NONE guisp=NONE gui=underline ctermfg=DarkMagenta ctermbg=NONE cterm=underline term=underline
- hi Ignore guifg=bg guibg=NONE guisp=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE term=NONE
-else
- " Default colors only used with a dark background.
- hi ColorColumn guifg=NONE guibg=DarkRed guisp=NONE gui=NONE ctermfg=NONE ctermbg=DarkRed cterm=NONE
- hi CursorColumn guifg=NONE guibg=Grey40 guisp=NONE gui=NONE ctermfg=NONE ctermbg=DarkGrey cterm=NONE
- hi CursorLine guifg=NONE guibg=Grey40 guisp=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=underline
- hi CursorLineNr guifg=Yellow guibg=NONE guisp=NONE gui=bold ctermfg=Yellow ctermbg=NONE cterm=underline
- hi DiffAdd guifg=NONE guibg=DarkBlue guisp=NONE gui=NONE ctermfg=NONE ctermbg=DarkBlue cterm=NONE
- hi DiffChange guifg=NONE guibg=DarkMagenta guisp=NONE gui=NONE ctermfg=NONE ctermbg=DarkMagenta cterm=NONE
- hi DiffDelete guifg=Blue guibg=DarkCyan guisp=NONE gui=bold ctermfg=Blue ctermbg=DarkCyan cterm=NONE
- hi Directory guifg=Cyan guibg=NONE guisp=NONE gui=NONE ctermfg=LightCyan ctermbg=NONE cterm=NONE
- hi FoldColumn guifg=Cyan guibg=Grey guisp=NONE gui=NONE ctermfg=Cyan ctermbg=DarkGrey cterm=NONE
- hi Folded guifg=Cyan guibg=DarkGrey guisp=NONE gui=NONE ctermfg=Cyan ctermbg=DarkGrey cterm=NONE
- hi LineNr guifg=Yellow guibg=NONE guisp=NONE gui=NONE ctermfg=Yellow ctermbg=NONE cterm=NONE
- hi MatchParen guifg=NONE guibg=DarkCyan guisp=NONE gui=NONE ctermfg=NONE ctermbg=DarkCyan cterm=NONE
- hi MoreMsg guifg=SeaGreen guibg=NONE guisp=NONE gui=bold ctermfg=LightGreen ctermbg=NONE cterm=NONE
- hi Pmenu guifg=NONE guibg=Magenta guisp=NONE gui=NONE ctermfg=Black ctermbg=Magenta cterm=NONE
- hi PmenuSel guifg=NONE guibg=DarkGrey guisp=NONE gui=NONE ctermfg=DarkGrey ctermbg=Black cterm=NONE blend=NONE
- hi PmenuThumb guifg=NONE guibg=White guisp=NONE gui=NONE ctermfg=NONE ctermbg=White cterm=NONE
- hi Question guifg=Green guibg=NONE guisp=NONE gui=bold ctermfg=LightGreen ctermbg=NONE cterm=NONE
- hi Search guifg=Black guibg=Yellow guisp=NONE gui=NONE ctermfg=Black ctermbg=Yellow cterm=NONE
- hi SignColumn guifg=Cyan guibg=Grey guisp=NONE gui=NONE ctermfg=Cyan ctermbg=DarkGrey cterm=NONE
- hi SpecialKey guifg=Cyan guibg=NONE guisp=NONE gui=NONE ctermfg=LightBlue ctermbg=NONE cterm=NONE
- hi SpellBad guifg=NONE guibg=NONE guisp=Red gui=undercurl ctermfg=NONE ctermbg=Red cterm=NONE
- hi SpellCap guifg=NONE guibg=NONE guisp=Blue gui=undercurl ctermfg=NONE ctermbg=Blue cterm=NONE
- hi SpellLocal guifg=NONE guibg=NONE guisp=Cyan gui=undercurl ctermfg=NONE ctermbg=Cyan cterm=NONE
- hi SpellRare guifg=NONE guibg=NONE guisp=Magenta gui=undercurl ctermfg=NONE ctermbg=Magenta cterm=NONE
- hi TabLine guifg=NONE guibg=DarkGrey guisp=NONE gui=underline ctermfg=white ctermbg=DarkGrey cterm=underline
- hi Title guifg=Magenta guibg=NONE guisp=NONE gui=bold ctermfg=LightMagenta ctermbg=NONE cterm=NONE
- hi Visual guifg=NONE guibg=DarkGrey guisp=NONE gui=NONE ctermfg=NONE ctermbg=DarkGrey cterm=NONE
- hi WarningMsg guifg=Red guibg=NONE guisp=NONE gui=NONE ctermfg=LightRed ctermbg=NONE cterm=NONE
- hi Comment guifg=#80a0ff guibg=NONE guisp=NONE gui=NONE ctermfg=Cyan ctermbg=NONE cterm=NONE term=bold
- hi Constant guifg=#ffa0a0 guibg=NONE guisp=NONE gui=NONE ctermfg=Magenta ctermbg=NONE cterm=NONE term=underline
- hi Special guifg=Orange guibg=NONE guisp=NONE gui=NONE ctermfg=LightRed ctermbg=NONE cterm=NONE term=bold
- hi Identifier guifg=#40ffff guibg=NONE guisp=NONE gui=NONE ctermfg=Cyan ctermbg=NONE cterm=bold term=underline
- hi Statement guifg=#ffff60 guibg=NONE guisp=NONE gui=bold ctermfg=Yellow ctermbg=NONE cterm=NONE term=bold
- hi PreProc guifg=#ff80ff guibg=NONE guisp=NONE gui=NONE ctermfg=LightBlue ctermbg=NONE cterm=NONE term=underline
- hi Type guifg=#60ff60 guibg=NONE guisp=NONE gui=bold ctermfg=LightGreen ctermbg=NONE cterm=NONE term=underline
- hi Underlined guifg=#80a0ff guibg=NONE guisp=NONE gui=underline ctermfg=LightBlue ctermbg=NONE cterm=underline term=underline
- hi Ignore guifg=bg guibg=NONE guisp=NONE gui=NONE ctermfg=black ctermbg=NONE cterm=NONE term=NONE
-endif
-
-" vim: sw=2
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index 449c3ab9d8..2e1f196226 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -41,7 +41,7 @@ module.nvim_argv = {
-- Make screentest work after changing to the new default color scheme
-- Source 'vim' color scheme without side effects
-- TODO: rewrite tests
- '--cmd', 'lua f=io.open("runtime/colors/vim.vim", "r"); l=f:read("*a"); f:close(); vim.api.nvim_exec2(l, {})',
+ '--cmd', 'lua dofile("runtime/colors/vim.lua")',
'--cmd', 'unlet g:colors_name',
'--embed'}
diff --git a/test/functional/ui/highlight_spec.lua b/test/functional/ui/highlight_spec.lua
index f5df11115c..d9ed66eb01 100644
--- a/test/functional/ui/highlight_spec.lua
+++ b/test/functional/ui/highlight_spec.lua
@@ -2381,6 +2381,7 @@ describe('highlight namespaces', function()
end)
it('Normal in set_hl #25474', function()
+ command('highlight Ignore guifg=bg ctermfg=White')
meths.set_hl(0, 'Normal', {bg='#333333'})
command('highlight Ignore')
screen:expect{grid=[[