summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-05-14 13:33:50 +0100
committerBram Moolenaar <Bram@vim.org>2022-05-14 13:33:50 +0100
commit30ab04e16e1e9e6133590181197b3f8e70cb495e (patch)
treec517425cceaef671aeea07d5332bbeb68397af8d
parent2e444bbef0f36535bf941f007f2961f3f66bbe87 (diff)
downloadvim-git-30ab04e16e1e9e6133590181197b3f8e70cb495e.tar.gz
Update runtime files, new color schemes
-rw-r--r--.github/CODEOWNERS19
-rw-r--r--runtime/colors/README.txt67
-rw-r--r--runtime/colors/blue.vim492
-rw-r--r--runtime/colors/darkblue.vim517
-rw-r--r--runtime/colors/delek.vim386
-rw-r--r--runtime/colors/desert.vim425
-rw-r--r--runtime/colors/elflord.vim417
-rw-r--r--runtime/colors/evening.vim488
-rw-r--r--runtime/colors/industry.vim365
-rw-r--r--runtime/colors/koehler.vim427
-rw-r--r--runtime/colors/morning.vim374
-rw-r--r--runtime/colors/murphy.vim370
-rw-r--r--runtime/colors/pablo.vim382
-rw-r--r--runtime/colors/peachpuff.vim381
-rw-r--r--runtime/colors/ron.vim415
-rw-r--r--runtime/colors/shine.vim397
-rw-r--r--runtime/colors/slate.vim404
-rw-r--r--runtime/colors/tools/check_colors.vim409
-rw-r--r--runtime/colors/torte.vim400
-rw-r--r--runtime/colors/zellner.vim387
-rw-r--r--runtime/doc/Makefile8
-rw-r--r--runtime/doc/eval.txt6
-rw-r--r--runtime/doc/help.txt9
-rw-r--r--runtime/doc/tags67
-rw-r--r--runtime/doc/todo.txt11
-rw-r--r--runtime/doc/usr_41.txt849
-rw-r--r--runtime/doc/usr_45.txt6
-rw-r--r--runtime/doc/usr_50.txt25
-rw-r--r--runtime/doc/usr_51.txt860
-rw-r--r--runtime/doc/usr_52.txt (renamed from runtime/doc/usr_46.txt)20
-rw-r--r--runtime/doc/usr_90.txt4
-rw-r--r--runtime/doc/usr_toc.txt51
-rw-r--r--runtime/doc/vim9.txt5
-rw-r--r--runtime/syntax/help.vim4
34 files changed, 7431 insertions, 2016 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 2f4616085..d00c44c16 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -19,6 +19,25 @@ runtime/autoload/tar.vim @cecamp
runtime/autoload/vimball.vim @cecamp
runtime/autoload/xmlformat.vim @chrisbra
runtime/autoload/zip.vim @cecamp
+runtime/colors/blue.vim @habamax @romainl @neutaaaaan
+runtime/colors/darkblue.vim @habamax @romainl @neutaaaaan
+runtime/colors/default.vim @habamax @romainl @neutaaaaan
+runtime/colors/delek.vim @habamax @romainl @neutaaaaan
+runtime/colors/desert.vim @habamax @romainl @neutaaaaan
+runtime/colors/elflord.vim @habamax @romainl @neutaaaaan
+runtime/colors/evening.vim @habamax @romainl @neutaaaaan
+runtime/colors/industry.vim @habamax @romainl @neutaaaaan
+runtime/colors/koehler.vim @habamax @romainl @neutaaaaan
+runtime/colors/morning.vim @habamax @romainl @neutaaaaan
+runtime/colors/murphy.vim @habamax @romainl @neutaaaaan
+runtime/colors/pablo.vim @habamax @romainl @neutaaaaan
+runtime/colors/peachpuff.vim @habamax @romainl @neutaaaaan
+runtime/colors/ron.vim @habamax @romainl @neutaaaaan
+runtime/colors/shine.vim @habamax @romainl @neutaaaaan
+runtime/colors/slate.vim @habamax @romainl @neutaaaaan
+runtime/colors/tools @habamax @romainl @neutaaaaan
+runtime/colors/torte.vim @habamax @romainl @neutaaaaan
+runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
runtime/compiler/checkstyle.vim @dkearns
runtime/compiler/cm3.vim @dkearns
runtime/compiler/cucumber.vim @tpope
diff --git a/runtime/colors/README.txt b/runtime/colors/README.txt
index 2b3471e39..b238451d8 100644
--- a/runtime/colors/README.txt
+++ b/runtime/colors/README.txt
@@ -1,7 +1,7 @@
README.txt for color scheme files
These files are used for the ":colorscheme" command. They appear in the
-Edit/Color Scheme menu in the GUI.
+"Edit/Color Scheme" menu in the GUI.
Hints for writing a color scheme file:
@@ -9,6 +9,7 @@ Hints for writing a color scheme file:
There are two basic ways to define a color scheme:
1. Define a new Normal color and set the 'background' option accordingly.
+
set background={light or dark}
highlight clear
highlight Normal ...
@@ -16,6 +17,7 @@ There are two basic ways to define a color scheme:
2. Use the default Normal color and automatically adjust to the value of
'background'.
+
highlight clear Normal
set background&
highlight clear
@@ -28,7 +30,7 @@ There are two basic ways to define a color scheme:
endif
You can use ":highlight clear" to reset everything to the defaults, and then
-change the groups that you want differently. This also will work for groups
+change the groups that you want differently. This will also work for groups
that are added in later versions of Vim.
Note that ":highlight clear" uses the value of 'background', thus set it
before this command.
@@ -38,7 +40,9 @@ attributes.
In case you want to set 'background' depending on the colorscheme selected,
this autocmd might be useful:
+
autocmd SourcePre */colors/blue_sky.vim set background=dark
+
Replace "blue_sky" with the name of the colorscheme.
In case you want to tweak a colorscheme after it was loaded, check out the
@@ -46,6 +50,7 @@ ColorScheme autocommand event.
To clean up just before loading another colorscheme, use the ColorSchemePre
autocommand event. For example:
+
let g:term_ansi_colors = ...
augroup MyColorscheme
au!
@@ -54,20 +59,22 @@ autocommand event. For example:
augroup END
To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim",
-and use `:runtime` to load the original colorscheme:
+and use ":runtime" to load the original colorscheme:
+
" load the "evening" colorscheme
runtime colors/evening.vim
" change the color of statements
hi Statement ctermfg=Blue guifg=Blue
-To see which highlight group is used where, find the help for
-"highlight-groups" and "group-name".
+To see which highlight group is used where, see ":help highlight-groups" and
+":help group-name".
You can use ":highlight" to find out the current colors. Exception: the
ctermfg and ctermbg values are numbers, which are only valid for the current
-terminal. Use the color names instead. See ":help cterm-colors".
+terminal. Use the color names instead for better portability. See
+":help cterm-colors".
-The default color settings can be found in the source file src/highlight.c.
+The default color settings can be found in the source file src/syntax.c.
Search for "highlight_init".
If you think you have a color scheme that is good enough to be used by others,
@@ -75,17 +82,57 @@ please check the following items:
- Source the $VIMRUNTIME/colors/tools/check_colors.vim script to check for
common mistakes.
-- Does it work in a color terminal as well as in the GUI?
+
+- Does it work in a color terminal as well as in the GUI? Is it consistent?
+
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
it this way:
+
let g:colors_name = expand('<sfile>:t:r')
+
- Is 'background' either used or appropriately set to "light" or "dark"?
+
- Try setting 'hlsearch' and searching for a pattern, is the match easy to
spot?
+
- Split a window with ":split" and ":vsplit". Are the status lines and
vertical separators clearly visible?
+
- In the GUI, is it easy to find the cursor, also in a file with lots of
syntax highlighting?
+
+- In general, test your color scheme against as many filetypes, Vim features,
+ environments, etc. as possible.
+
- Do not use hard coded escape sequences, these will not work in other
- terminals. Always use color names or #RRGGBB for the GUI. See v:colornames
- for details on how to define your own color names.
+ terminals. Always use #RRGGBB for the GUI.
+
+- When targetting 8-16 colors terminals, don't count on "darkblue" to be blue
+ and dark, or on "2" to be even vaguely reddish. Names are more portable
+ than numbers, though.
+
+- When targetting 256 colors terminals, prefer colors 16-255 to colors 0-15
+ for the same reason.
+
+- Typographic attributes (bold, italic, underline, reverse, etc.) are not
+ universally supported. Don't count on any of them.
+
+- Is "g:terminal_ansi_colors" set to a list of 16 #RRGGBB values?
+
+- Try to keep your color scheme simple by avoiding unnecessary logic and
+ refraining from adding options. The best color scheme is one that only
+ requires:
+
+ colorscheme foobar
+
+The color schemes distributed with Vim are built with lifepillar/colortemplate
+(https://github.com/lifepillar/vim-colortemplate). It is therefore highly
+recommended.
+
+If you would like your color scheme to be distributed with Vim, make sure
+that:
+
+- it satisfies the guidelines above,
+- it was made with colortemplate,
+
+and join us at vim/colorschemes: (https://github.com/vim/colorschemes).
diff --git a/runtime/colors/blue.vim b/runtime/colors/blue.vim
index 86de8a4dc..abb244571 100644
--- a/runtime/colors/blue.vim
+++ b/runtime/colors/blue.vim
@@ -1,55 +1,447 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Steven Vertigan <steven@vertigan.wattle.id.au>
-" Last Change: 2006 Sep 23
-" Revision #5: Switch main text from white to yellow for easier contrast,
-" fixed some problems with terminal backgrounds.
+" Name: blue
+" Description: Colorscheme with a blue background
+" Author: Original author Steven Vertigan <steven@vertigan.wattle.id.au>
+" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:33 2022
+
+" Generated by Colortemplate v2.2.0
set background=dark
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'blue'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#870000', '#006400', '#878700', '#000087', '#870087', '#008787', '#bcbcbc', '#878787', '#d70000', '#00ff00', '#ffdf00', '#5fafff', '#d787d7', '#5fffff', '#ffffff']
+endif
+hi Normal guifg=#ffdf00 guibg=#000087 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#005faf gui=NONE cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
+hi PmenuSel guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#d787d7 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#870087 gui=NONE cterm=NONE
+hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#005faf gui=NONE cterm=NONE
+hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffdf00 guibg=#005faf gui=bold cterm=NONE
+hi EndOfBuffer guifg=#ffdf00 guibg=#000087 gui=NONE cterm=NONE
+hi Error guifg=#ff7f50 guibg=#000087 gui=reverse cterm=reverse
+hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
+hi FoldColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
+hi Folded guifg=#000087 guibg=#878700 gui=NONE cterm=NONE
+hi IncSearch guifg=#d787d7 guibg=#000000 gui=standout cterm=reverse
+hi LineNr guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
+hi MatchParen guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi ModeMsg guifg=#000087 guibg=#00ff00 gui=NONE cterm=NONE
+hi MoreMsg guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
+hi NonText guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi Question guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
+hi Search guifg=#ffdf00 guibg=#000000 gui=reverse cterm=reverse
+hi SignColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
+hi SpellBad guifg=#d70000 guibg=NONE guisp=#d70000 gui=undercurl cterm=underline
+hi SpellCap guifg=#00ff00 guibg=NONE guisp=#00ff00 gui=undercurl cterm=underline
+hi SpellLocal guifg=#ffffff guibg=NONE guisp=#ffffff gui=undercurl cterm=underline
+hi SpellRare guifg=#d787d7 guibg=NONE guisp=#d787d7 gui=undercurl cterm=underline
+hi StatusLine guifg=#000087 guibg=#5fffff gui=NONE cterm=NONE
+hi StatusLineNC guifg=#000087 guibg=#008787 gui=NONE cterm=NONE
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi! link TabLine StatusLineNC
+hi! link TabLineFill StatusLineNC
+hi! link TabLineSel StatusLine
+hi ToolbarButton guifg=#ffffff guibg=#005faf gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi VertSplit guifg=#008787 guibg=NONE gui=NONE cterm=NONE
+hi Visual guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
+hi VisualNOS guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
+hi WarningMsg guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#000087 guibg=#ffdf00 gui=NONE cterm=NONE
+hi debugBreakpoint guifg=#00ff00 guibg=#000087 gui=reverse cterm=reverse
+hi debugPC guifg=#5fffff guibg=#000087 gui=reverse cterm=reverse
+hi! link Terminal Normal
+hi! link Debug Special
+hi! link diffAdded String
+hi! link diffRemoved WarningMsg
+hi! link diffOnly WarningMsg
+hi! link diffNoEOL WarningMsg
+hi! link diffIsA WarningMsg
+hi! link diffIdentical WarningMsg
+hi! link diffDiffer WarningMsg
+hi! link diffCommon WarningMsg
+hi! link diffBDiffer WarningMsg
+hi! link lCursor Cursor
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi Directory guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
+hi Title guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
+hi Comment guifg=#878787 guibg=NONE gui=bold cterm=NONE
+hi Constant guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=#878787 guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
+hi Todo guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi Type guifg=#ffa500 guibg=NONE gui=bold cterm=NONE
+hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
+hi Label guifg=#ffdf00 guibg=NONE gui=NONE cterm=NONE
+hi! link Boolean Constant
+hi! link Character Constant
+hi! link Conditional Statement
+hi! link Define PreProc
+hi! link Delimiter Special
+hi! link Exception Statement
+hi! link Float Constant
+hi! link Function Identifier
+hi! link Include PreProc
+hi! link Keyword Statement
+hi! link Macro PreProc
+hi! link Number Constant
+hi! link Operator Type
+hi! link PreCondit PreProc
+hi! link Repeat Statement
+hi! link SpecialChar Special
+hi! link SpecialComment Special
+hi! link StorageClass Type
+hi! link String Constant
+hi! link Structure Type
+hi! link Tag Special
+hi! link Typedef Type
+hi! link Terminal Normal
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=220 ctermbg=18 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=25 cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=30 cterm=NONE
+ hi PmenuSel ctermfg=30 ctermbg=231 cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=176 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=90 cterm=NONE
+ hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=25 cterm=NONE
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi CursorLineNr ctermfg=220 ctermbg=25 cterm=NONE
+ hi EndOfBuffer ctermfg=220 ctermbg=18 cterm=NONE
+ hi Error ctermfg=209 ctermbg=18 cterm=reverse
+ hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
+ hi FoldColumn ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=18 ctermbg=100 cterm=NONE
+ hi IncSearch ctermfg=176 ctermbg=16 cterm=reverse
+ hi LineNr ctermfg=87 ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi ModeMsg ctermfg=18 ctermbg=46 cterm=NONE
+ hi MoreMsg ctermfg=87 ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=176 ctermbg=NONE cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
+ hi Question ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Search ctermfg=220 ctermbg=16 cterm=reverse
+ hi SignColumn ctermfg=30 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=87 ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=160 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=46 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=231 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=176 ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=18 ctermbg=87 cterm=NONE
+ hi StatusLineNC ctermfg=18 ctermbg=30 cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link TabLine StatusLineNC
+ hi! link TabLineFill StatusLineNC
+ hi! link TabLineSel StatusLine
+ hi ToolbarButton ctermfg=231 ctermbg=25 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=231 ctermbg=30 cterm=NONE
+ hi VisualNOS ctermfg=30 ctermbg=231 cterm=NONE
+ hi WarningMsg ctermfg=160 ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=18 ctermbg=220 cterm=NONE
+ hi debugBreakpoint ctermfg=46 ctermbg=18 cterm=reverse
+ hi debugPC ctermfg=87 ctermbg=18 cterm=reverse
+ hi! link Terminal Normal
+ hi! link Debug Special
+ hi! link diffAdded String
+ hi! link diffRemoved WarningMsg
+ hi! link diffOnly WarningMsg
+ hi! link diffNoEOL WarningMsg
+ hi! link diffIsA WarningMsg
+ hi! link diffIdentical WarningMsg
+ hi! link diffDiffer WarningMsg
+ hi! link diffCommon WarningMsg
+ hi! link diffBDiffer WarningMsg
+ hi! link lCursor Cursor
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Directory ctermfg=87 ctermbg=NONE cterm=NONE
+ hi Title ctermfg=176 ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=102 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=87 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=250 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=102 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=176 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=231 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi Type ctermfg=214 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+ hi Label ctermfg=220 ctermbg=NONE cterm=NONE
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi! link Function Identifier
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Type
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi! link Typedef Type
+ hi! link Terminal Normal
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=yellow ctermbg=darkblue cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=white cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=darkmagenta cterm=NONE
+ hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Cursor ctermfg=black ctermbg=green cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=blue cterm=NONE
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi CursorLineNr ctermfg=yellow ctermbg=blue cterm=NONE
+ hi EndOfBuffer ctermfg=yellow ctermbg=darkblue cterm=NONE
+ hi Error ctermfg=red ctermbg=darkblue cterm=reverse
+ hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
+ hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+ hi IncSearch ctermfg=magenta ctermbg=black cterm=reverse
+ hi LineNr ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi ModeMsg ctermfg=darkblue ctermbg=green cterm=NONE
+ hi MoreMsg ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi Search ctermfg=yellow ctermbg=black cterm=reverse
+ hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=white ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=darkblue ctermbg=cyan cterm=NONE
+ hi StatusLineNC ctermfg=darkblue ctermbg=darkcyan cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link TabLine StatusLineNC
+ hi! link TabLineFill StatusLineNC
+ hi! link TabLineSel StatusLine
+ hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=white ctermbg=darkcyan cterm=NONE
+ hi VisualNOS ctermfg=darkcyan ctermbg=white cterm=NONE
+ hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=darkblue ctermbg=yellow cterm=NONE
+ hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
+ hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
+ hi! link Terminal Normal
+ hi! link Debug Special
+ hi! link diffAdded String
+ hi! link diffRemoved WarningMsg
+ hi! link diffOnly WarningMsg
+ hi! link diffNoEOL WarningMsg
+ hi! link diffIsA WarningMsg
+ hi! link diffIdentical WarningMsg
+ hi! link diffDiffer WarningMsg
+ hi! link diffCommon WarningMsg
+ hi! link diffBDiffer WarningMsg
+ hi! link lCursor Cursor
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=gray ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=darkgray ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
+ hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=white ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+ hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi! link Function Identifier
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Type
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi! link Typedef Type
+ hi! link Terminal Normal
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
endif
-let g:colors_name = "blue"
-hi Normal guifg=yellow guibg=darkBlue ctermfg=yellow ctermbg=darkBlue
-hi NonText guifg=magenta ctermfg=lightMagenta
-hi comment guifg=gray ctermfg=gray ctermbg=darkBlue gui=bold
-hi constant guifg=cyan ctermfg=cyan
-hi identifier guifg=gray ctermfg=red
-hi statement guifg=white ctermfg=white ctermbg=darkBlue gui=none
-hi preproc guifg=green ctermfg=green
-hi type guifg=orange ctermfg=lightRed ctermbg=darkBlue
-hi special guifg=magenta ctermfg=lightMagenta ctermbg=darkBlue
-hi Underlined guifg=cyan ctermfg=cyan gui=underline cterm=underline
-hi label guifg=yellow ctermfg=yellow
-hi operator guifg=orange gui=bold ctermfg=lightRed ctermbg=darkBlue
-
-hi ErrorMsg guifg=orange guibg=darkBlue ctermfg=lightRed
-hi WarningMsg guifg=cyan guibg=darkBlue ctermfg=cyan gui=bold
-hi ModeMsg guifg=yellow gui=NONE ctermfg=yellow
-hi MoreMsg guifg=yellow gui=NONE ctermfg=yellow
-hi Error guifg=red guibg=darkBlue gui=underline ctermfg=red
-
-hi Todo guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
-hi Cursor guifg=black guibg=white ctermfg=black ctermbg=white
-hi Search guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
-hi IncSearch guifg=black guibg=yellow ctermfg=black ctermbg=darkYellow
-hi LineNr guifg=cyan ctermfg=cyan
-hi title guifg=white gui=bold cterm=bold
-
-hi StatusLineNC gui=NONE guifg=black guibg=blue ctermfg=black ctermbg=blue
-hi StatusLine gui=bold guifg=cyan guibg=blue ctermfg=cyan ctermbg=blue
-hi VertSplit gui=none guifg=blue guibg=blue ctermfg=blue ctermbg=blue
-
-hi Visual term=reverse ctermfg=black ctermbg=darkCyan guifg=black guibg=darkCyan
-
-hi DiffChange guibg=darkGreen guifg=black ctermbg=darkGreen ctermfg=black
-hi DiffText guibg=olivedrab guifg=black ctermbg=lightGreen ctermfg=black
-hi DiffAdd guibg=slateblue guifg=black ctermbg=blue ctermfg=black
-hi DiffDelete guibg=coral guifg=black ctermbg=cyan ctermfg=black
-
-hi Folded guibg=orange guifg=black ctermbg=yellow ctermfg=black
-hi FoldColumn guibg=gray30 guifg=black ctermbg=gray ctermfg=black
-hi cIf0 guifg=gray ctermfg=gray
+" Background: dark
+" Color: black #000000 16 black
+" Color: darkred #870000 88 darkred
+" Color: darkyellow #878700 100 darkyellow
+" Color: darkblue #000087 18 darkblue
+" Color: darkmagenta #870087 90 darkmagenta
+" Color: darkcyan #008787 30 darkcyan
+" Color: gray #bcbcbc 250 gray
+" Color: comment #878787 102 darkgray
+" Color: darkgray #878787 102 darkgray
+" Color: red #d70000 160 red
+" Color: green #00ff00 46 green
+" Color: yellow #ffdf00 220 yellow
+" Color: blue #005faf 25 blue
+" Color: magenta #d787d7 176 magenta
+" Color: cyan #5fffff 87 cyan
+" Color: white #ffffff 231 white
+" Color: xtermblue #5fafff 75 blue
+" Color: xtermdarkblue #0087af 31 darkblue
+" Color: orange #ffa500 214 darkyellow
+" Color: darkgreen #006400 22 darkgreen
+" Color: coral #ff7f50 209 red
+" Color: olivedrab #6b8e23 64 green
+" Color: slateblue #6a5acd 62 darkmagenta
+" Term colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan gray
+" Term colors: darkgray red green yellow xtermblue magenta cyan white
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/darkblue.vim b/runtime/colors/darkblue.vim
index 411712272..63f517ed9 100644
--- a/runtime/colors/darkblue.vim
+++ b/runtime/colors/darkblue.vim
@@ -1,66 +1,469 @@
-" Vim color file
-" Maintainer: Bohdan Vlasyuk <bohdan@vstu.edu.ua>
-" Last Change: 2008 Jul 18
+" Name: darkblue
+" Description: For those who prefer dark background
+" Author: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
+" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:33 2022
-" darkblue -- for those who prefer dark background
-" [note: looks bit uglier with come terminal palettes,
-" but is fine on default linux console palette.]
+" Generated by Colortemplate v2.2.0
-set bg=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "darkblue"
-
-hi Normal guifg=#c0c0c0 guibg=#000040 ctermfg=gray ctermbg=black
-hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=lightblue
-hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse
-hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline
-hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue
-hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline term=underline
-hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray
-
-hi SpecialKey guifg=cyan ctermfg=darkcyan
-hi Directory guifg=cyan ctermfg=cyan
-hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold
-hi WarningMsg guifg=red ctermfg=red
-hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none
-hi ModeMsg guifg=#22cce2 ctermfg=lightblue
-hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen
-hi Question guifg=green gui=none ctermfg=green cterm=none
-hi NonText guifg=#0030ff ctermfg=darkblue
+set background=dark
-hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none
-hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
+hi clear
+let g:colors_name = 'darkblue'
-hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi LineNr guifg=#90f020 ctermfg=green cterm=none
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
-hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none
-hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
-hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
-hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
+endif
+hi Normal guifg=#c0c0c0 guibg=#000040 gui=NONE cterm=NONE
+hi! link Terminal Normal
+hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ColorColumn guifg=#c0c0c0 guibg=#8b0000 gui=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#ffff60 gui=NONE cterm=NONE
+hi! link CursorColumn CursorLine
+hi! link CursorIM Cursor
+hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff60 guibg=#666666 gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#ff80ff gui=NONE cterm=NONE
+hi DiffAdd guifg=NONE guibg=#0030ff gui=NONE cterm=NONE
+hi DiffChange guifg=NONE guibg=#404080 gui=NONE cterm=NONE
+hi DiffDelete guifg=#000040 guibg=#008b8b gui=NONE cterm=NONE
+hi DiffText guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
+hi! link EndOfBuffer NonText
+hi Error guifg=#ffa0a0 guibg=NONE gui=reverse cterm=reverse
+hi! link ErrorMsg Error
+hi FoldColumn guifg=#808080 guibg=NONE gui=bold cterm=NONE
+hi Folded guifg=#808080 guibg=NONE gui=bold cterm=NONE
+hi IncSearch guifg=#ffffff guibg=#0030ff gui=reverse cterm=reverse
+hi LineNr guifg=#90f020 guibg=NONE gui=NONE cterm=NONE
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi MatchParen guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi ModeMsg guifg=#90fff0 guibg=NONE gui=NONE cterm=NONE
+hi MoreMsg guifg=#006400 guibg=NONE gui=NONE cterm=NONE
+hi NonText guifg=#0030ff guibg=NONE gui=NONE cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#0030ff gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi PmenuSel guifg=#0030ff guibg=#ffffff gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi Question guifg=#90f020 guibg=NONE gui=NONE cterm=NONE
+hi Search guifg=#90fff0 guibg=#0030ff gui=NONE cterm=NONE
+hi SignColumn guifg=#808080 guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#90f020 guibg=NONE guisp=#90f020 gui=undercurl cterm=underline
+hi SpellLocal guifg=#90fff0 guibg=NONE guisp=#90fff0 gui=undercurl cterm=underline
+hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi StatusLine guifg=#000040 guibg=#c0c0c0 gui=NONE cterm=NONE
+hi StatusLineNC guifg=#000000 guibg=#808080 gui=NONE cterm=NONE
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi TabLine guifg=#000000 guibg=#808080 gui=NONE cterm=NONE
+hi! link TabLineFill TabLine
+hi TabLineSel guifg=#000040 guibg=#c0c0c0 gui=NONE cterm=NONE
+hi ToolbarButton guifg=#ffffff guibg=#0030ff gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi VertSplit guifg=#000000 guibg=#808080 gui=NONE cterm=NONE
+hi Visual guifg=#8080ff guibg=#ffffff gui=reverse cterm=reverse
+hi VisualNOS guifg=#8080ff guibg=#c0c0c0 gui=reverse,underline cterm=reverse,underline
+hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#ffff60 guibg=#000000 gui=NONE cterm=NONE
+hi debugBreakpoint guifg=#90f020 guibg=#00008b gui=reverse cterm=reverse
+hi debugPC guifg=#90fff0 guibg=#00008b gui=reverse cterm=reverse
+hi! link Terminal Normal
+hi! link Debug Special
+hi! link diffAdded String
+hi! link diffRemoved WarningMsg
+hi! link diffOnly WarningMsg
+hi! link diffNoEOL WarningMsg
+hi! link diffIsA WarningMsg
+hi! link diffIdentical WarningMsg
+hi! link diffDiffer WarningMsg
+hi! link diffCommon WarningMsg
+hi! link diffBDiffer WarningMsg
+hi! link lCursor Cursor
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi Directory guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
+hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#90fff0 guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=#000040 guibg=#c0c0c0 gui=NONE cterm=NONE
+hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#ffff60 guibg=NONE gui=NONE cterm=NONE
+hi Todo guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi Type guifg=#90f020 guibg=NONE gui=NONE cterm=NONE
+hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
+hi! link Boolean Constant
+hi! link Character Constant
+hi! link Conditional Statement
+hi! link Define PreProc
+hi! link Delimiter Special
+hi! link Exception Statement
+hi! link Float Constant
+hi! link Function Identifier
+hi! link Include PreProc
+hi! link Keyword Statement
+hi! link Label Statement
+hi! link Macro PreProc
+hi! link Number Constant
+hi! link Operator Statement
+hi! link PreCondit PreProc
+hi! link Repeat Statement
+hi! link SpecialChar Special
+hi! link SpecialComment Special
+hi! link StorageClass Type
+hi! link String Constant
+hi! link Structure Type
+hi! link Tag Special
+hi! link Typedef Type
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
-hi Cursor guifg=black guibg=yellow ctermfg=black ctermbg=yellow
-hi lCursor guifg=black guibg=white ctermfg=black ctermbg=white
+if s:t_Co >= 256
+ hi Normal ctermfg=252 ctermbg=17 cterm=NONE
+ hi! link Terminal Normal
+ hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ColorColumn ctermfg=252 ctermbg=88 cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=227 cterm=NONE
+ hi! link CursorColumn CursorLine
+ hi! link CursorIM Cursor
+ hi CursorLine ctermfg=NONE ctermbg=59 cterm=NONE
+ hi CursorLineNr ctermfg=227 ctermbg=59 cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=213 cterm=NONE
+ hi DiffAdd ctermfg=NONE ctermbg=27 cterm=NONE
+ hi DiffChange ctermfg=NONE ctermbg=61 cterm=NONE
+ hi DiffDelete ctermfg=17 ctermbg=30 cterm=NONE
+ hi DiffText ctermfg=NONE ctermbg=30 cterm=NONE
+ hi! link EndOfBuffer NonText
+ hi Error ctermfg=217 ctermbg=NONE cterm=reverse
+ hi! link ErrorMsg Error
+ hi FoldColumn ctermfg=102 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=102 ctermbg=NONE cterm=NONE
+ hi IncSearch ctermfg=231 ctermbg=27 cterm=reverse
+ hi LineNr ctermfg=118 ctermbg=NONE cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi ModeMsg ctermfg=123 ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=22 ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=27 ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=27 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=27 ctermbg=231 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
+ hi Question ctermfg=118 ctermbg=NONE cterm=NONE
+ hi Search ctermfg=123 ctermbg=27 cterm=NONE
+ hi SignColumn ctermfg=102 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=30 ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=118 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=123 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=17 ctermbg=252 cterm=NONE
+ hi StatusLineNC ctermfg=16 ctermbg=102 cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi TabLine ctermfg=16 ctermbg=102 cterm=NONE
+ hi! link TabLineFill TabLine
+ hi TabLineSel ctermfg=17 ctermbg=252 cterm=NONE
+ hi ToolbarButton ctermfg=231 ctermbg=27 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=16 ctermbg=102 cterm=NONE
+ hi Visual ctermfg=105 ctermbg=231 cterm=reverse
+ hi VisualNOS ctermfg=105 ctermbg=252 cterm=reverse,underline
+ hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=227 ctermbg=16 cterm=NONE
+ hi debugBreakpoint ctermfg=118 ctermbg=18 cterm=reverse
+ hi debugPC ctermfg=123 ctermbg=18 cterm=reverse
+ hi! link Terminal Normal
+ hi! link Debug Special
+ hi! link diffAdded String
+ hi! link diffRemoved WarningMsg
+ hi! link diffOnly WarningMsg
+ hi! link diffNoEOL WarningMsg
+ hi! link diffIsA WarningMsg
+ hi! link diffIdentical WarningMsg
+ hi! link diffDiffer WarningMsg
+ hi! link diffCommon WarningMsg
+ hi! link diffBDiffer WarningMsg
+ hi! link lCursor Cursor
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=123 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=17 ctermbg=252 cterm=NONE
+ hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=214 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi Type ctermfg=118 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi! link Function Identifier
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Label Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Statement
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi! link Typedef Type
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+if s:t_Co >= 16
+ hi Normal ctermfg=grey ctermbg=black cterm=NONE
+ hi! link Terminal Normal
+ hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
+ hi Cursor ctermfg=black ctermbg=yellow cterm=NONE
+ hi! link CursorColumn CursorLine
+ hi! link CursorIM Cursor
+ hi CursorLine ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi CursorLineNr ctermfg=yellow ctermbg=darkgrey cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
+ hi DiffAdd ctermfg=NONE ctermbg=blue cterm=NONE
+ hi DiffChange ctermfg=NONE ctermbg=darkblue cterm=NONE
+ hi DiffDelete ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi DiffText ctermfg=NONE ctermbg=darkcyan cterm=NONE
+ hi! link EndOfBuffer NonText
+ hi Error ctermfg=red ctermbg=NONE cterm=reverse
+ hi! link ErrorMsg Error
+ hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi IncSearch ctermfg=white ctermbg=blue cterm=reverse
+ hi LineNr ctermfg=green ctermbg=NONE cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi ModeMsg ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=white ctermbg=blue cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=blue ctermbg=white cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi Search ctermfg=cyan ctermbg=blue cterm=NONE
+ hi SignColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=cyan ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
+ hi StatusLineNC ctermfg=black ctermbg=darkgrey cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi TabLine ctermfg=black ctermbg=darkgrey cterm=NONE
+ hi! link TabLineFill TabLine
+ hi TabLineSel ctermfg=black ctermbg=grey cterm=NONE
+ hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=black ctermbg=darkgrey cterm=NONE
+ hi Visual ctermfg=blue ctermbg=white cterm=reverse
+ hi VisualNOS ctermfg=blue ctermbg=grey cterm=reverse,underline
+ hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=yellow ctermbg=black cterm=NONE
+ hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
+ hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
+ hi! link Terminal Normal
+ hi! link Debug Special
+ hi! link diffAdded String
+ hi! link diffRemoved WarningMsg
+ hi! link diffOnly WarningMsg
+ hi! link diffNoEOL WarningMsg
+ hi! link diffIsA WarningMsg
+ hi! link diffIdentical WarningMsg
+ hi! link diffDiffer WarningMsg
+ hi! link diffCommon WarningMsg
+ hi! link diffBDiffer WarningMsg
+ hi! link lCursor Cursor
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=red ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=black ctermbg=grey cterm=NONE
+ hi PreProc ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi Type ctermfg=green ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi! link Function Identifier
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Label Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Statement
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi! link Typedef Type
+ hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi Search ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
-hi Comment guifg=#80a0ff ctermfg=darkred
-hi Constant ctermfg=magenta guifg=#ffa0a0 cterm=none
-hi Special ctermfg=brown guifg=Orange cterm=none gui=none
-hi Identifier ctermfg=cyan guifg=#40ffff cterm=none
-hi Statement ctermfg=yellow cterm=none guifg=#ffff60 gui=none
-hi PreProc ctermfg=magenta guifg=#ff80ff gui=none cterm=none
-hi type ctermfg=green guifg=#60ff60 gui=none cterm=none
-hi Underlined cterm=underline term=underline
-hi Ignore guifg=bg ctermfg=bg
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
-" suggested by tigmoid, 2008 Jul 18
-hi Pmenu guifg=#c0c0c0 guibg=#404080
-hi PmenuSel guifg=#c0c0c0 guibg=#2050d0
-hi PmenuSbar guifg=blue guibg=darkgray
-hi PmenuThumb guifg=#c0c0c0
+" Background: dark
+" Color: white #FFFFFF 231 white
+" Color: black #000000 16 black
+" Color: diffc #0087af 31 darkcyan
+" Color: difft #005f87 24 cyan
+" Color: cursorl #666666 59 darkgrey
+" Color: ogDeepBlue #000040 17 black
+" Color: ogDarkBlue #00008b 18 darkblue
+" Color: ogBlue #0030ff 27 blue
+" Color: ogLightBlue #287eff 33 blue
+" Color: ogDarkGrey #a9a9a9 248 grey
+" Color: ogGrey #808080 102 darkgrey
+" Color: ogLightGrey #c0c0c0 252 grey
+" Color: ogDarkViolet #404080 61 darkblue
+" Color: ogViolet #8080ff 105 blue
+" Color: ogLightViolet #80a0ff 111 blue
+" Color: ogDarkGreen #006400 22 darkgreen
+" Color: ogGreen #90f020 118 green
+" Color: ogDarkCyan #008b8b 30 darkcyan
+" Color: ogCyan #90fff0 123 cyan
+" Color: ogLightCyan #b0ffff 159 cyan
+" Color: ogDarkerRed #8b0000 88 darkred
+" Color: ogDarkRed #d14a14 166 darkred
+" Color: ogRed #ff0000 196 red
+" Color: ogLightRed #ffa0a0 217 red
+" Color: ogDarkMag #8b008b 90 darkmagenta
+" Color: ogMagenta #ff00ff 201 darkmagenta
+" Color: ogLightMag #ff80ff 213 magenta
+" Color: ogOrange #ffa500 214 darkyellow
+" Color: ogYellow #ffff60 227 yellow
+" Term colors: black ogDarkerRed ogGreen ogOrange ogDarkBlue ogDarkMag ogDarkCyan ogLightGrey
+" Term colors: ogGrey ogLightRed ogGreen ogYellow ogBlue ogMagenta ogCyan white
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/delek.vim b/runtime/colors/delek.vim
index 8c5f7f4fe..55b35b525 100644
--- a/runtime/colors/delek.vim
+++ b/runtime/colors/delek.vim
@@ -1,55 +1,339 @@
-" Vim color file
-" Maintainer: David Schweikert <david@schweikert.ch>
-" Last Change: 2014 Mar 19
+" Name: delek
+" Description: Light background colorscheme.
+" Author: Original author David Schweikert <david@schweikert.ch>
+" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:34 2022
+
+" Generated by Colortemplate v2.2.0
+
+set background=light
hi clear
+let g:colors_name = 'delek'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
+endif
+hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
+hi StatusLine guifg=#ffff00 guibg=#00008b gui=bold cterm=NONE
+hi StatusLineNC guifg=#ffd700 guibg=#00008b gui=NONE cterm=NONE
+hi StatusLineTerm guifg=#ffff00 guibg=#0000ff gui=bold cterm=NONE
+hi StatusLineTermNC guifg=#e4e4e4 guibg=#0000ff gui=NONE cterm=NONE
+hi VertSplit guifg=#e4e4e4 guibg=#00008b gui=NONE cterm=NONE
+hi Pmenu guifg=#000000 guibg=#add8e6 gui=NONE cterm=NONE
+hi PmenuSel guifg=#ffffff guibg=#00008b gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
+hi TabLine guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
+hi TabLineFill guifg=NONE guibg=#bcbcbc gui=NONE cterm=NONE
+hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
+hi ToolbarButton guifg=#ffffff guibg=#bcbcbc gui=bold cterm=NONE
+hi NonText guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
+hi Folded guifg=#00008b guibg=#e4e4e4 gui=NONE cterm=NONE
+hi Visual guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=#ee0000 gui=NONE cterm=NONE
+hi LineNr guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
+hi QuickFixLine guifg=#ffffff guibg=#008b8b gui=NONE cterm=NONE
+hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi! link ErrorMsg Error
+hi WarningMsg guifg=#cd00cd guibg=#ffffff gui=NONE cterm=NONE
+hi MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
+hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
+hi Question guifg=#00cd00 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#ffffff guibg=#ff1493 gui=NONE cterm=NONE
+hi Search guifg=#ffffff guibg=#cd00cd gui=NONE cterm=NONE
+hi IncSearch guifg=#00cd00 guibg=NONE gui=reverse cterm=reverse
+hi WildMenu guifg=#00008b guibg=#ffd700 gui=bold cterm=NONE
+hi ColorColumn guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
+hi Cursor guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi lCursor guifg=#000000 guibg=#00cd00 gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#008b8b guibg=NONE guisp=#008b8b gui=undercurl cterm=underline
+hi SpellLocal guifg=#0000ff guibg=NONE guisp=#0000ff gui=undercurl cterm=underline
+hi SpellRare guifg=#cd00cd guibg=NONE guisp=#cd00cd gui=undercurl cterm=underline
+hi debugBreakpoint guifg=#ffff00 guibg=#0000ff gui=NONE cterm=NONE
+hi debugPC guifg=#ff1493 guibg=#0000ff gui=NONE cterm=NONE
+hi Comment guifg=#ee0000 guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#00cd00 guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi Special guifg=#ff1493 guibg=NONE gui=NONE cterm=NONE
+hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
+hi Conceal guifg=#ee0000 guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#cd00cd guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi CursorLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
-let g:colors_name = "delek"
-
-" Normal should come first
-hi Normal guifg=Black guibg=White
-hi Cursor guifg=bg guibg=fg
-hi lCursor guifg=NONE guibg=Cyan
-
-" Note: we never set 'term' because the defaults for B&W terminals are OK
-hi DiffAdd ctermbg=LightBlue guibg=LightBlue
-hi DiffChange ctermbg=LightMagenta guibg=LightMagenta
-hi DiffDelete ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
-hi DiffText ctermbg=Red cterm=bold gui=bold guibg=Red
-hi Directory ctermfg=DarkBlue guifg=Blue
-hi ErrorMsg ctermfg=White ctermbg=DarkRed guibg=Red guifg=White
-hi FoldColumn ctermfg=DarkBlue ctermbg=Grey guibg=Grey guifg=DarkBlue
-hi Folded ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi IncSearch cterm=reverse gui=reverse
-hi LineNr ctermfg=Brown guifg=Brown
-hi ModeMsg cterm=bold gui=bold
-hi MoreMsg ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
-hi Pmenu guibg=LightBlue
-hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
-hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
-if &background == "light"
- hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
-else
- hi Search ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
+if s:t_Co >= 256
+ hi Normal ctermfg=16 ctermbg=231 cterm=NONE
+ hi EndOfBuffer ctermfg=250 ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=226 ctermbg=18 cterm=NONE
+ hi StatusLineNC ctermfg=220 ctermbg=18 cterm=NONE
+ hi StatusLineTerm ctermfg=226 ctermbg=21 cterm=NONE
+ hi StatusLineTermNC ctermfg=254 ctermbg=21 cterm=NONE
+ hi VertSplit ctermfg=254 ctermbg=18 cterm=NONE
+ hi Pmenu ctermfg=16 ctermbg=152 cterm=NONE
+ hi PmenuSel ctermfg=231 ctermbg=18 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=231 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=30 cterm=NONE
+ hi TabLine ctermfg=16 ctermbg=254 cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=250 cterm=NONE
+ hi TabLineSel ctermfg=16 ctermbg=231 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE
+ hi ToolbarButton ctermfg=231 ctermbg=250 cterm=NONE
+ hi NonText ctermfg=250 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=250 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=18 ctermbg=254 cterm=NONE
+ hi Visual ctermfg=16 ctermbg=252 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=196 cterm=NONE
+ hi LineNr ctermfg=124 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=18 ctermbg=NONE cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
+ hi CursorLineNr ctermfg=124 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=231 ctermbg=30 cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi! link ErrorMsg Error
+ hi WarningMsg ctermfg=164 ctermbg=231 cterm=NONE
+ hi MoreMsg ctermfg=16 ctermbg=231 cterm=NONE
+ hi ModeMsg ctermfg=16 ctermbg=231 cterm=NONE
+ hi Question ctermfg=40 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=16 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=231 ctermbg=198 cterm=NONE
+ hi Search ctermfg=231 ctermbg=164 cterm=NONE
+ hi IncSearch ctermfg=40 ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=18 ctermbg=220 cterm=NONE
+ hi ColorColumn ctermfg=16 ctermbg=254 cterm=NONE
+ hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=40 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=30 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=21 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=164 ctermbg=NONE cterm=underline
+ hi debugBreakpoint ctermfg=226 ctermbg=21 cterm=NONE
+ hi debugPC ctermfg=198 ctermbg=21 cterm=NONE
+ hi Comment ctermfg=196 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=40 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=21 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=164 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=198 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=196 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=164 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
endif
-hi SpecialKey ctermfg=DarkBlue guifg=Blue
-hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
-hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
-hi Title ctermfg=DarkMagenta gui=bold guifg=Magenta
-hi VertSplit cterm=reverse gui=reverse
-hi Visual ctermbg=NONE cterm=reverse gui=reverse guifg=Grey guibg=fg
-hi VisualNOS cterm=underline,bold gui=underline,bold
-hi WarningMsg ctermfg=DarkRed guifg=Red
-hi WildMenu ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
-
-" syntax highlighting
-hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2
-hi Constant cterm=NONE ctermfg=DarkGreen gui=NONE guifg=green3
-hi Identifier cterm=NONE ctermfg=DarkCyan gui=NONE guifg=cyan4
-hi PreProc cterm=NONE ctermfg=DarkMagenta gui=NONE guifg=magenta3
-hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=deeppink
-hi Statement cterm=bold ctermfg=Blue gui=bold guifg=blue
-hi Type cterm=NONE ctermfg=Blue gui=bold guifg=blue
-
-" vim: sw=2
+
+if s:t_Co >= 16
+ hi Normal ctermfg=black ctermbg=white cterm=NONE
+ hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=yellow ctermbg=darkblue cterm=NONE
+ hi StatusLineNC ctermfg=darkyellow ctermbg=darkblue cterm=NONE
+ hi StatusLineTerm ctermfg=yellow ctermbg=blue cterm=NONE
+ hi StatusLineTermNC ctermfg=grey ctermbg=blue cterm=NONE
+ hi VertSplit ctermfg=grey ctermbg=darkblue cterm=NONE
+ hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
+ hi PmenuSel ctermfg=white ctermbg=darkblue cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=darkcyan cterm=NONE
+ hi TabLine ctermfg=black ctermbg=grey cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE
+ hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=grey cterm=NONE
+ hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=darkred cterm=NONE
+ hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=grey cterm=NONE
+ hi CursorLineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=white ctermbg=darkcyan cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi Error ctermfg=red ctermbg=white cterm=reverse
+ hi! link ErrorMsg Error
+ hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
+ hi MoreMsg ctermfg=black ctermbg=white cterm=NONE
+ hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
+ hi Question ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=black ctermbg=yellow cterm=NONE
+ hi MatchParen ctermfg=white ctermbg=magenta cterm=NONE
+ hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
+ hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+ hi ColorColumn ctermfg=black ctermbg=grey cterm=NONE
+ hi Cursor ctermfg=white ctermbg=black cterm=NONE
+ hi lCursor ctermfg=black ctermbg=darkgreen cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=underline
+ hi debugBreakpoint ctermfg=yellow ctermbg=darkblue cterm=NONE
+ hi debugPC ctermfg=magenta ctermbg=darkblue cterm=NONE
+ hi Comment ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Type ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi Visual ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: light
+" Color: comment #ee0000 196 darkred
+" Color: constant #00cd00 40 darkgreen
+" Color: identifier #008b8b 30 darkcyan
+" Color: statement #0000ff 21 darkblue
+" Color: preproc #cd00cd 164 darkmagenta
+" Color: type #0000ff 21 blue
+" Color: special #ff1493 198 magenta
+" Color: fg0 #000000 16 black
+" Color: bg0 #ffffff 231 white
+" Color: bg1 #bcbcbc 250 darkgrey
+" Color: visual #d0d0d0 252 darkgrey
+" Color: folded #e4e4e4 254 grey
+" Color: pmenu #add8e6 152 grey
+" Color: wildmenu #00008b 18 darkblue
+" Color: error #ff0000 196 red
+" Color: status_fg #ffd700 220 darkyellow
+" Color: linenr #a52a2a 124 darkgrey
+" Color: Yellow #ffff00 226 yellow
+" Color: SlateBlue #6a5acd 62 blue
+" Term colors: bg0 statement constant preproc identifier type special bg1
+" Term colors: comment statement constant preproc identifier type special fg0
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/desert.vim b/runtime/colors/desert.vim
index 7166220f2..23267b306 100644
--- a/runtime/colors/desert.vim
+++ b/runtime/colors/desert.vim
@@ -1,108 +1,335 @@
-" Vim color file
-" Maintainer: Hans Fugal <hans@fugal.net>
-" Last Change: $Date: 2004/06/13 19:30:30 $
-" Last Change: $Date: 2004/06/13 19:30:30 $
-" URL: http://hans.fugal.net/vim/colors/desert.vim
-" Version: $Id: desert.vim,v 1.1 2004/06/13 19:30:30 vimboss Exp $
+" Name: desert
+" Description: Light background colorscheme.
+" Author: Original author Hans Fugal <hans@fugal.net>
+" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:35 2022
-" cool help screens
-" :he group-name
-" :he highlight-groups
-" :he cterm-colors
+" Generated by Colortemplate v2.2.0
set background=dark
-if version > 580
- " no guarantees for version 5.8 and below, but this makes it stop
- " complaining
- hi clear
- if exists("syntax_on")
- syntax reset
- endif
-endif
-let g:colors_name="desert"
-hi Normal guifg=White guibg=grey20
+hi clear
+let g:colors_name = 'desert'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
-" highlight groups
-hi Cursor guibg=khaki guifg=slategrey
-"hi CursorIM
-"hi Directory
-"hi DiffAdd
-"hi DiffChange
-"hi DiffDelete
-"hi DiffText
-"hi ErrorMsg
-hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none
-hi Folded guibg=grey30 guifg=gold
-hi FoldColumn guibg=grey30 guifg=tan
-hi IncSearch guifg=slategrey guibg=khaki
-"hi LineNr
-hi ModeMsg guifg=goldenrod
-hi MoreMsg guifg=SeaGreen
-hi NonText guifg=LightBlue guibg=grey30
-hi Question guifg=springgreen
-hi Search guibg=peru guifg=wheat
-hi SpecialKey guifg=yellowgreen
-hi StatusLine guibg=#c2bfa5 guifg=black gui=none
-hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none
-hi Title guifg=indianred
-hi Visual gui=none guifg=khaki guibg=olivedrab
-"hi VisualNOS
-hi WarningMsg guifg=salmon
-"hi WildMenu
-"hi Menu
-"hi Scrollbar
-"hi Tooltip
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#7f7f8c', '#cd5c5c', '#9acd32', '#bdb76b', '#75a0ff', '#eeee00', '#cd853f', '#666666', '#8a7f7f', '#ff0000', '#89fb98', '#f0e68c', '#6dceeb', '#ffde9b', '#ffa0a0', '#c2bfa5']
+endif
+hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
+hi! link EndOfBuffer NonText
+hi StatusLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
+hi StatusLineNC guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
+hi StatusLineTerm guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
+hi StatusLineTermNC guifg=#ffffff guibg=#c2bfa5 gui=NONE cterm=NONE
+hi VertSplit guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#666666 gui=NONE cterm=NONE
+hi PmenuSel guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#333333 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#c2bfa5 gui=NONE cterm=NONE
+hi TabLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
+hi TabLineFill guifg=NONE guibg=#c2bfa5 gui=NONE cterm=NONE
+hi TabLineSel guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi ToolbarButton guifg=#333333 guibg=#ffde9b gui=bold cterm=NONE
+hi NonText guifg=#6dceeb guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#9acd32 guibg=NONE gui=NONE cterm=NONE
+hi Folded guifg=#eeee00 guibg=#4d4d4d gui=NONE cterm=NONE
+hi Visual guifg=#f0e68c guibg=#6b8e24 gui=NONE cterm=NONE
+hi VisualNOS guifg=#f0e68c guibg=#6dceeb gui=NONE cterm=NONE
+hi LineNr guifg=#eeee00 guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#eeee00 guibg=#4d4d4d gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#eeee00 guibg=NONE gui=bold cterm=NONE
+hi QuickFixLine guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
+hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Underlined guifg=#75a0ff guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi ModeMsg guifg=#ffde9b guibg=NONE gui=bold cterm=NONE
+hi WarningMsg guifg=#cd5c5c guibg=NONE gui=bold cterm=NONE
+hi MoreMsg guifg=#9acd32 guibg=NONE gui=bold cterm=NONE
+hi Question guifg=#89fb98 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#ff0000 guibg=#eeee00 gui=NONE cterm=NONE
+hi MatchParen guifg=#7f7f8c guibg=#bdb76b gui=NONE cterm=NONE
+hi Search guifg=#f0e68c guibg=#7f7f8c gui=NONE cterm=NONE
+hi IncSearch guifg=#f0e68c guibg=#cd853f gui=NONE cterm=NONE
+hi WildMenu guifg=#333333 guibg=#eeee00 gui=NONE cterm=NONE
+hi ColorColumn guifg=#ffffff guibg=#cd5c5c gui=NONE cterm=NONE
+hi Cursor guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
+hi lCursor guifg=#333333 guibg=#ff0000 gui=NONE cterm=NONE
+hi debugPC guifg=#666666 guibg=NONE gui=reverse cterm=reverse
+hi debugBreakpoint guifg=#ffa0a0 guibg=NONE gui=reverse cterm=reverse
+hi SpellBad guifg=#cd5c5c guibg=NONE guisp=#cd5c5c gui=undercurl cterm=underline
+hi SpellCap guifg=#75a0ff guibg=NONE guisp=#75a0ff gui=undercurl cterm=underline
+hi SpellLocal guifg=#ffde9b guibg=NONE guisp=#ffde9b gui=undercurl cterm=underline
+hi SpellRare guifg=#9acd32 guibg=NONE guisp=#9acd32 gui=undercurl cterm=underline
+hi Comment guifg=#6dceeb guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#89fb98 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#f0e68c guibg=NONE gui=bold cterm=NONE
+hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#cd5c5c guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#bdb76b guibg=NONE gui=bold cterm=NONE
+hi Special guifg=#ffde9b guibg=NONE gui=NONE cterm=NONE
+hi Directory guifg=#6dceeb guibg=NONE gui=NONE cterm=NONE
+hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#cd5c5c guibg=NONE gui=NONE cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
-" syntax highlighting groups
-hi Comment guifg=SkyBlue
-hi Constant guifg=#ffa0a0
-hi Identifier guifg=palegreen
-hi Statement guifg=khaki
-hi PreProc guifg=indianred
-hi Type guifg=darkkhaki
-hi Special guifg=navajowhite
-"hi Underlined
-hi Ignore guifg=grey40
-"hi Error
-hi Todo guifg=orangered guibg=yellow2
+if s:t_Co >= 256
+ hi Normal ctermfg=231 ctermbg=236 cterm=NONE
+ hi! link EndOfBuffer NonText
+ hi StatusLine ctermfg=236 ctermbg=144 cterm=NONE
+ hi StatusLineNC ctermfg=242 ctermbg=144 cterm=NONE
+ hi StatusLineTerm ctermfg=236 ctermbg=144 cterm=NONE
+ hi StatusLineTermNC ctermfg=231 ctermbg=144 cterm=NONE
+ hi VertSplit ctermfg=242 ctermbg=144 cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=241 cterm=NONE
+ hi PmenuSel ctermfg=236 ctermbg=186 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=144 cterm=NONE
+ hi TabLine ctermfg=236 ctermbg=144 cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=144 cterm=NONE
+ hi TabLineSel ctermfg=236 ctermbg=186 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=241 cterm=NONE
+ hi ToolbarButton ctermfg=236 ctermbg=222 cterm=NONE
+ hi NonText ctermfg=81 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=112 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=226 ctermbg=239 cterm=NONE
+ hi Visual ctermfg=186 ctermbg=64 cterm=NONE
+ hi VisualNOS ctermfg=186 ctermbg=81 cterm=NONE
+ hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=226 ctermbg=239 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=241 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=241 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=236 ctermbg=186 cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
+ hi ModeMsg ctermfg=222 ctermbg=NONE cterm=NONE
+ hi WarningMsg ctermfg=167 ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=112 ctermbg=NONE cterm=NONE
+ hi Question ctermfg=120 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=196 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=242 ctermbg=143 cterm=NONE
+ hi Search ctermfg=186 ctermbg=242 cterm=NONE
+ hi IncSearch ctermfg=186 ctermbg=172 cterm=NONE
+ hi WildMenu ctermfg=236 ctermbg=226 cterm=NONE
+ hi ColorColumn ctermfg=231 ctermbg=167 cterm=NONE
+ hi debugPC ctermfg=241 ctermbg=NONE cterm=reverse
+ hi debugBreakpoint ctermfg=217 ctermbg=NONE cterm=reverse
+ hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=111 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=222 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=112 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=81 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=120 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=186 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=167 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=143 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=222 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=81 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=241 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=167 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
-" color terminal definitions
-hi SpecialKey ctermfg=darkgreen
-hi NonText cterm=bold ctermfg=darkblue
-hi Directory ctermfg=darkcyan
-hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
-hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green
-hi Search cterm=NONE ctermfg=grey ctermbg=blue
-hi MoreMsg ctermfg=darkgreen
-hi ModeMsg cterm=NONE ctermfg=brown
-hi LineNr ctermfg=3
-hi Question ctermfg=green
-hi StatusLine cterm=bold,reverse
-hi StatusLineNC cterm=reverse
-hi VertSplit cterm=reverse
-hi Title ctermfg=5
-hi Visual cterm=reverse
-hi VisualNOS cterm=bold,underline
-hi WarningMsg ctermfg=1
-hi WildMenu ctermfg=0 ctermbg=3
-hi Folded ctermfg=darkgrey ctermbg=NONE
-hi FoldColumn ctermfg=darkgrey ctermbg=NONE
-hi DiffAdd ctermbg=4
-hi DiffChange ctermbg=5
-hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
-hi DiffText cterm=bold ctermbg=1
-hi Comment ctermfg=darkcyan
-hi Constant ctermfg=brown
-hi Special ctermfg=5
-hi Identifier ctermfg=6
-hi Statement ctermfg=3
-hi PreProc ctermfg=5
-hi Type ctermfg=2
-hi Underlined cterm=underline ctermfg=5
-hi Ignore cterm=bold ctermfg=7
-hi Ignore ctermfg=darkgrey
-hi Error cterm=bold ctermfg=7 ctermbg=1
+if s:t_Co >= 16
+ hi Normal ctermfg=white ctermbg=black cterm=NONE
+ hi! link EndOfBuffer NonText
+ hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
+ hi StatusLineNC ctermfg=darkgrey ctermbg=grey cterm=NONE
+ hi StatusLineTerm ctermfg=black ctermbg=grey cterm=NONE
+ hi StatusLineTermNC ctermfg=darkgrey ctermbg=grey cterm=NONE
+ hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
+ hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
+ hi TabLine ctermfg=black ctermbg=grey cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=white cterm=NONE
+ hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkyellow ctermbg=darkgrey cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=darkblue cterm=NONE
+ hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=underline
+ hi QuickFixLine ctermfg=black ctermbg=yellow cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi Error ctermfg=red ctermbg=white cterm=reverse
+ hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
+ hi ModeMsg ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=red ctermbg=darkmagenta cterm=NONE
+ hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
+ hi IncSearch ctermfg=black ctermbg=yellow cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=darkmagenta cterm=NONE
+ hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi debugPC ctermfg=grey ctermbg=NONE cterm=reverse
+ hi debugBreakpoint ctermfg=cyan ctermbg=NONE cterm=reverse
+ hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=underline
+ hi Comment ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=green ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
-"vim: sw=4
+" Background: dark
+" Color: foreground #ffffff 231 white
+" Color: background #333333 236 black
+" Color: color00 #7f7f8c 242 black
+" Color: color08 #8a7f7f 244 darkgrey
+" Color: color01 #cd5c5c 167 darkred
+" Color: color09 #ff0000 196 red
+" Color: color02 #9acd32 112 darkgreen
+" Color: color10 #89fb98 120 green
+" Color: color03 #bdb76b 143 darkyellow
+" Color: color11 #f0e68c 186 yellow
+" Color: color04 #75a0ff 111 darkblue
+" Color: color12 #6dceeb 81 blue
+" Color: color05 #eeee00 226 darkmagenta
+" Color: color13 #ffde9b 222 magenta
+" Color: color06 #cd853f 172 darkcyan
+" Color: color14 #ffa0a0 217 cyan
+" Color: color07 #666666 241 grey
+" Color: color15 #c2bfa5 144 white
+" Color: color16 #6b8e24 64 darkgreen
+" Color: color17 #4d4d4d 239 grey
+" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/elflord.vim b/runtime/colors/elflord.vim
index f74a82894..c69dfd43f 100644
--- a/runtime/colors/elflord.vim
+++ b/runtime/colors/elflord.vim
@@ -1,50 +1,375 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Ron Aaron <ron@ronware.org>
-" Last Change: 2003 May 02
+" Name: elflord
+" Author: original author Ron Aaron <ron@ronware.org>
+" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
+" Website: https://www.github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:36 2022
+
+" Generated by Colortemplate v2.2.0
set background=dark
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'elflord'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+hi! link Terminal Normal
+hi! link Boolean Constant
+hi! link Character Constant
+hi! link Conditional Repeat
+hi! link Debug Special
+hi! link Define PreProc
+hi! link Delimiter Special
+hi! link Exception Statement
+hi! link Float Number
+hi! link Include PreProc
+hi! link Keyword Statement
+hi! link Label Statement
+hi! link Macro PreProc
+hi! link Number Constant
+hi! link PopupSelected PmenuSel
+hi! link PreCondit PreProc
+hi! link SpecialChar Special
+hi! link SpecialComment Special
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi! link StorageClass Type
+hi! link String Constant
+hi! link Structure Type
+hi! link Tag Special
+hi! link Typedef Type
+hi! link lCursor Cursor
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
+endif
+hi Normal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
+hi QuickFixLine guifg=#ffffff guibg=#2e8b57 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#cd0000 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=underline
+hi Folded guifg=#00ffff guibg=#666666 gui=NONE cterm=NONE
+hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#00ffff gui=NONE cterm=NONE
+hi Directory guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=bold cterm=NONE
+hi ErrorMsg guifg=#ffffff guibg=#cd0000 gui=NONE cterm=NONE
+hi FoldColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi IncSearch guifg=NONE guibg=#000000 gui=reverse cterm=reverse
+hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
+hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi NonText guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#bebebe gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
+hi Search guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#0000ff guibg=NONE guisp=#0000ff gui=undercurl cterm=underline
+hi SpellLocal guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
+hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi StatusLine guifg=#000000 guibg=#00ffff gui=bold cterm=NONE
+hi StatusLineNC guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
+hi TabLine guifg=#000000 guibg=#008b8b gui=NONE cterm=NONE
+hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
+hi TabLineSel guifg=#00ffff guibg=#000000 gui=bold cterm=NONE
+hi Terminal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi VertSplit guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
+hi Visual guifg=#000000 guibg=#a9a9a9 gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
+hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
+hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi Function guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#40ffff guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
+hi Operator guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
+hi Repeat guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#aa4444 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
+hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=NONE
+hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
+hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=51 ctermbg=16 cterm=NONE
+ hi QuickFixLine ctermfg=231 ctermbg=29 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=160 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=underline
+ hi Folded ctermfg=51 ctermbg=59 cterm=NONE
+ hi Conceal ctermfg=59 ctermbg=NONE cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=51 cterm=NONE
+ hi Directory ctermfg=51 ctermbg=16 cterm=NONE
+ hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
+ hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
+ hi FoldColumn ctermfg=51 ctermbg=NONE cterm=NONE
+ hi IncSearch ctermfg=NONE ctermbg=16 cterm=reverse
+ hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=30 cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=250 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
+ hi Question ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Search ctermfg=16 ctermbg=226 cterm=NONE
+ hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=21 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=226 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=16 ctermbg=51 cterm=NONE
+ hi StatusLineNC ctermfg=16 ctermbg=44 cterm=NONE
+ hi TabLine ctermfg=16 ctermbg=30 cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=16 cterm=reverse
+ hi TabLineSel ctermfg=51 ctermbg=16 cterm=NONE
+ hi Terminal ctermfg=51 ctermbg=16 cterm=NONE
+ hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=16 ctermbg=44 cterm=NONE
+ hi Visual ctermfg=16 ctermbg=145 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
+ hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Error ctermfg=231 ctermbg=196 cterm=NONE
+ hi Function ctermfg=231 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
+ hi Operator ctermfg=196 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
+ hi Repeat ctermfg=231 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=196 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=131 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=21 ctermbg=226 cterm=NONE
+ hi Type ctermfg=83 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=cyan ctermbg=black cterm=NONE
+ hi QuickFixLine ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi ColorColumn ctermfg=cyan ctermbg=darkred cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Cursor ctermfg=black ctermbg=cyan cterm=NONE
+ hi Directory ctermfg=cyan ctermbg=black cterm=NONE
+ hi EndOfBuffer ctermfg=darkblue ctermbg=black cterm=NONE
+ hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
+ hi FoldColumn ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi IncSearch ctermfg=NONE ctermbg=black cterm=reverse
+ hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=grey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi Search ctermfg=black ctermbg=yellow cterm=NONE
+ hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=yellow ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=black ctermbg=cyan cterm=NONE
+ hi StatusLineNC ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi TabLine ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
+ hi TabLineSel ctermfg=cyan ctermbg=black cterm=NONE
+ hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
+ hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+ hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Error ctermfg=white ctermbg=red cterm=NONE
+ hi Function ctermfg=white ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=black ctermbg=black cterm=NONE
+ hi Operator ctermfg=red ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Repeat ctermfg=white ctermbg=NONE cterm=NONE
+ hi Special ctermfg=red ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
+ hi Type ctermfg=green ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
endif
-let g:colors_name = "elflord"
-hi Normal guifg=cyan guibg=black
-hi Comment term=bold ctermfg=DarkCyan guifg=#80a0ff
-hi Constant term=underline ctermfg=Magenta guifg=Magenta
-hi Special term=bold ctermfg=DarkMagenta guifg=Red
-hi Identifier term=underline cterm=bold ctermfg=Cyan guifg=#40ffff
-hi Statement term=bold ctermfg=Yellow gui=bold guifg=#aa4444
-hi PreProc term=underline ctermfg=LightBlue guifg=#ff80ff
-hi Type term=underline ctermfg=LightGreen guifg=#60ff60 gui=bold
-hi Function term=bold ctermfg=White guifg=White
-hi Repeat term=underline ctermfg=White guifg=white
-hi Operator ctermfg=Red guifg=Red
-hi Ignore ctermfg=black guifg=bg
-hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
-hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
-
-" Common groups that link to default highlighting.
-" You can specify other highlighting easily.
-hi link String Constant
-hi link Character Constant
-hi link Number Constant
-hi link Boolean Constant
-hi link Float Number
-hi link Conditional Repeat
-hi link Label 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
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: dark
+" Color: xterm0 #000000 16 black
+" Color: xterm1 #cd0000 160 darkred
+" Color: xterm2 #00cd00 40 darkgreen
+" Color: xterm3 #cdcd00 184 darkyellow
+" Color: xterm4 #0000ee 20 darkblue
+" Color: xterm5 #cd00cd 164 darkmagenta
+" Color: xterm6 #00cdcd 44 darkcyan
+" Color: xterm7 #e5e5e5 254 grey
+" Color: xterm8 #7f7f7f 102 darkgrey
+" Color: xterm9 #ff0000 196 red
+" Color: xterm10 #00ff00 46 green
+" Color: xterm11 #ffff00 226 yellow
+" Color: xterm12 #5c5cff 63 blue
+" Color: xterm13 #ff00ff 201 magenta
+" Color: xterm14 #00ffff 51 cyan
+" Color: xterm15 #ffffff 231 white
+" Color: Pmenu #444444 238 darkgrey
+" Color: CursorLine #3a3a3a 237 darkgrey
+" Color: rgbGrey40 #666666 59 darkgrey
+" Color: rgbDarkGrey #a9a9a9 145 darkgrey
+" Color: rgbBlue #0000ff 21 darkblue
+" Color: rgbDarkCyan #008b8b 30 darkcyan
+" Color: Directory #00ffff 51 cyan
+" Color: rgbSeaGreen #2e8b57 29 darkgreen
+" Color: rgbGrey #bebebe 250 grey
+" Color: Question #00ff00 46 green
+" Color: SignColumn #a9a9a9 248 grey
+" Color: SpecialKey #00ffff 51 cyan
+" Color: Title #ff00ff 201 magenta
+" Color: WarningMsg #ff0000 196 red
+" Color: ToolbarLine #7f7f7f 244 darkgrey
+" Color: Underlined #80a0ff 111 blue
+" Color: elfComment #80a0ff 111 blue
+" Color: elfIdentifier #40ffff 87 cyan
+" Color: elfStatement #aa4444 131 darkred
+" Color: elfPreProc #ff80ff 213 magenta
+" Color: elfType #60ff60 83 green
+" Color: elfBlue #0000ff 21 blue
+" Term colors: xterm0 xterm1 xterm2 xterm3 xterm4 xterm5 xterm6 xterm7
+" Term colors: xterm8 xterm9 xterm10 xterm11 xterm12 xterm13
+" Term colors: xterm14 xterm15
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/evening.vim b/runtime/colors/evening.vim
index 2e8c52b93..264a22abc 100644
--- a/runtime/colors/evening.vim
+++ b/runtime/colors/evening.vim
@@ -1,56 +1,448 @@
-" Vim color file
-" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2016 Oct 10
+" Name: evening
+" Description: This color scheme uses a dark grey background.
+" Author: Original author Bram Moolenaar <Bram@vim.org>
+" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:37 2022
-" This color scheme uses a dark grey background.
+" Generated by Colortemplate v2.2.0
-" First remove all existing highlighting.
set background=dark
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'evening'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#ffa500', '#2e8b57', '#ffff00', '#006faf', '#8b008b', '#008b8b', '#bebebe', '#4d4d4d', '#ff5f5f', '#00ff00', '#ffff60', '#0087ff', '#ff80ff', '#00ffff', '#ffffff']
+endif
+hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#8b0000 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=#666666 gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#add8e6 guibg=#4d4d4d gui=NONE cterm=NONE
+hi StatusLine guifg=#333333 guibg=#ffffff gui=bold cterm=NONE
+hi StatusLineNC guifg=#333333 guibg=#d3d3d3 gui=NONE cterm=NONE
+hi TabLineSel guifg=#333333 guibg=#ffffff gui=bold cterm=NONE
+hi TabLine guifg=#333333 guibg=#d3d3d3 gui=NONE cterm=NONE
+hi QuickFixLine guifg=#ffffff guibg=#8b008b gui=NONE cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#4d4d4d gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#bebebe gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
+hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi FoldColumn guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
+hi Folded guifg=#00008b guibg=#d3d3d3 gui=bold cterm=NONE
+hi IncSearch guifg=#00ff00 guibg=NONE gui=reverse cterm=reverse
+hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
+hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=NONE cterm=NONE
+hi NonText guifg=#add8e6 guibg=#4d4d4d gui=NONE cterm=NONE
+hi Question guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
+hi Search guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi SignColumn guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#00ff00 guibg=NONE guisp=#00ff00 gui=undercurl cterm=underline
+hi SpellLocal guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
+hi SpellRare guifg=#ff80ff guibg=NONE guisp=#ff80ff gui=undercurl cterm=underline
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi! link TabLineFill TabLine
+hi ToolbarButton guifg=NONE guibg=#999999 gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi VertSplit guifg=#ffffff guibg=#ffffff gui=NONE cterm=NONE
+hi Visual guifg=#ffffff guibg=#999999 gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=underline
+hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
+hi debugBreakpoint guifg=#00008b guibg=#ff0000 gui=NONE cterm=NONE
+hi debugPC guifg=#00008b guibg=#0000ff gui=NONE cterm=NONE
+hi! link Terminal Normal
+hi! link CursorColumn CursorLine
+hi! link CursorIM Cursor
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link Debug Special
+hi! link diffAdded String
+hi! link diffRemoved WarningMsg
+hi! link diffOnly WarningMsg
+hi! link diffNoEOL WarningMsg
+hi! link diffIsA WarningMsg
+hi! link diffIdentical WarningMsg
+hi! link diffDiffer WarningMsg
+hi! link diffCommon WarningMsg
+hi! link diffBDiffer WarningMsg
+hi! link lCursor Cursor
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Title guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
+hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=#333333 guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#ffff60 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#ffff00 guibg=#0000ff gui=reverse cterm=reverse
+hi Type guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
+hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
+hi! link Boolean Constant
+hi! link Character Constant
+hi! link Conditional Statement
+hi! link Define PreProc
+hi! link Delimiter Special
+hi! link Exception Statement
+hi! link Float Constant
+hi! link Function Identifier
+hi! link Include PreProc
+hi! link Keyword Statement
+hi! link Label Statement
+hi! link Macro PreProc
+hi! link Number Constant
+hi! link Operator Statement
+hi! link PreCondit PreProc
+hi! link Repeat Statement
+hi! link SpecialChar Special
+hi! link SpecialComment Special
+hi! link StorageClass Type
+hi! link String Constant
+hi! link Structure Type
+hi! link Tag Special
+hi! link Typedef Type
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=231 ctermbg=236 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=88 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=241 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=241 cterm=NONE
+ hi EndOfBuffer ctermfg=153 ctermbg=239 cterm=NONE
+ hi StatusLine ctermfg=236 ctermbg=231 cterm=NONE
+ hi StatusLineNC ctermfg=236 ctermbg=252 cterm=NONE
+ hi TabLineSel ctermfg=236 ctermbg=231 cterm=NONE
+ hi TabLine ctermfg=236 ctermbg=252 cterm=NONE
+ hi QuickFixLine ctermfg=231 ctermbg=90 cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=239 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=250 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
+ hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
+ hi FoldColumn ctermfg=153 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=18 ctermbg=252 cterm=NONE
+ hi IncSearch ctermfg=46 ctermbg=NONE cterm=reverse
+ hi MatchParen ctermfg=NONE ctermbg=30 cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=153 ctermbg=239 cterm=NONE
+ hi Question ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Search ctermfg=16 ctermbg=226 cterm=NONE
+ hi SignColumn ctermfg=30 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=46 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=51 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link TabLineFill TabLine
+ hi ToolbarButton ctermfg=NONE ctermbg=246 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=231 ctermbg=231 cterm=NONE
+ hi Visual ctermfg=231 ctermbg=246 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+ hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi debugBreakpoint ctermfg=18 ctermbg=196 cterm=NONE
+ hi debugPC ctermfg=18 ctermbg=21 cterm=NONE
+ hi! link Terminal Normal
+ hi! link CursorColumn CursorLine
+ hi! link CursorIM Cursor
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link Debug Special
+ hi! link diffAdded String
+ hi! link diffRemoved WarningMsg
+ hi! link diffOnly WarningMsg
+ hi! link diffNoEOL WarningMsg
+ hi! link diffIsA WarningMsg
+ hi! link diffIdentical WarningMsg
+ hi! link diffDiffer WarningMsg
+ hi! link diffCommon WarningMsg
+ hi! link diffBDiffer WarningMsg
+ hi! link lCursor Cursor
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=236 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=214 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=226 ctermbg=21 cterm=reverse
+ hi Type ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi! link Function Identifier
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Label Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Statement
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi! link Typedef Type
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=white ctermbg=black cterm=NONE
+ hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=underline
+ hi EndOfBuffer ctermfg=lightblue ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=black ctermbg=white cterm=NONE
+ hi StatusLineNC ctermfg=black ctermbg=gray cterm=NONE
+ hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
+ hi TabLine ctermfg=black ctermbg=gray cterm=NONE
+ hi QuickFixLine ctermfg=white ctermbg=darkmagenta cterm=NONE
+ hi Pmenu ctermfg=white ctermbg=darkgray cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
+ hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Cursor ctermfg=black ctermbg=green cterm=NONE
+ hi Error ctermfg=red ctermbg=white cterm=reverse
+ hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
+ hi FoldColumn ctermfg=lightblue ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=gray cterm=NONE
+ hi IncSearch ctermfg=green ctermbg=NONE cterm=reverse
+ hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=lightblue ctermbg=darkgray cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=cyan ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=underline
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link TabLineFill TabLine
+ hi ToolbarButton ctermfg=NONE ctermbg=darkgray cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=white ctermbg=white cterm=NONE
+ hi Visual ctermfg=white ctermbg=darkgray cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+ hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi debugBreakpoint ctermfg=darkblue ctermbg=red cterm=NONE
+ hi debugPC ctermfg=darkblue ctermbg=blue cterm=NONE
+ hi! link Terminal Normal
+ hi! link CursorColumn CursorLine
+ hi! link CursorIM Cursor
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link Debug Special
+ hi! link diffAdded String
+ hi! link diffRemoved WarningMsg
+ hi! link diffOnly WarningMsg
+ hi! link diffNoEOL WarningMsg
+ hi! link diffIsA WarningMsg
+ hi! link diffIdentical WarningMsg
+ hi! link diffDiffer WarningMsg
+ hi! link diffCommon WarningMsg
+ hi! link diffBDiffer WarningMsg
+ hi! link lCursor Cursor
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=lightblue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=gray ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
+ hi Type ctermfg=green ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=lightblue ctermbg=NONE cterm=underline
+ hi! link Boolean Constant
+ hi! link Character Constant
+ hi! link Conditional Statement
+ hi! link Define PreProc
+ hi! link Delimiter Special
+ hi! link Exception Statement
+ hi! link Float Constant
+ hi! link Function Identifier
+ hi! link Include PreProc
+ hi! link Keyword Statement
+ hi! link Label Statement
+ hi! link Macro PreProc
+ hi! link Number Constant
+ hi! link Operator Statement
+ hi! link PreCondit PreProc
+ hi! link Repeat Statement
+ hi! link SpecialChar Special
+ hi! link SpecialComment Special
+ hi! link StorageClass Type
+ hi! link String Constant
+ hi! link Structure Type
+ hi! link Tag Special
+ hi! link Typedef Type
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
endif
-let colors_name = "evening"
-
-hi Normal ctermbg=DarkGrey ctermfg=White guifg=White guibg=grey20
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi ModeMsg term=bold cterm=bold gui=bold
-hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
-hi StatusLineNC term=reverse cterm=reverse gui=reverse
-hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse ctermbg=black guibg=grey60
-hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
-hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
-hi Cursor guibg=Green guifg=Black
-hi lCursor guibg=Cyan guifg=Black
-hi Directory term=bold ctermfg=LightCyan guifg=Cyan
-hi LineNr term=underline ctermfg=Yellow guifg=Yellow
-hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
-hi NonText term=bold ctermfg=LightBlue gui=bold guifg=LightBlue guibg=grey30
-hi Question term=standout ctermfg=LightGreen gui=bold guifg=Green
-hi Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi SpecialKey term=bold ctermfg=LightBlue guifg=Cyan
-hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta
-hi WarningMsg term=standout ctermfg=LightRed guifg=Red
-hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi Folded term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi FoldColumn term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
-hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue
-hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta
-hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan
-hi CursorColumn term=reverse ctermbg=Black guibg=grey40
-hi CursorLine term=underline cterm=underline guibg=grey40
-
-" Groups for syntax highlighting
-hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0
-hi Special term=bold ctermfg=LightRed guifg=Orange
-if &t_Co > 8
- hi Statement term=bold cterm=bold ctermfg=Yellow guifg=#ffff60 gui=bold
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
endif
-hi Ignore ctermfg=DarkGrey guifg=grey20
-" vim: sw=2
+" Background: dark
+" Color: lightmagenta #ffa0a0 217 magenta
+" Color: blue #0000ff 21 blue
+" Color: cyan #00ffff 51 cyan
+" Color: yellow #ffff00 226 darkyellow
+" Color: white #ffffff 231 white
+" Color: black #000000 16 black
+" Color: green #00ff00 46 green
+" Color: magenta #ff80ff 201 darkmagenta
+" Color: red #ff0000 196 red
+" Color: lightyellow #ffff60 227 yellow
+" Color: darkblue #00008b 18 darkblue
+" Color: darkcyan #008b8b 30 darkcyan
+" Color: darkmagenta #8b008b 90 darkmagenta
+" Color: lightblue #add8e6 153 lightblue
+" Color: orange #ffa500 214 darkred
+" Color: seagreen #2e8b57 29 darkgreen
+" Color: lightgrey #d3d3d3 252 gray
+" Color: grey #bebebe 250 gray
+" Color: grey20 #333333 236 gray
+" Color: grey30 #4d4d4d 239 darkgray
+" Color: grey40 #666666 241 darkgray
+" Color: grey60 #999999 246 darkgray
+" Color: xtermblue #0087ff 33 blue
+" Color: xtermdarkblue #006faf 25 darkblue
+" Color: xtermred #ff5f5f 203 red
+" Color: comment #80a0ff 111 lightblue
+" Color: darkred #8b0000 88 darkred
+" Term colors: black orange seagreen yellow xtermdarkblue darkmagenta darkcyan grey
+" Term colors: grey30 xtermred green lightyellow xtermblue magenta cyan white
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/industry.vim b/runtime/colors/industry.vim
index ac9103b5c..ac59fae62 100644
--- a/runtime/colors/industry.vim
+++ b/runtime/colors/industry.vim
@@ -1,40 +1,337 @@
-" Vim color file
-" Maintainer: Shian Lee
-" Last Change: 2014 Mar 6 (for vim 7.4)
-" Remark: "industry" stands for 'industrial' color scheme. In industrial
-" HMI (Human-Machine-Interface) programming, using a standard color
-" scheme is mandatory in many cases (in traffic-lights for example):
-" LIGHT_RED is 'Warning'
-" LIGHT_YELLOW is 'Attention'
-" LIGHT_GREEN is 'Normal'
-" LIGHT_MAGENTA is 'Warning-Attention' (light RED-YELLOW)
-" LIGHT_CYAN is 'Attention-Normal' (light YELLOW-GREEN).
-" BLACK is Dark-High-Contrast Background for maximum safety.
-" BLUE is Shade of BLACK (not supposed to get attention).
-"
-" Industrial color scheme is by nature clear, safe and productive.
-" Yet, depends on the file type's syntax, it might appear incorrect.
-
-" Reset to dark background, then reset everything to defaults:
+" Name: industry
+" Description: "industry" stands for 'industrial' color scheme.
+" Author: Original author Shian Lee.
+" Maintainer: Original maintainer Shian Lee.
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:38 2022
+
+" Generated by Colortemplate v2.2.0
+
set background=dark
-highlight clear
-if exists("syntax_on")
- syntax reset
+
+hi clear
+let g:colors_name = 'industry'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#303030', '#870000', '#5fd75f', '#afaf00', '#87afff', '#af00af', '#00afaf', '#6c6c6c', '#444444', '#ff0000', '#00ff00', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
endif
+hi Normal guifg=#dadada guibg=#000000 gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#444444 guibg=#000000 gui=NONE cterm=NONE
+hi StatusLine guifg=#000000 guibg=#dadada gui=bold cterm=NONE
+hi StatusLineNC guifg=#000000 guibg=#6c6c6c gui=NONE cterm=NONE
+hi StatusLineTerm guifg=#000000 guibg=#00ff00 gui=bold cterm=NONE
+hi StatusLineTermNC guifg=#000000 guibg=#5fd75f gui=NONE cterm=NONE
+hi VertSplit guifg=#000000 guibg=#6c6c6c gui=NONE cterm=NONE
+hi Pmenu guifg=#dadada guibg=#444444 gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#000000 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
+hi TabLine guifg=#dadada guibg=#444444 gui=NONE cterm=NONE
+hi TabLineFill guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
+hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
+hi ToolbarButton guifg=#dadada guibg=#6c6c6c gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
+hi NonText guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi Folded guifg=#00afaf guibg=#303030 gui=NONE cterm=NONE
+hi Visual guifg=#dadada guibg=#6c6c6c gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
+hi ColorColumn guifg=NONE guibg=#444444 gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#ff00ff gui=NONE cterm=NONE
+hi VisualNOS guifg=#dadada guibg=#6c6c6c gui=NONE cterm=NONE
+hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi SignColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi Underlined guifg=#87afff guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi ModeMsg guifg=#ffffff guibg=NONE gui=bold cterm=NONE
+hi WarningMsg guifg=#870000 guibg=NONE gui=bold cterm=NONE
+hi MoreMsg guifg=#5fd75f guibg=NONE gui=bold cterm=NONE
+hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#005fff guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#303030 guibg=#afaf00 gui=NONE cterm=NONE
+hi Search guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi IncSearch guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
+hi lCursor guifg=#000000 guibg=#ff0000 gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#005fff guibg=NONE guisp=#005fff gui=undercurl cterm=underline
+hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi SpellRare guifg=#00ff00 guibg=NONE guisp=#00ff00 gui=undercurl cterm=underline
+hi Comment guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
+hi Function guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#ffffff guibg=NONE gui=bold cterm=NONE
+hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
+hi Special guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi Delimiter guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Conceal guifg=#6c6c6c guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
-let colors_name = "industry"
+if s:t_Co >= 256
+ hi Normal ctermfg=253 ctermbg=16 cterm=NONE
+ hi EndOfBuffer ctermfg=238 ctermbg=16 cterm=NONE
+ hi StatusLine ctermfg=16 ctermbg=253 cterm=NONE
+ hi StatusLineNC ctermfg=16 ctermbg=242 cterm=NONE
+ hi StatusLineTerm ctermfg=16 ctermbg=46 cterm=NONE
+ hi StatusLineTermNC ctermfg=16 ctermbg=77 cterm=NONE
+ hi VertSplit ctermfg=16 ctermbg=242 cterm=NONE
+ hi Pmenu ctermfg=253 ctermbg=238 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=16 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=242 cterm=NONE
+ hi TabLine ctermfg=253 ctermbg=238 cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=242 cterm=NONE
+ hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
+ hi ToolbarButton ctermfg=253 ctermbg=242 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE
+ hi NonText ctermfg=37 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=37 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=37 ctermbg=236 cterm=NONE
+ hi Visual ctermfg=253 ctermbg=242 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=242 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=242 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=238 cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=201 cterm=NONE
+ hi VisualNOS ctermfg=253 ctermbg=242 cterm=NONE
+ hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=37 ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=37 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi Error ctermfg=231 ctermbg=196 cterm=NONE
+ hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
+ hi ModeMsg ctermfg=231 ctermbg=NONE cterm=NONE
+ hi WarningMsg ctermfg=88 ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=77 ctermbg=NONE cterm=NONE
+ hi Question ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=27 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=236 ctermbg=142 cterm=NONE
+ hi Search ctermfg=16 ctermbg=226 cterm=NONE
+ hi IncSearch ctermfg=16 ctermbg=46 cterm=NONE
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=253 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=196 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=27 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=46 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=37 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Function ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=231 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=226 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=196 ctermbg=NONE cterm=NONE
+ hi Delimiter ctermfg=226 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=242 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
-" First set Normal to regular white on black text colors:
-hi Normal ctermfg=LightGray ctermbg=Black guifg=#dddddd guibg=Black
+if s:t_Co >= 16
+ hi Normal ctermfg=white ctermbg=black cterm=NONE
+ hi EndOfBuffer ctermfg=darkgrey ctermbg=black cterm=NONE
+ hi StatusLine ctermfg=black ctermbg=white cterm=NONE
+ hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
+ hi StatusLineTerm ctermfg=black ctermbg=green cterm=NONE
+ hi StatusLineTermNC ctermfg=black ctermbg=darkgreen cterm=NONE
+ hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
+ hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
+ hi TabLine ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
+ hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
+ hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
+ hi NonText ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=black ctermbg=grey cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
+ hi VisualNOS ctermfg=white ctermbg=grey cterm=NONE
+ hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi Error ctermfg=white ctermbg=red cterm=NONE
+ hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
+ hi ModeMsg ctermfg=white ctermbg=NONE cterm=NONE
+ hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
+ hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi Search ctermfg=black ctermbg=yellow cterm=NONE
+ hi IncSearch ctermfg=black ctermbg=green cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi Cursor ctermfg=black ctermbg=white cterm=NONE
+ hi lCursor ctermfg=black ctermbg=red cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=green ctermbg=NONE cterm=underline
+ hi Comment ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Function ctermfg=green ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=white ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Type ctermfg=green ctermbg=NONE cterm=NONE
+ hi Special ctermfg=red ctermbg=NONE cterm=NONE
+ hi Delimiter ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
-" Syntax highlighting (other color-groups using default, see :help group-name):
-hi Comment cterm=NONE ctermfg=DarkCyan gui=NONE guifg=#00aaaa
-hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
-hi Identifier cterm=NONE ctermfg=LightMagenta gui=NONE guifg=#ff00ff
-hi Function cterm=NONE ctermfg=LightGreen gui=NONE guifg=#00ff00
-hi Statement cterm=NONE ctermfg=White gui=bold guifg=#ffffff
-hi PreProc cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
-hi Type cterm=NONE ctermfg=LightGreen gui=bold guifg=#00ff00
-hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=#ff0000
-hi Delimiter cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+" Background: dark
+" Color: foreground #dadada 253 white
+" Color: background #000000 16 black
+" Color: color00 #303030 236 black
+" Color: color08 #444444 238 darkgrey
+" Color: color01 #870000 88 darkred
+" Color: color09 #FF0000 196 red
+" Color: color02 #5FD75F 77 darkgreen
+" Color: color10 #00FF00 46 green
+" Color: color03 #AFAF00 142 darkyellow
+" Color: color11 #FFFF00 226 yellow
+" Color: color04 #87AFFF 111 darkblue
+" Color: color12 #005FFF 27 blue
+" Color: color05 #AF00AF 127 darkmagenta
+" Color: color13 #FF00FF 201 magenta
+" Color: color06 #00AFAF 37 darkcyan
+" Color: color14 #00FFFF 51 cyan
+" Color: color07 #6C6C6C 242 grey
+" Color: color15 #FFFFFF 231 white
+" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/koehler.vim b/runtime/colors/koehler.vim
index 250472a16..efb2498e4 100644
--- a/runtime/colors/koehler.vim
+++ b/runtime/colors/koehler.vim
@@ -1,73 +1,360 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Ron Aaron <ron@ronware.org>
-" Last Change: 2016 Sep 04
+" Name: koehler
+" Author: original author Ron Aaron <ron@ronware.org>
+" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
+" Website: https://www.github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Thu May 12 18:53:29 2022
+
+" Generated by Colortemplate v2.2.0
-hi clear
set background=dark
-if exists("syntax_on")
- syntax reset
+
+hi clear
+let g:colors_name = 'koehler'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+hi! link Terminal Normal
+hi! link Boolean Constant
+hi! link Character Constant
+hi! link Conditional Statement
+hi! link Debug Special
+hi! link Define PreProc
+hi! link Delimiter Special
+hi! link Exception Statement
+hi! link Float Number
+hi! link Function Identifier
+hi! link Include PreProc
+hi! link IncSearch Visual
+hi! link Keyword Statement
+hi! link Label Statement
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link Macro PreProc
+hi! link Number Constant
+hi! link Operator Statement
+hi! link PopupSelected PmenuSel
+hi! link PreCondit PreProc
+hi! link Repeat Statement
+hi! link SpecialChar Special
+hi! link SpecialComment Special
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi! link StorageClass Type
+hi! link String Constant
+hi! link Structure Type
+hi! link Tag Special
+hi! link Typedef Type
+hi! link lCursor Cursor
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
-let g:colors_name = "koehler"
-hi Normal guifg=white guibg=black
-hi Scrollbar guifg=darkcyan guibg=cyan
-hi Menu guifg=black guibg=cyan
-hi SpecialKey term=bold cterm=bold ctermfg=darkred guifg=#cc0000
-hi NonText term=bold cterm=bold ctermfg=darkred gui=bold guifg=#cc0000
-hi Directory term=bold cterm=bold ctermfg=brown guifg=#cc8000
-hi ErrorMsg term=standout cterm=bold ctermfg=grey ctermbg=red guifg=White guibg=Red
-hi Search term=reverse ctermfg=white ctermbg=red guifg=white guibg=Red
-hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=SeaGreen
-hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue
-hi LineNr term=underline cterm=bold ctermfg=darkcyan guifg=Yellow
-hi Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=Green
-hi StatusLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
-hi StatusLineNC term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
-hi Title term=bold cterm=bold ctermfg=darkmagenta gui=bold guifg=Magenta
-hi Visual term=reverse cterm=reverse gui=reverse
-hi WarningMsg term=standout cterm=bold ctermfg=darkred guifg=Red
-hi Cursor guifg=bg guibg=Green
-hi Comment term=bold cterm=bold ctermfg=cyan guifg=#80a0ff
-hi Constant term=underline cterm=bold ctermfg=magenta guifg=#ffa0a0
-hi Special term=bold cterm=bold ctermfg=red guifg=Orange
-hi Identifier term=underline ctermfg=brown guifg=#40ffff
-hi Statement term=bold cterm=bold ctermfg=yellow gui=bold guifg=#ffff60
-hi PreProc term=underline ctermfg=darkmagenta guifg=#ff80ff
-hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#60ff60
-hi Error term=reverse ctermfg=darkcyan ctermbg=black guifg=Red guibg=Black
-hi Todo term=standout ctermfg=black ctermbg=darkcyan guifg=Blue guibg=Yellow
-hi CursorLine term=underline guibg=#555555 cterm=underline
-hi CursorColumn term=underline guibg=#555555 cterm=underline
-hi MatchParen term=reverse ctermfg=blue guibg=Blue
-hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
-hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
-hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
-hi Underlined term=underline cterm=bold,underline ctermfg=lightblue guifg=lightblue gui=bold,underline
-hi Ignore ctermfg=black ctermbg=black guifg=black guibg=black
-hi EndOfBuffer term=bold cterm=bold ctermfg=darkred guifg=#cc0000 gui=bold
-hi link IncSearch Visual
-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 Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#8b0000 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#555555 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#555555 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
+hi Folded guifg=#00cdcd guibg=#666666 gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
+hi Directory guifg=#cc8000 guibg=NONE gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#cd0000 guibg=NONE gui=bold cterm=NONE
+hi ErrorMsg guifg=#cd0000 guibg=#ffffff gui=reverse cterm=reverse
+hi FoldColumn guifg=#00cdcd guibg=NONE gui=NONE cterm=NONE
+hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi MatchParen guifg=NONE guibg=#0000ff gui=NONE cterm=NONE
+hi ModeMsg guifg=#ffffff guibg=#0000ff gui=bold cterm=NONE
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi NonText guifg=#cd0000 guibg=NONE gui=bold cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi Question guifg=#5c5cff guibg=NONE gui=bold cterm=NONE
+hi Search guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#cd0000 guibg=NONE gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#60ff60 guibg=NONE guisp=#60ff60 gui=undercurl cterm=underline
+hi SpellLocal guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
+hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi StatusLine guifg=#0000ff guibg=#ffffff gui=bold cterm=NONE
+hi StatusLineNC guifg=#0000ff guibg=#e5e5e5 gui=NONE cterm=NONE
+hi TabLine guifg=#0000ff guibg=#ffffff gui=bold cterm=NONE
+hi TabLineFill guifg=#0000ff guibg=#ffffff gui=bold cterm=NONE
+hi TabLineSel guifg=#ffffff guibg=#0000ff gui=bold cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi VertSplit guifg=#0000ff guibg=#e5e5e5 gui=NONE cterm=NONE
+hi Visual guifg=NONE guibg=#666666 gui=reverse cterm=reverse
+hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
+hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
+hi Error guifg=#cd0000 guibg=#ffffff gui=reverse cterm=reverse
+hi Identifier guifg=#40ffff guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
+hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#ffff60 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
+hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=NONE
+hi Underlined guifg=#add8e6 guibg=NONE gui=bold,underline cterm=underline
+hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=231 ctermbg=16 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=88 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=240 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=240 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=44 ctermbg=59 cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=226 cterm=NONE
+ hi Conceal ctermfg=254 ctermbg=145 cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
+ hi Directory ctermfg=172 ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=160 ctermbg=NONE cterm=NONE
+ hi ErrorMsg ctermfg=160 ctermbg=231 cterm=reverse
+ hi FoldColumn ctermfg=44 ctermbg=NONE cterm=NONE
+ hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=21 cterm=NONE
+ hi ModeMsg ctermfg=231 ctermbg=21 cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=160 ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
+ hi Question ctermfg=63 ctermbg=NONE cterm=NONE
+ hi Search ctermfg=231 ctermbg=196 cterm=NONE
+ hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=160 ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=83 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=51 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=21 ctermbg=231 cterm=NONE
+ hi StatusLineNC ctermfg=21 ctermbg=254 cterm=NONE
+ hi TabLine ctermfg=21 ctermbg=231 cterm=NONE
+ hi TabLineFill ctermfg=21 ctermbg=231 cterm=NONE
+ hi TabLineSel ctermfg=231 ctermbg=21 cterm=NONE
+ hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=21 ctermbg=254 cterm=NONE
+ hi Visual ctermfg=NONE ctermbg=59 cterm=reverse
+ hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
+ hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
+ hi Error ctermfg=160 ctermbg=231 cterm=reverse
+ hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
+ hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=214 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=21 ctermbg=226 cterm=NONE
+ hi Type ctermfg=83 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=153 ctermbg=NONE cterm=underline
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=white ctermbg=black cterm=NONE
+ hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=yellow cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
+ hi Cursor ctermfg=black ctermbg=green cterm=NONE
+ hi Directory ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi ErrorMsg ctermfg=darkred ctermbg=white cterm=reverse
+ hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=darkblue cterm=NONE
+ hi ModeMsg ctermfg=white ctermbg=darkblue cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
+ hi Question ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Search ctermfg=white ctermbg=red cterm=NONE
+ hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=cyan ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=darkblue ctermbg=white cterm=NONE
+ hi StatusLineNC ctermfg=darkblue ctermbg=grey cterm=NONE
+ hi TabLine ctermfg=darkblue ctermbg=white cterm=NONE
+ hi TabLineFill ctermfg=darkblue ctermbg=white cterm=NONE
+ hi TabLineSel ctermfg=white ctermbg=darkblue cterm=NONE
+ hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi VertSplit ctermfg=darkblue ctermbg=grey cterm=NONE
+ hi Visual ctermfg=NONE ctermbg=darkgrey cterm=reverse
+ hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+ hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Error ctermfg=darkred ctermbg=white cterm=reverse
+ hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=black ctermbg=black cterm=NONE
+ hi PreProc ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
+ hi Type ctermfg=green ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: dark
+" Color: xterm0 #000000 16 black
+" Color: xterm1 #cd0000 160 darkred
+" Color: xterm2 #00cd00 40 darkgreen
+" Color: xterm3 #cdcd00 184 darkyellow
+" Color: xterm4 #0000ee 20 darkblue
+" Color: xterm5 #cd00cd 164 darkmagenta
+" Color: xterm6 #00cdcd 44 darkcyan
+" Color: xterm7 #e5e5e5 254 grey
+" Color: xterm8 #7f7f7f 102 darkgrey
+" Color: xterm9 #ff0000 196 red
+" Color: xterm10 #00ff00 46 green
+" Color: xterm11 #ffff00 226 yellow
+" Color: xterm12 #5c5cff 63 blue
+" Color: xterm13 #ff00ff 201 magenta
+" Color: xterm14 #00ffff 51 cyan
+" Color: xterm15 #ffffff 231 white
+" Color: Pmenu #444444 238 darkgrey
+" Color: rgbGrey40 #666666 59 darkgrey
+" Color: rgbDarkGrey #a9a9a9 145 grey
+" Color: rgbDarkBlue #00008b 20 darkblue
+" Color: rgbDarkMagenta #8b008b 90 darkmagenta
+" Color: rgbBlue #0000ff 21 darkblue
+" Color: rgbDarkCyan #008b8b 44 darkcyan
+" Color: rgbSeaGreen #2e8b57 29 darkgreen
+" Color: rgbGrey #bebebe 250 grey
+" Color: StatusLineTerm #90ee90 120 darkgreen
+" Color: ToolbarLine #7f7f7f 244 darkgrey
+" Color: Comment #80a0ff 111 blue
+" Color: Constant #ffa0a0 217 darkred
+" Color: Special #ffa500 214 darkyellow
+" Color: Identifier #40ffff 87 cyan
+" Color: Statement #ffff60 227 yellow
+" Color: PreProc #ff80ff 213 magenta
+" Color: Type #60ff60 83 green
+" Color: koeDirectory #cc8000 172 darkyellow
+" Color: koeCursorLine #555555 240 black
+" Color: koeLightBlue #ADD8E6 153 blue
+" Color: koeDarkRed #8b0000 88 darkred
+" Term colors: xterm0 xterm1 xterm2 xterm3 xterm4 xterm5 xterm6 xterm7
+" Term colors: xterm8 xterm9 xterm10 xterm11 xterm12 xterm13
+" Term colors: xterm14 xterm15
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/morning.vim b/runtime/colors/morning.vim
index f1ab84141..5a00508e6 100644
--- a/runtime/colors/morning.vim
+++ b/runtime/colors/morning.vim
@@ -1,56 +1,334 @@
-" Vim color file
-" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 15
+" Name: morning
+" Description: Colorscheme with light grey background.
+" Author: Original author Bram Moolenaar <Bram@vim.org>
+" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Sat May 14 11:15:43 2022
-" This color scheme uses a light grey background.
+" Generated by Colortemplate v2.2.0
-" First remove all existing highlighting.
set background=light
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'morning'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#e4e4e4', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#bcbcbc', '#0000ff', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#000000']
+endif
+hi! link StatuslineTerm Statusline
+hi! link StatuslineTermNC StatuslineNC
+hi Normal guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=NONE
+hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#d3d3d3 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#d3d3d3 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi StatusLine guifg=#eeeeee guibg=#000000 gui=bold cterm=NONE
+hi StatusLineNC guifg=#bcbcbc guibg=#000000 gui=NONE cterm=NONE
+hi VertSplit guifg=#bcbcbc guibg=#000000 gui=NONE cterm=NONE
+hi Pmenu guifg=#000000 guibg=#b2b2b2 gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#000000 gui=NONE cterm=NONE
+hi TabLine guifg=#000000 guibg=#bcbcbc gui=underline cterm=underline
+hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi TabLineSel guifg=#000000 guibg=#e4e4e4 gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ToolbarButton guifg=NONE guibg=#bcbcbc gui=bold cterm=NONE
+hi NonText guifg=#0000ff guibg=#bcbcbc gui=bold cterm=NONE
+hi SpecialKey guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
+hi Visual guifg=NONE guibg=#d0d0d0 gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=#0000ff gui=NONE cterm=NONE
+hi LineNr guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
+hi SignColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
+hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ff0000 guibg=#e4e4e4 gui=reverse cterm=reverse
+hi ErrorMsg guifg=#ff0000 guibg=#e4e4e4 gui=reverse cterm=reverse
+hi WarningMsg guifg=#6a0dad guibg=NONE gui=bold cterm=NONE
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi ModeMsg guifg=#000000 guibg=NONE gui=bold cterm=NONE
+hi Question guifg=#008787 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#e4e4e4 guibg=#6a5acd gui=NONE cterm=NONE
+hi Search guifg=#e4e4e4 guibg=#6a0dad gui=NONE cterm=NONE
+hi IncSearch guifg=#2e8b57 guibg=NONE gui=reverse cterm=reverse
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
+hi ColorColumn guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi Cursor guifg=#e4e4e4 guibg=#2e8b57 gui=NONE cterm=NONE
+hi lCursor guifg=#e4e4e4 guibg=#a52a2a gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#00d700 guibg=NONE guisp=#00d700 gui=undercurl cterm=underline
+hi SpellLocal guifg=#a52a2a guibg=NONE guisp=#a52a2a gui=undercurl cterm=underline
+hi SpellRare guifg=#2e8b57 guibg=NONE guisp=#2e8b57 gui=undercurl cterm=underline
+hi Comment guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ff00ff guibg=#eeeeee gui=NONE cterm=NONE
+hi Identifier guifg=#008787 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
+hi PreProc guifg=#6a0dad guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi Special guifg=#6a5acd guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Directory guifg=#008787 guibg=NONE gui=bold cterm=NONE
+hi Conceal guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
+hi Title guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi! link StatuslineTerm Statusline
+ hi! link StatuslineTermNC StatuslineNC
+ hi Normal ctermfg=16 ctermbg=254 cterm=NONE
+ hi EndOfBuffer ctermfg=21 ctermbg=252 cterm=NONE
+ hi Folded ctermfg=18 ctermbg=252 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=252 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=252 cterm=NONE
+ hi CursorLineNr ctermfg=124 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=226 cterm=NONE
+ hi StatusLine ctermfg=255 ctermbg=16 cterm=NONE
+ hi StatusLineNC ctermfg=250 ctermbg=16 cterm=NONE
+ hi VertSplit ctermfg=250 ctermbg=16 cterm=NONE
+ hi Pmenu ctermfg=16 ctermbg=249 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=254 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=16 cterm=NONE
+ hi TabLine ctermfg=16 ctermbg=250 cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=16 ctermbg=254 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=NONE ctermbg=250 cterm=NONE
+ hi NonText ctermfg=21 ctermbg=250 cterm=NONE
+ hi SpecialKey ctermfg=250 ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=NONE ctermbg=252 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=21 cterm=NONE
+ hi LineNr ctermfg=124 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=18 ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=18 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
+ hi Error ctermfg=196 ctermbg=254 cterm=reverse
+ hi ErrorMsg ctermfg=196 ctermbg=254 cterm=reverse
+ hi WarningMsg ctermfg=55 ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+ hi ModeMsg ctermfg=16 ctermbg=NONE cterm=NONE
+ hi Question ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=16 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=254 ctermbg=62 cterm=NONE
+ hi Search ctermfg=254 ctermbg=55 cterm=NONE
+ hi IncSearch ctermfg=29 ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi ColorColumn ctermfg=16 ctermbg=231 cterm=NONE
+ hi Cursor ctermfg=254 ctermbg=29 cterm=NONE
+ hi lCursor ctermfg=254 ctermbg=124 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=40 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=124 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=29 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=201 ctermbg=255 cterm=NONE
+ hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=55 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=29 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=62 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Title ctermfg=124 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi! link StatuslineTerm Statusline
+ hi! link StatuslineTermNC StatuslineNC
+ hi Normal ctermfg=black ctermbg=grey cterm=NONE
+ hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=darkred ctermbg=NONE cterm=underline
+ hi QuickFixLine ctermfg=black ctermbg=yellow cterm=NONE
+ hi StatusLine ctermfg=white ctermbg=black cterm=NONE
+ hi StatusLineNC ctermfg=darkgrey ctermbg=black cterm=NONE
+ hi VertSplit ctermfg=darkgrey ctermbg=black cterm=NONE
+ hi Pmenu ctermfg=black ctermbg=white cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=grey cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=black cterm=NONE
+ hi TabLine ctermfg=black ctermbg=white cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=black ctermbg=grey cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=NONE ctermbg=white cterm=NONE
+ hi NonText ctermfg=blue ctermbg=white cterm=NONE
+ hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=NONE ctermbg=white cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=blue cterm=NONE
+ hi LineNr ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi Error ctermfg=red ctermbg=grey cterm=reverse
+ hi ErrorMsg ctermfg=red ctermbg=grey cterm=reverse
+ hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi ModeMsg ctermfg=black ctermbg=NONE cterm=NONE
+ hi Question ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=black ctermbg=yellow cterm=NONE
+ hi MatchParen ctermfg=grey ctermbg=darkblue cterm=NONE
+ hi Search ctermfg=grey ctermbg=darkmagenta cterm=NONE
+ hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi ColorColumn ctermfg=black ctermbg=white cterm=NONE
+ hi Cursor ctermfg=grey ctermbg=darkgreen cterm=NONE
+ hi lCursor ctermfg=grey ctermbg=darkred cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=darkred ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=underline
+ hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=magenta ctermbg=white cterm=NONE
+ hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
endif
-let colors_name = "morning"
-
-hi Normal ctermfg=Black ctermbg=LightGrey guifg=Black guibg=grey90
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi ModeMsg term=bold cterm=bold gui=bold
-hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
-hi StatusLineNC term=reverse cterm=reverse gui=reverse
-hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse ctermbg=grey guibg=grey80
-hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
-hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
-hi Cursor guibg=Green guifg=NONE
-hi lCursor guibg=Cyan guifg=NONE
-hi Directory term=bold ctermfg=DarkBlue guifg=Blue
-hi LineNr term=underline ctermfg=Brown guifg=Brown
-hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi NonText term=bold ctermfg=Blue gui=bold guifg=Blue guibg=grey80
-hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE
-hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue
-hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta
-hi WarningMsg term=standout ctermfg=DarkRed guifg=Red
-hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
-hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
-hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
-hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
-hi CursorLine term=underline cterm=underline guibg=grey80
-hi CursorColumn term=reverse ctermbg=grey guibg=grey80
-
-" Colors for syntax highlighting
-hi Constant term=underline ctermfg=DarkRed guifg=Magenta guibg=grey95
-hi Special term=bold ctermfg=DarkMagenta guifg=SlateBlue guibg=grey95
-if &t_Co > 8
- hi Statement term=bold cterm=bold ctermfg=Brown gui=bold guifg=Brown
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
endif
-hi Ignore ctermfg=LightGrey guifg=grey90
-" vim: sw=2
+" Background: light
+" Color: comment #0000ff 21 blue
+" Color: constant #ff00ff 201 magenta
+" Color: identifier #008787 30 darkcyan
+" Color: statement #a52a2a 124 darkred
+" Color: preproc #6a0dad 55 darkmagenta
+" Color: type #2e8b57 29 darkgreen
+" Color: special #6a5acd 62 darkblue
+" Color: fg0 #000000 16 black
+" Color: bg0 #e4e4e4 254 grey
+" Color: bg1 #bcbcbc 250 white
+" Color: status #bcbcbc 250 darkgrey
+" Color: bg2 #eeeeee 255 white
+" Color: endofbuffer #cccccc 252 darkgrey
+" Color: visual #d0d0d0 252 white
+" Color: folded #d3d3d3 252 darkgrey
+" Color: folded_fg #00008b 18 darkblue
+" Color: pmenu #b2b2b2 249 white
+" Color: wildmenu #ffff00 226 yellow
+" Color: error #ff0000 196 red
+" Color: colorcolumn #ffffff 231 white
+" Color: spellcap #00d700 40 green
+" Term colors: bg0 statement constant preproc identifier type special bg1
+" Term colors: comment statement constant preproc identifier type special fg0
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/murphy.vim b/runtime/colors/murphy.vim
index 1f439964e..18ce18061 100644
--- a/runtime/colors/murphy.vim
+++ b/runtime/colors/murphy.vim
@@ -1,41 +1,335 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Ron Aaron <ron@ronware.org>
-" Last Change: 2003 May 02
+" Name: murphy
+" Description: Green foreground black background.
+" Author: Original author Ron Aaron <ron@ronware.org>.
+" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:41 2022
+
+" Generated by Colortemplate v2.2.0
-hi clear
set background=dark
-if exists("syntax_on")
- syntax reset
+
+hi clear
+let g:colors_name = 'murphy'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#303030', '#ffa700', '#005f00', '#ffd7af', '#87afff', '#ffafaf', '#00afaf', '#bcbcbc', '#444444', '#ff0000', '#00875f', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
endif
-let g:colors_name = "murphy"
-
-hi Normal ctermbg=Black ctermfg=lightgreen guibg=Black guifg=lightgreen
-hi Comment term=bold ctermfg=LightRed guifg=Orange
-hi Constant term=underline ctermfg=LightGreen guifg=White gui=NONE
-hi Identifier term=underline ctermfg=LightCyan guifg=#00ffff
-hi Ignore ctermfg=black guifg=bg
-hi PreProc term=underline ctermfg=LightBlue guifg=Wheat
-hi Search term=reverse guifg=white guibg=Blue
-hi Special term=bold ctermfg=LightRed guifg=magenta
-hi Statement term=bold ctermfg=Yellow guifg=#ffff00 gui=NONE
-hi Type ctermfg=LightGreen guifg=grey gui=none
-hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
-hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
-" From the source:
-hi Cursor guifg=Orchid guibg=fg
-hi Directory term=bold ctermfg=LightCyan guifg=Cyan
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi LineNr term=underline ctermfg=Yellow guifg=Yellow
-hi ModeMsg term=bold cterm=bold gui=bold
-hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
-hi NonText term=bold ctermfg=Blue gui=bold guifg=Blue
-hi Question term=standout ctermfg=LightGreen gui=bold guifg=Cyan
-hi SpecialKey term=bold ctermfg=LightBlue guifg=Cyan
-hi StatusLine term=reverse,bold cterm=reverse gui=NONE guifg=White guibg=darkblue
-hi StatusLineNC term=reverse cterm=reverse gui=NONE guifg=white guibg=#333333
-hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Pink
-hi WarningMsg term=standout ctermfg=LightRed guifg=Red
-hi Visual term=reverse cterm=reverse gui=NONE guifg=white guibg=darkgreen
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=NONE cterm=NONE
+hi StatusLine guifg=#ffffff guibg=#00008b gui=NONE cterm=NONE
+hi StatusLineNC guifg=#ffffff guibg=#3a3a3a gui=NONE cterm=NONE
+hi VertSplit guifg=#ffffff guibg=#3a3a3a gui=NONE cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#303030 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#bcbcbc gui=NONE cterm=NONE
+hi TabLineFill guifg=NONE guibg=#303030 gui=NONE cterm=NONE
+hi TabLine guifg=#87ff87 guibg=#444444 gui=NONE cterm=NONE
+hi TabLineSel guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
+hi ToolbarButton guifg=#ffffff guibg=#444444 gui=bold cterm=NONE
+hi NonText guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi QuickFixLine guifg=#303030 guibg=#00afaf gui=NONE cterm=NONE
+hi Folded guifg=#00afaf guibg=#303030 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#444444 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#444444 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
+hi ColorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
+hi Visual guifg=#ffffff guibg=#005f00 gui=NONE cterm=NONE
+hi VisualNOS guifg=#ffffff guibg=#005f00 gui=NONE cterm=NONE
+hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi SignColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
+hi Underlined guifg=#00afaf guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi ModeMsg guifg=#87ff87 guibg=NONE gui=bold cterm=NONE
+hi WarningMsg guifg=#ffa700 guibg=NONE gui=bold cterm=NONE
+hi MoreMsg guifg=#005f00 guibg=NONE gui=bold cterm=NONE
+hi Question guifg=#00ffff guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#303030 guibg=#ffd7af gui=NONE cterm=NONE
+hi Search guifg=#ffffff guibg=#0000ff gui=NONE cterm=NONE
+hi IncSearch guifg=#ffa700 guibg=NONE gui=reverse cterm=reverse
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#87ff87 gui=NONE cterm=NONE
+hi lCursor guifg=#000000 guibg=#ff0000 gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
+hi SpellLocal guifg=#ffd7af guibg=NONE guisp=#ffd7af gui=undercurl cterm=underline
+hi SpellRare guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
+hi Comment guifg=#ffa700 guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#ffd7af guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
+hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Conceal guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi Normal ctermfg=120 ctermbg=16 cterm=NONE
+ hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
+ hi StatusLine ctermfg=231 ctermbg=18 cterm=NONE
+ hi StatusLineNC ctermfg=231 ctermbg=237 cterm=NONE
+ hi VertSplit ctermfg=231 ctermbg=237 cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=250 cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=236 cterm=NONE
+ hi TabLine ctermfg=120 ctermbg=238 cterm=NONE
+ hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE
+ hi ToolbarButton ctermfg=231 ctermbg=238 cterm=NONE
+ hi NonText ctermfg=37 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=37 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=236 ctermbg=37 cterm=NONE
+ hi Folded ctermfg=37 ctermbg=236 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=238 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=238 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=235 cterm=NONE
+ hi Visual ctermfg=231 ctermbg=22 cterm=NONE
+ hi VisualNOS ctermfg=231 ctermbg=22 cterm=NONE
+ hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=37 ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=37 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=37 ctermbg=NONE cterm=underline
+ hi Error ctermfg=231 ctermbg=196 cterm=NONE
+ hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
+ hi ModeMsg ctermfg=120 ctermbg=NONE cterm=NONE
+ hi WarningMsg ctermfg=214 ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=22 ctermbg=NONE cterm=NONE
+ hi Question ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=21 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=236 ctermbg=223 cterm=NONE
+ hi Search ctermfg=231 ctermbg=21 cterm=NONE
+ hi IncSearch ctermfg=214 ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=120 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=196 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=51 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=223 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=226 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=214 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=226 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=231 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=223 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=250 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=250 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi Normal ctermfg=green ctermbg=black cterm=NONE
+ hi EndOfBuffer ctermfg=blue ctermbg=black cterm=NONE
+ hi StatusLine ctermfg=white ctermbg=darkblue cterm=NONE
+ hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi VertSplit ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
+ hi TabLine ctermfg=green ctermbg=darkgrey cterm=NONE
+ hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
+ hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi NonText ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi ColorColumn ctermfg=green ctermbg=darkgrey cterm=NONE
+ hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi VisualNOS ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=darkcyan ctermbg=NONE cterm=underline
+ hi Error ctermfg=white ctermbg=red cterm=NONE
+ hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
+ hi ModeMsg ctermfg=green ctermbg=NONE cterm=NONE
+ hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Question ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
+ hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi Search ctermfg=white ctermbg=blue cterm=NONE
+ hi IncSearch ctermfg=darkred ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi Cursor ctermfg=black ctermbg=green cterm=NONE
+ hi lCursor ctermfg=black ctermbg=red cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=cyan ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=yellow ctermbg=NONE cterm=underline
+ hi Comment ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=white ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Type ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: dark
+" Color: foreground #87FF87 120 green
+" Color: background #000000 16 black
+" Color: color00 #303030 236 black
+" Color: color08 #444444 238 darkgrey
+" Color: color01 #FFA700 214 darkred
+" Color: color09 #FF0000 196 red
+" Color: color02 #005F00 22 darkgreen
+" Color: color10 #00875F 29 green
+" Color: color03 #FFD7AF 223 darkyellow
+" Color: color11 #FFFF00 226 yellow
+" Color: color04 #00008B 18 darkblue
+" Color: color12 #0000FF 21 blue
+" Color: color05 #FFAFAF 217 darkmagenta
+" Color: color13 #FF00FF 201 magenta
+" Color: color06 #00AFAF 37 darkcyan
+" Color: color14 #00FFFF 51 cyan
+" Color: color07 #BCBCBC 250 grey
+" Color: color15 #FFFFFF 231 white
+" Color: color16 #262626 235 black
+" Color: color17 #3A3A3A 237 darkgrey
+" Color: color04t #87AFFF 111 darkblue
+" Color: color12t #005FFF 27 blue
+" Term colors: color00 color01 color02 color03 color04t color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12t color13 color14 color15
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/pablo.vim b/runtime/colors/pablo.vim
index e6bf73704..c7c800955 100644
--- a/runtime/colors/pablo.vim
+++ b/runtime/colors/pablo.vim
@@ -1,26 +1,362 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Ron Aaron <ron@ronware.org>
-" Last Change: 2003 May 02
+" Name: pablo
+" Author: Ron Aaron <ron@ronware.org>
+" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:41 2022
+
+" Generated by Colortemplate v2.2.0
-hi clear
set background=dark
-if exists("syntax_on")
- syntax reset
+
+hi clear
+let g:colors_name = 'pablo'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
-let g:colors_name = "pablo"
-
-highlight Comment ctermfg=8 guifg=#808080
-highlight Constant ctermfg=14 cterm=none guifg=#00ffff gui=none
-highlight Identifier ctermfg=6 guifg=#00c0c0
-highlight Statement ctermfg=3 cterm=bold guifg=#c0c000 gui=bold
-highlight PreProc ctermfg=10 guifg=#00ff00
-highlight Type ctermfg=2 guifg=#00c000
-highlight Special ctermfg=12 guifg=#0000ff
-highlight Error ctermbg=9 guibg=#ff0000
-highlight Todo ctermfg=4 ctermbg=3 guifg=#000080 guibg=#c0c000
-highlight Directory ctermfg=2 guifg=#00c000
-highlight StatusLine ctermfg=11 ctermbg=12 cterm=none guifg=#ffff00 guibg=#0000ff gui=none
-highlight Normal guifg=#ffffff guibg=#000000
-highlight Search ctermbg=3 guibg=#c0c000
+hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi! link Terminal Normal
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi Comment guifg=#808080 guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#00c0c0 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#c0c000 guibg=NONE gui=bold cterm=NONE
+hi PreProc guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#00c000 guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
+hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
+hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
+hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi Todo guifg=#000000 guibg=#c0c000 gui=NONE cterm=NONE
+hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi lCursor guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi Directory guifg=#00c000 guibg=NONE gui=NONE cterm=NONE
+hi Search guifg=#000000 guibg=#c0c000 gui=NONE cterm=NONE
+hi IncSearch guifg=#ffffff guibg=NONE gui=reverse cterm=reverse
+hi NonText guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi EndOfBuffer guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi ErrorMsg guifg=#ffffff guibg=#cd0000 gui=NONE cterm=NONE
+hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi SignColumn guifg=#00ffff guibg=#a9a9a9 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#4d4d4d gui=NONE cterm=NONE
+hi FoldColumn guifg=#7f7f7f guibg=#303030 gui=NONE cterm=NONE
+hi Folded guifg=#7f7f7f guibg=#303030 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=#3a3a3a gui=bold cterm=NONE
+hi Visual guifg=#00008b guibg=#a9a9a9 gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
+hi LineNr guifg=#7f7f7f guibg=NONE gui=NONE cterm=NONE
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
+hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
+hi MoreMsg guifg=#5c5cff guibg=NONE gui=bold cterm=NONE
+hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
+hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#5c5cff guibg=NONE guisp=#5c5cff gui=undercurl cterm=underline
+hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi SpellRare guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
+hi StatusLine guifg=#ffff00 guibg=#0000ee gui=NONE cterm=NONE
+hi StatusLineNC guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi VertSplit guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi TabLine guifg=#ffffff guibg=#7f7f7f gui=NONE cterm=NONE
+hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
+hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
+hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
+hi Pmenu guifg=fg guibg=#303030 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=231 ctermbg=16 cterm=NONE
+ hi! link Terminal Normal
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=37 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=142 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=34 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
+ hi Error ctermfg=231 ctermbg=196 cterm=NONE
+ hi Todo ctermfg=16 ctermbg=142 cterm=NONE
+ hi Conceal ctermfg=254 ctermbg=248 cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=231 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=231 cterm=NONE
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi Title ctermfg=225 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=34 ctermbg=NONE cterm=NONE
+ hi Search ctermfg=16 ctermbg=142 cterm=NONE
+ hi IncSearch ctermfg=231 ctermbg=NONE cterm=reverse
+ hi NonText ctermfg=63 ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=63 ctermbg=NONE cterm=NONE
+ hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
+ hi WarningMsg ctermfg=224 ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=51 ctermbg=248 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=239 cterm=NONE
+ hi FoldColumn ctermfg=102 ctermbg=236 cterm=NONE
+ hi Folded ctermfg=102 ctermbg=236 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=237 cterm=NONE
+ hi Visual ctermfg=20 ctermbg=248 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
+ hi LineNr ctermfg=102 ctermbg=NONE cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi MatchParen ctermfg=NONE ctermbg=44 cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=63 ctermbg=NONE cterm=NONE
+ hi Question ctermfg=121 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=81 ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=44 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=63 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=226 ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=226 ctermbg=20 cterm=NONE
+ hi StatusLineNC ctermfg=16 ctermbg=231 cterm=NONE
+ hi VertSplit ctermfg=16 ctermbg=231 cterm=NONE
+ hi TabLine ctermfg=231 ctermbg=102 cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=16 cterm=reverse
+ hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
+ hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
+ hi Pmenu ctermfg=fg ctermbg=236 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=254 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=white ctermbg=black cterm=NONE
+ hi! link Terminal Normal
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
+ hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Special ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=darkgreen ctermbg=NONE cterm=underline
+ hi Ignore ctermfg=black ctermbg=black cterm=NONE
+ hi Error ctermfg=white ctermbg=red cterm=NONE
+ hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
+ hi Cursor ctermfg=black ctermbg=white cterm=NONE
+ hi lCursor ctermfg=black ctermbg=white cterm=NONE
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi IncSearch ctermfg=white ctermbg=NONE cterm=reverse
+ hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
+ hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
+ hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=cyan ctermbg=black cterm=NONE
+ hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=blue ctermbg=NONE cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi Visual ctermfg=darkblue ctermbg=grey cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+ hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=yellow ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=yellow ctermbg=darkblue cterm=NONE
+ hi StatusLineNC ctermfg=black ctermbg=white cterm=NONE
+ hi VertSplit ctermfg=black ctermbg=white cterm=NONE
+ hi TabLine ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
+ hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
+ hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
+ hi Pmenu ctermfg=fg ctermbg=darkgrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=grey cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: dark
+" Color: color00 #000000 16 black
+" Color: color08 #7f7f7f 102 darkgrey
+" Color: color01 #cd0000 160 darkred
+" Color: color09 #ff0000 196 red
+" Color: color02 #00cd00 40 darkgreen
+" Color: color10 #00ff00 46 green
+" Color: color03 #cdcd00 184 darkyellow
+" Color: color11 #ffff00 226 yellow
+" Color: color04 #0000ee 20 darkblue
+" Color: color12 #5c5cff 63 blue
+" Color: color05 #cd00cd 164 darkmagenta
+" Color: color13 #ff00ff 201 magenta
+" Color: color06 #00cdcd 44 darkcyan
+" Color: color14 #00ffff 51 cyan
+" Color: color07 #e5e5e5 254 grey
+" Color: color15 #ffffff 231 white
+" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Color: rgbGrey30 #4d4d4d 239 darkgrey
+" Color: rgbGrey40 #666666 241 darkgrey
+" Color: rgbDarkGrey #a9a9a9 248 grey
+" Color: rgbDarkBlue #00008b 20 darkblue
+" Color: rgbDarkMagenta #8b008b 164 darkmagenta
+" Color: rgbBlue #0000ff 63 blue
+" Color: rgbDarkCyan #008b8b 44 darkcyan
+" Color: rgbSeaGreen #2e8b57 121 darkgreen
+" Color: rgbGrey #bebebe 248 grey
+" Color: Question #00ff00 121 green
+" Color: SignColumn #a9a9a9 248 black
+" Color: SpecialKey #00ffff 81 cyan
+" Color: StatusLineTerm #90ee90 121 darkgreen
+" Color: Title #ff00ff 225 magenta
+" Color: WarningMsg #ff0000 224 darkred
+" Color: ToolbarLine #7f7f7f 242 darkgrey
+" Color: ToolbarButton #d3d3d3 254 grey
+" Color: Underlined #80a0ff 111 darkgreen
+" Color: Comment #808080 244 darkgrey
+" Color: Constant #00ffff 51 cyan
+" Color: Special #0000ff 21 blue
+" Color: Identifier #00c0c0 37 darkcyan
+" Color: Search #c0c000 142 darkyellow
+" Color: Statement #c0c000 142 darkyellow
+" Color: Todo #c0c000 142 darkyellow
+" Color: PreProc #00ff00 46 green
+" Color: Type #00c000 34 darkgreen
+" Color: Directory #00c000 34 darkgreen
+" Color: Pmenu #303030 236 darkgrey
+" Color: Folded #303030 236 darkgrey
+" Color: Cursorline #3a3a3a 237 darkgrey
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/peachpuff.vim b/runtime/colors/peachpuff.vim
index 3c15305b0..bf2a65dca 100644
--- a/runtime/colors/peachpuff.vim
+++ b/runtime/colors/peachpuff.vim
@@ -1,60 +1,335 @@
-" Vim color file
-" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
-" Last Change: 2003-04-23
-" URL: http://trific.ath.cx/Ftp/vim/colors/peachpuff.vim
+" Name: peachpuff
+" Description: This color scheme uses a peachpuff background (what you've expected when it's " called peachpuff?).
+" Author: Original author David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
+" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:43 2022
-" This color scheme uses a peachpuff background (what you've expected when it's
-" called peachpuff?).
-"
-" Note: Only GUI colors differ from default, on terminal it's just `light'.
+" Generated by Colortemplate v2.2.0
-" First remove all existing highlighting.
set background=light
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'peachpuff'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#ffdab9', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#737373', '#406090', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#000000']
+endif
+hi Normal guifg=#000000 guibg=#ffdab9 gui=NONE cterm=NONE
+hi Folded guifg=#000000 guibg=#e3c1a5 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#cd0000 guibg=NONE gui=bold cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#ffaf87 gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#737373 guibg=NONE gui=NONE cterm=NONE
+hi StatusLine guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
+hi StatusLineNC guifg=#ffdab9 guibg=#737373 gui=bold cterm=NONE
+hi StatusLineTerm guifg=#ffffff guibg=#2e8b57 gui=bold cterm=NONE
+hi StatusLineTermNC guifg=#ffdab9 guibg=#008b8b gui=bold cterm=NONE
+hi VertSplit guifg=#ffdab9 guibg=#737373 gui=NONE cterm=NONE
+hi Pmenu guifg=#000000 guibg=#ffaf87 gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#f5c195 gui=bold cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#ffdab9 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#737373 gui=NONE cterm=NONE
+hi TabLine guifg=#ffdab9 guibg=#737373 gui=underline cterm=underline
+hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi TabLineSel guifg=#000000 guibg=#ffdab9 gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ToolbarButton guifg=#ffdab9 guibg=#737373 gui=bold cterm=NONE
+hi NonText guifg=#737373 guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#737373 guibg=NONE gui=NONE cterm=NONE
+hi Visual guifg=#000000 guibg=#cccccc gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=#406090 gui=NONE cterm=NONE
+hi LineNr guifg=#cd0000 guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#406090 guibg=NONE gui=NONE cterm=NONE
+hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ff0000 guibg=#ffffff gui=bold,reverse cterm=reverse
+hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=bold,reverse cterm=reverse
+hi WarningMsg guifg=#cd00cd guibg=#ffdab9 gui=bold cterm=NONE
+hi MoreMsg guifg=#2e8b57 guibg=#ffdab9 gui=bold cterm=NONE
+hi ModeMsg guifg=#000000 guibg=#ffdab9 gui=bold cterm=NONE
+hi Question guifg=#c00058 guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#6a5acd guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#ffdab9 guibg=#6a5acd gui=NONE cterm=NONE
+hi Search guifg=#ffdab9 guibg=#cd00cd gui=NONE cterm=NONE
+hi IncSearch guifg=#2e8b57 guibg=NONE gui=reverse cterm=reverse
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
+hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
+hi Cursor guifg=#ffdab9 guibg=#000000 gui=NONE cterm=NONE
+hi lCursor guifg=#000000 guibg=#c00058 gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#008b8b guibg=NONE guisp=#008b8b gui=undercurl cterm=underline
+hi SpellLocal guifg=#cd00cd guibg=NONE guisp=#cd00cd gui=undercurl cterm=underline
+hi SpellRare guifg=#6a5acd guibg=NONE guisp=#6a5acd gui=undercurl cterm=underline
+hi Comment guifg=#406090 guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#c00058 guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
+hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi Special guifg=#6a5acd guibg=NONE gui=NONE cterm=NONE
+hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
+hi Conceal guifg=#406090 guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#cd00cd guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=16 ctermbg=223 cterm=NONE
+ hi Folded ctermfg=16 ctermbg=252 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=180 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=180 cterm=NONE
+ hi CursorLineNr ctermfg=160 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=216 cterm=NONE
+ hi EndOfBuffer ctermfg=243 ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=231 ctermbg=16 cterm=NONE
+ hi StatusLineNC ctermfg=223 ctermbg=243 cterm=NONE
+ hi StatusLineTerm ctermfg=231 ctermbg=29 cterm=NONE
+ hi StatusLineTermNC ctermfg=223 ctermbg=30 cterm=NONE
+ hi VertSplit ctermfg=223 ctermbg=243 cterm=NONE
+ hi Pmenu ctermfg=16 ctermbg=216 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=180 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=223 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
+ hi TabLine ctermfg=223 ctermbg=243 cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=16 ctermbg=223 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=223 ctermbg=243 cterm=NONE
+ hi NonText ctermfg=243 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=243 ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=16 ctermbg=252 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=25 cterm=NONE
+ hi LineNr ctermfg=160 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=25 ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
+ hi WarningMsg ctermfg=164 ctermbg=223 cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=223 cterm=NONE
+ hi ModeMsg ctermfg=16 ctermbg=223 cterm=NONE
+ hi Question ctermfg=161 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=62 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=223 ctermbg=62 cterm=NONE
+ hi Search ctermfg=223 ctermbg=164 cterm=NONE
+ hi IncSearch ctermfg=29 ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
+ hi Cursor ctermfg=223 ctermbg=16 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=161 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=30 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=164 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=62 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=25 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=161 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=164 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=29 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=62 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=25 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=164 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=black ctermbg=white cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=underline
+ hi QuickFixLine ctermfg=black ctermbg=grey cterm=NONE
+ hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=white ctermbg=black cterm=NONE
+ hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi StatusLineTerm ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi StatusLineTermNC ctermfg=white ctermbg=darkcyan cterm=NONE
+ hi VertSplit ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi TabLine ctermfg=white ctermbg=darkgrey cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=black ctermbg=grey cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi LineNr ctermfg=red ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi Error ctermfg=darkred ctermbg=white cterm=reverse
+ hi ErrorMsg ctermfg=darkred ctermbg=white cterm=reverse
+ hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=white cterm=NONE
+ hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
+ hi Question ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
+ hi MatchParen ctermfg=white ctermbg=darkblue cterm=NONE
+ hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
+ hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=grey cterm=NONE
+ hi Cursor ctermfg=white ctermbg=black cterm=NONE
+ hi lCursor ctermfg=black ctermbg=darkred cterm=NONE
+ hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
endif
-let colors_name = "peachpuff"
-
-hi Normal guibg=PeachPuff guifg=Black
-
-hi SpecialKey term=bold ctermfg=4 guifg=Blue
-hi NonText term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue
-hi Directory term=bold ctermfg=4 guifg=Blue
-hi ErrorMsg term=standout cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=White guibg=Red
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi Search term=reverse ctermbg=3 guibg=Gold2
-hi MoreMsg term=bold ctermfg=2 gui=bold guifg=SeaGreen
-hi ModeMsg term=bold cterm=bold gui=bold
-hi LineNr term=underline ctermfg=3 guifg=Red3
-hi Question term=standout ctermfg=2 gui=bold guifg=SeaGreen
-hi StatusLine term=bold,reverse cterm=bold,reverse gui=bold guifg=White guibg=Black
-hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=PeachPuff guibg=Gray45
-hi VertSplit term=reverse cterm=reverse gui=bold guifg=White guibg=Gray45
-hi Title term=bold ctermfg=5 gui=bold guifg=DeepPink3
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey80 guibg=fg
-hi VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline
-hi WarningMsg term=standout ctermfg=1 gui=bold guifg=Red
-hi WildMenu term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow
-hi Folded term=standout ctermfg=4 ctermbg=7 guifg=Black guibg=#e3c1a5
-hi FoldColumn term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Gray80
-hi DiffAdd term=bold ctermbg=4 guibg=White
-hi DiffChange term=bold ctermbg=5 guibg=#edb5cd
-hi DiffDelete term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=LightBlue guibg=#f6e8d0
-hi DiffText term=reverse cterm=bold ctermbg=1 gui=bold guibg=#ff8060
-hi Cursor guifg=bg guibg=fg
-hi lCursor guifg=bg guibg=fg
-
-" Colors for syntax highlighting
-hi Comment term=bold ctermfg=4 guifg=#406090
-hi Constant term=underline ctermfg=1 guifg=#c00058
-hi Special term=bold ctermfg=5 guifg=SlateBlue
-hi Identifier term=underline ctermfg=6 guifg=DarkCyan
-hi Statement term=bold ctermfg=3 gui=bold guifg=Brown
-hi PreProc term=underline ctermfg=5 guifg=Magenta3
-hi Type term=underline ctermfg=2 gui=bold guifg=SeaGreen
-hi Ignore cterm=bold ctermfg=7 guifg=bg
-hi Error term=reverse cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=White guibg=Red
-hi Todo term=standout ctermfg=0 ctermbg=3 guifg=Blue guibg=Yellow
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+" Background: light
+" Color: comment #406090 25 darkgrey
+" Color: constant #c00058 161 darkred
+" Color: identifier #008b8b 30 darkcyan
+" Color: statement #a52a2a 124 darkred
+" Color: preproc #cd00cd 164 darkmagenta
+" Color: type #2e8b57 29 darkgreen
+" Color: special #6a5acd 62 darkblue
+" Color: fg0 #000000 16 black
+" Color: bg0 #ffdab9 223 white
+" Color: fg1 #ffffff 231 white
+" Color: bg1 #737373 243 darkgrey
+" Color: visual #cccccc 252 grey
+" Color: folded #e3c1a5 252 cyan
+" Color: folded_fg #000000 16 black
+" Color: cursorline #f5c195 180 yellow
+" Color: pmenu #ffaf87 216 grey
+" Color: wildmenu #ffff00 226 yellow
+" Color: error #ff0000 196 darkred
+" Color: linenr #cd0000 160 red
+" Color: blue #0000ff 21 darkblue
+" Color: red #ff0000 196 darkred
+" Color: colorcolumn #eeeeee 255 grey
+" Term colors: bg0 statement constant preproc identifier type special bg1
+" Term colors: comment statement constant preproc identifier type special fg0
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/ron.vim b/runtime/colors/ron.vim
index 1e9caa315..46f83e159 100644
--- a/runtime/colors/ron.vim
+++ b/runtime/colors/ron.vim
@@ -1,45 +1,378 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Ron Aaron <ron@ronware.org>
-" Last Change: 2013 May 24
+" Name: ron
+" Author: original author Ron Aaron <ron@ronware.org>
+" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
+" Website: https://www.github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:43 2022
+
+" Generated by Colortemplate v2.2.0
set background=dark
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'ron'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+hi! link Terminal Normal
+hi! link Boolean Constant
+hi! link Character Constant
+hi! link Conditional Statement
+hi! link Debug Special
+hi! link Define PreProc
+hi! link Delimiter Special
+hi! link Exception Statement
+hi! link Float Constant
+hi! link Function Identifier
+hi! link Include PreProc
+hi! link Keyword Statement
+hi! link Macro PreProc
+hi! link Number Constant
+hi! link PopupSelected PmenuSel
+hi! link PreCondit PreProc
+hi! link Repeat Statement
+hi! link SpecialChar Special
+hi! link SpecialComment Special
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi! link StorageClass Type
+hi! link String Constant
+hi! link Structure Type
+hi! link Tag Special
+hi! link Typedef Type
+hi! link lCursor Cursor
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
+endif
+hi Normal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#cd0000 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
+hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
+hi Cursor guifg=#ffffff guibg=#60a060 gui=NONE cterm=NONE
+hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#ffff00 guibg=#303030 gui=NONE cterm=NONE
+hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi FoldColumn guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
+hi Folded guifg=NONE guibg=#4d4d4d gui=NONE cterm=NONE
+hi IncSearch guifg=NONE guibg=#4682b4 gui=NONE cterm=NONE
+hi LineNr guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
+hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
+hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi NonText guifg=#ffff00 guibg=#303030 gui=NONE cterm=NONE
+hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#000000 gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
+hi Question guifg=#00ff00 guibg=#000000 gui=bold cterm=NONE
+hi Search guifg=#000000 guibg=#a9a9a9 gui=bold cterm=NONE
+hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi StatusLine guifg=#00ffff guibg=#0000ff gui=bold cterm=NONE
+hi StatusLineNC guifg=#add8e6 guibg=#00008b gui=NONE cterm=NONE
+hi VertSplit guifg=#add8e6 guibg=#00008b gui=NONE cterm=NONE
+hi TabLine guifg=#000000 guibg=#008b8b gui=NONE cterm=NONE
+hi TabLineFill guifg=#a9a9a9 guibg=#7f7f7f gui=NONE cterm=NONE
+hi TabLineSel guifg=#00ffff guibg=#000000 gui=bold cterm=NONE
+hi Terminal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
+hi Title guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
+hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
+hi WarningMsg guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#ffffff guibg=NONE guisp=#ffffff gui=undercurl cterm=underline
+hi SpellLocal guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
+hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi Comment guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#00ffff guibg=NONE gui=bold cterm=NONE
+hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi Identifier guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
+hi Label guifg=#eec900 guibg=NONE gui=NONE cterm=NONE
+hi Operator guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#eea9b8 guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
+hi Todo guifg=#000000 guibg=#ffa500 gui=NONE cterm=NONE
+hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
+hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=51 ctermbg=16 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=160 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=59 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=59 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=44 cterm=NONE
+ hi Conceal ctermfg=254 ctermbg=145 cterm=NONE
+ hi Cursor ctermfg=231 ctermbg=71 cterm=NONE
+ hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=226 ctermbg=236 cterm=NONE
+ hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
+ hi FoldColumn ctermfg=231 ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=NONE ctermbg=239 cterm=NONE
+ hi IncSearch ctermfg=NONE ctermbg=67 cterm=NONE
+ hi LineNr ctermfg=145 ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=44 cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=226 ctermbg=236 cterm=NONE
+ hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=16 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=254 cterm=NONE
+ hi Question ctermfg=46 ctermbg=16 cterm=NONE
+ hi Search ctermfg=16 ctermbg=145 cterm=NONE
+ hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=51 ctermbg=21 cterm=NONE
+ hi StatusLineNC ctermfg=152 ctermbg=20 cterm=NONE
+ hi VertSplit ctermfg=152 ctermbg=20 cterm=NONE
+ hi TabLine ctermfg=16 ctermbg=44 cterm=NONE
+ hi TabLineFill ctermfg=145 ctermbg=102 cterm=NONE
+ hi TabLineSel ctermfg=51 ctermbg=16 cterm=NONE
+ hi Terminal ctermfg=51 ctermbg=16 cterm=NONE
+ hi Title ctermfg=145 ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
+ hi WarningMsg ctermfg=226 ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=231 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=226 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi Identifier ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
+ hi Label ctermfg=220 ctermbg=NONE cterm=NONE
+ hi Operator ctermfg=214 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=217 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=226 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=152 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=16 ctermbg=214 cterm=NONE
+ hi Type ctermfg=29 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=cyan ctermbg=black cterm=NONE
+ hi ColorColumn ctermfg=cyan ctermbg=darkred cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
+ hi Cursor ctermfg=white ctermbg=green cterm=NONE
+ hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=yellow ctermbg=darkgrey cterm=NONE
+ hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
+ hi FoldColumn ctermfg=white ctermbg=NONE cterm=NONE
+ hi Folded ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi IncSearch ctermfg=NONE ctermbg=blue cterm=NONE
+ hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi NonText ctermfg=yellow ctermbg=darkgrey cterm=NONE
+ hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
+ hi Question ctermfg=green ctermbg=black cterm=NONE
+ hi Search ctermfg=black ctermbg=grey cterm=NONE
+ hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=cyan ctermbg=darkblue cterm=NONE
+ hi StatusLineNC ctermfg=darkcyan ctermbg=darkblue cterm=NONE
+ hi VertSplit ctermfg=darkcyan ctermbg=darkblue cterm=NONE
+ hi TabLine ctermfg=black ctermbg=darkcyan cterm=NONE
+ hi TabLineFill ctermfg=grey ctermbg=darkgrey cterm=NONE
+ hi TabLineSel ctermfg=cyan ctermbg=black cterm=NONE
+ hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
+ hi Title ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+ hi WarningMsg ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=white ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=yellow ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
+ hi Comment ctermfg=green ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Error ctermfg=red ctermbg=white cterm=reverse
+ hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=black ctermbg=black cterm=NONE
+ hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Operator ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Special ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
endif
-let g:colors_name = "ron"
-hi Normal guifg=cyan guibg=black
-hi NonText guifg=yellow guibg=#303030
-hi comment guifg=green
-hi constant guifg=cyan gui=bold
-hi identifier guifg=cyan gui=NONE
-hi statement guifg=lightblue gui=NONE
-hi preproc guifg=Pink2
-hi type guifg=seagreen gui=bold
-hi special guifg=yellow
-hi ErrorMsg guifg=Black guibg=Red
-hi WarningMsg guifg=Black guibg=Green
-hi Error guibg=Red
-hi Todo guifg=Black guibg=orange
-hi Cursor guibg=#60a060 guifg=#00ff00
-hi Search guibg=darkgray guifg=black gui=bold
-hi IncSearch gui=NONE guibg=steelblue
-hi LineNr guifg=darkgrey
-hi title guifg=darkgrey
-hi ShowMarksHL ctermfg=cyan ctermbg=lightblue cterm=bold guifg=yellow guibg=black gui=bold
-hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
-hi StatusLine gui=bold guifg=cyan guibg=blue
-hi label guifg=gold2
-hi operator guifg=orange
-hi clear Visual
-hi Visual term=reverse cterm=reverse gui=reverse
-hi DiffChange guibg=darkgreen
-hi DiffText guibg=olivedrab
-hi DiffAdd guibg=slateblue
-hi DiffDelete guibg=coral
-hi Folded guibg=gray30
-hi FoldColumn guibg=gray30 guifg=white
-hi cIf0 guifg=gray
-hi diffOnly guifg=red gui=bold
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: dark
+" Color: xterm0 #000000 16 black
+" Color: xterm1 #cd0000 160 darkred
+" Color: xterm2 #00cd00 40 darkgreen
+" Color: xterm3 #cdcd00 184 darkyellow
+" Color: xterm4 #0000ee 20 darkblue
+" Color: xterm5 #cd00cd 164 darkmagenta
+" Color: xterm6 #00cdcd 44 darkcyan
+" Color: xterm7 #e5e5e5 254 grey
+" Color: xterm8 #7f7f7f 102 darkgrey
+" Color: xterm9 #ff0000 196 red
+" Color: xterm10 #00ff00 46 green
+" Color: xterm11 #ffff00 226 yellow
+" Color: xterm12 #5c5cff 63 blue
+" Color: xterm13 #ff00ff 201 magenta
+" Color: xterm14 #00ffff 51 cyan
+" Color: xterm15 #ffffff 231 white
+" Color: rgbGrey40 #666666 59 darkgrey
+" Color: rgbDarkGrey #a9a9a9 145 grey
+" Color: rgbDarkBlue #00008b 20 darkblue
+" Color: rgbBlue #0000ff 21 darkblue
+" Color: rgbDarkCyan #008b8b 44 darkcyan
+" Color: Directory #00ffff 51 cyan
+" Color: rgbSeaGreen #2e8b57 29 darkgreen
+" Color: rgbGrey #bebebe 250 grey
+" Color: Question #00ff00 46 green
+" Color: SignColumn #a9a9a9 248 grey
+" Color: SpecialKey #00ffff 51 cyan
+" Color: StatusLineTerm #90ee90 120 darkgreen
+" Color: ToolbarLine #7f7f7f 244 darkgrey
+" Color: Underlined #80a0ff 111 blue
+" Color: Pmenu #444444 238 darkgrey
+" Color: ron303030 #303030 236 darkgrey
+" Color: ronLightBlue #add8e6 152 darkcyan
+" Color: ronPink2 #eea9b8 217 darkmagenta
+" Color: ronOrange #ffa500 214 darkyellow
+" Color: ronCursor #60a060 71 green
+" Color: ronSteelBlue #4682b4 67 blue
+" Color: ronGold2 #eec900 220 yellow
+" Color: ronDarkGreen #006400 22 darkgreen
+" Color: ronSlateBlue #6a5acd 62 blue
+" Color: ronOliveDrab #6b8e23 64 green
+" Color: ronCoral #ff7f50 209 red
+" Color: ronGray30 #4d4d4d 239 darkgrey
+" Term colors: xterm0 xterm1 xterm2 xterm3 xterm4 xterm5 xterm6 xterm7
+" Term colors: xterm8 xterm9 xterm10 xterm11 xterm12 xterm13
+" Term colors: xterm14 xterm15
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/shine.vim b/runtime/colors/shine.vim
index afc72b30f..a545b8c39 100644
--- a/runtime/colors/shine.vim
+++ b/runtime/colors/shine.vim
@@ -1,60 +1,353 @@
-" Vim color file
-" Maintainer: Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
-" Last Change: 2001 May 25
+" Name: shine
+" Description: Light colorscheme inspired by normal text editors.
+" Author: Original author is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
+" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:44 2022
-" This look like normal text editor.
-" This color scheme uses a light background.
+" Generated by Colortemplate v2.2.0
-" First remove all existing highlighting.
set background=light
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'shine'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#8b0000', '#006400', '#ffff00', '#00008b', '#6a0dad', '#008b8b', '#dadada', '#767676', '#ffafaf', '#90ee90', '#ffff60', '#add8e6', '#ff00ff', '#00ffff', '#ffffff']
+endif
+hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi Folded guifg=#00008b guibg=#dadada gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#dadada gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#dadada gui=NONE cterm=NONE
+hi CursorLineNr guifg=NONE guibg=#dadada gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#ff8c00 gui=NONE cterm=NONE
+hi! link EndOfBuffer NonText
+hi StatusLine guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
+hi StatusLineNC guifg=#ffffff guibg=#a8a8a8 gui=NONE cterm=NONE
+hi StatusLineTerm guifg=#000000 guibg=#90ee90 gui=bold cterm=NONE
+hi StatusLineTermNC guifg=#dadada guibg=#006400 gui=NONE cterm=NONE
+hi VertSplit guifg=#a8a8a8 guibg=#a8a8a8 gui=NONE cterm=NONE
+hi Pmenu guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#ffff60 gui=NONE cterm=NONE
+hi PmenuSbar guifg=#ffffff guibg=#ffffff gui=NONE cterm=NONE
+hi PmenuThumb guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
+hi TabLine guifg=#000000 guibg=#dadada gui=underline cterm=underline
+hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ToolbarButton guifg=NONE guibg=#a8a8a8 gui=bold cterm=NONE
+hi NonText guifg=#add8e6 guibg=#ffffff gui=NONE cterm=NONE
+hi SpecialKey guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
+hi Visual guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=underline
+hi LineNr guifg=#767676 guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#767676 guibg=NONE gui=NONE cterm=NONE
+hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Underlined guifg=#6a0dad guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi! link ErrorMsg Error
+hi WarningMsg guifg=#6a0dad guibg=#ffffff gui=NONE cterm=NONE
+hi MoreMsg guifg=#006400 guibg=#ffffff gui=NONE cterm=NONE
+hi ModeMsg guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi Question guifg=#a07070 guibg=NONE gui=NONE cterm=NONE
+hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#ffffff guibg=#ffafaf gui=NONE cterm=NONE
+hi Search guifg=#ffffff guibg=#6a0dad gui=NONE cterm=NONE
+hi IncSearch guifg=#008b8b guibg=#ffff00 gui=reverse cterm=reverse
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
+hi ColorColumn guifg=#000000 guibg=#ffafaf gui=NONE cterm=NONE
+hi Cursor guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi lCursor guifg=#000000 guibg=#a07070 gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#2e8b57 guibg=NONE guisp=#2e8b57 gui=undercurl cterm=underline
+hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi SpellRare guifg=#00008b guibg=NONE guisp=#00008b gui=undercurl cterm=underline
+hi Identifier guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#006400 guibg=NONE gui=bold cterm=NONE
+hi Constant guifg=#a07070 guibg=NONE gui=NONE cterm=NONE
+hi Number guifg=#a07070 guibg=NONE gui=bold cterm=NONE
+hi Float guifg=#a07070 guibg=NONE gui=bold cterm=NONE
+hi PreProc guifg=#6a0dad guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ff8c00 guibg=NONE gui=NONE cterm=NONE
+hi SpecialChar guifg=#00008b guibg=NONE gui=NONE cterm=NONE
+hi! link Tag Special
+hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi! link Operator Statement
+hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
+hi Comment guifg=#a8a8a8 guibg=NONE gui=bold cterm=NONE
+hi StorageClass guifg=#ff0000 guibg=NONE gui=bold cterm=NONE
+hi Conceal guifg=#dadada guibg=#767676 gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#006400 guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=16 ctermbg=231 cterm=NONE
+ hi Folded ctermfg=18 ctermbg=253 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=253 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=253 cterm=NONE
+ hi CursorLineNr ctermfg=NONE ctermbg=253 cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=208 cterm=NONE
+ hi! link EndOfBuffer NonText
+ hi StatusLine ctermfg=231 ctermbg=16 cterm=NONE
+ hi StatusLineNC ctermfg=231 ctermbg=248 cterm=NONE
+ hi StatusLineTerm ctermfg=16 ctermbg=120 cterm=NONE
+ hi StatusLineTermNC ctermfg=253 ctermbg=22 cterm=NONE
+ hi VertSplit ctermfg=248 ctermbg=248 cterm=NONE
+ hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=228 cterm=NONE
+ hi PmenuSbar ctermfg=231 ctermbg=231 cterm=NONE
+ hi PmenuThumb ctermfg=243 ctermbg=243 cterm=NONE
+ hi TabLine ctermfg=16 ctermbg=253 cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=16 ctermbg=231 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=NONE
+ hi NonText ctermfg=153 ctermbg=231 cterm=NONE
+ hi SpecialKey ctermfg=153 ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=16 ctermbg=248 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+ hi LineNr ctermfg=243 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=243 ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=55 ctermbg=NONE cterm=underline
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi! link ErrorMsg Error
+ hi WarningMsg ctermfg=55 ctermbg=231 cterm=NONE
+ hi MoreMsg ctermfg=22 ctermbg=231 cterm=NONE
+ hi ModeMsg ctermfg=16 ctermbg=231 cterm=NONE
+ hi Question ctermfg=95 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=16 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=231 ctermbg=217 cterm=NONE
+ hi Search ctermfg=231 ctermbg=55 cterm=NONE
+ hi IncSearch ctermfg=30 ctermbg=226 cterm=reverse
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi ColorColumn ctermfg=16 ctermbg=217 cterm=NONE
+ hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=95 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=29 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=18 ctermbg=NONE cterm=underline
+ hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=22 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=95 ctermbg=NONE cterm=NONE
+ hi Number ctermfg=95 ctermbg=NONE cterm=NONE
+ hi Float ctermfg=95 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=55 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=208 ctermbg=NONE cterm=NONE
+ hi SpecialChar ctermfg=18 ctermbg=NONE cterm=NONE
+ hi! link Tag Special
+ hi Type ctermfg=29 ctermbg=NONE cterm=NONE
+ hi! link Operator Statement
+ hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=248 ctermbg=NONE cterm=NONE
+ hi StorageClass ctermfg=196 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=253 ctermbg=243 cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=22 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=black ctermbg=white cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=underline
+ hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi! link EndOfBuffer NonText
+ hi StatusLine ctermfg=white ctermbg=black cterm=NONE
+ hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi StatusLineTerm ctermfg=black ctermbg=green cterm=NONE
+ hi StatusLineTermNC ctermfg=grey ctermbg=darkgreen cterm=NONE
+ hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
+ hi Pmenu ctermfg=black ctermbg=darkgrey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuSbar ctermfg=white ctermbg=white cterm=NONE
+ hi PmenuThumb ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
+ hi TabLine ctermfg=black ctermbg=grey cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi NonText ctermfg=blue ctermbg=white cterm=NONE
+ hi SpecialKey ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+ hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=darkmagenta ctermbg=NONE cterm=underline
+ hi Error ctermfg=red ctermbg=white cterm=reverse
+ hi! link ErrorMsg Error
+ hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=white cterm=NONE
+ hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
+ hi Question ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=black ctermbg=yellow cterm=NONE
+ hi MatchParen ctermfg=white ctermbg=red cterm=NONE
+ hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
+ hi IncSearch ctermfg=darkcyan ctermbg=yellow cterm=reverse
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi ColorColumn ctermfg=black ctermbg=red cterm=NONE
+ hi Cursor ctermfg=white ctermbg=black cterm=NONE
+ hi lCursor ctermfg=black ctermbg=darkred cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=darkgreen ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkblue ctermbg=NONE cterm=underline
+ hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Number ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Float ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi SpecialChar ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi! link Tag Special
+ hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi! link Operator Statement
+ hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi StorageClass ctermfg=red ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=darkgrey cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
endif
-let colors_name = "shine"
-
-hi Normal ctermbg=White ctermfg=Black guifg=Black guibg=White
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi ModeMsg term=bold cterm=bold gui=bold
-hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
-hi StatusLineNC term=reverse cterm=reverse gui=reverse
-hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
-hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
-hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
-hi Cursor ctermbg=Green guibg=Green guifg=Black
-hi lCursor guibg=Cyan guifg=Black
-hi Directory term=bold ctermfg=LightRed guifg=Red
-hi LineNr term=underline ctermfg=Yellow guifg=Yellow
-hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
-hi NonText term=bold ctermfg=LightBlue gui=bold guifg=LightBlue guibg=grey90
-hi Question term=standout ctermfg=LightGreen gui=bold guifg=Green
-hi Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi SpecialKey term=bold ctermfg=LightBlue guifg=Blue
-hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta
-hi WarningMsg term=standout ctermfg=LightRed guifg=Red
-hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi Folded term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi FoldColumn term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
-hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue
-hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta
-hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan
-
-hi Comment ctermfg=DarkGrey ctermbg=White guifg=DarkGrey gui=bold
-hi SpecialChar ctermfg=DarkGrey ctermbg=White guifg=DarkGrey gui=bold
-hi StorageClass ctermfg=Red ctermbg=White guifg=Red gui=bold
-hi Number ctermfg=LightRed ctermbg=White guifg=LightRed gui=bold
-
-" Groups for syntax highlighting
-hi Constant term=underline ctermfg=Magenta guifg=#a07070 guibg=grey80
-hi Special term=bold ctermfg=LightRed guifg=DarkOrange guibg=grey80
-if &t_Co > 8
- hi Statement term=bold cterm=bold ctermfg=DarkGreen ctermbg=White guifg=#ffff60 gui=bold
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
endif
-hi Ignore ctermfg=LightGrey guifg=grey90
-" vim: sw=2
+" Background: light
+" Color: Black #000000 16 black
+" Color: DarkGrey #767676 243 darkgrey
+" Color: MediumGrey #A8A8A8 248 darkgrey
+" Color: LightGrey #DADADA 253 grey
+" Color: White #ffffff 231 white
+" Color: Cyan #00ffff 51 cyan
+" Color: Magenta #ff00ff 201 magenta
+" Color: Red #ff0000 196 red
+" Color: Yellow #ffff00 226 yellow
+" Color: SeaGreen #2e8b57 29 darkgreen
+" Color: DarkBlue #00008b 18 darkblue
+" Color: DarkCyan #008b8b 30 darkcyan
+" Color: DarkGreen #006400 22 darkgreen
+" Color: DarkOrange #ff8c00 208 darkyellow
+" Color: DarkRed #8b0000 88 darkred
+" Color: LightBlue #add8e6 153 blue
+" Color: LightGreen #90ee90 120 green
+" Color: LightMagenta#ff83fa 213 magenta
+" Color: LightRed #ffafaf 217 red
+" Color: MutedRed #a07070 95 darkred
+" Color: MutedYellow #ffff60 228 yellow
+" Color: Purple #6a0dad 55 darkmagenta
+" Term colors: Black DarkRed DarkGreen Yellow DarkBlue Purple DarkCyan LightGrey
+" Term colors: DarkGrey LightRed LightGreen MutedYellow LightBlue Magenta Cyan White
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/slate.vim b/runtime/colors/slate.vim
index f9a70b877..9741d92a3 100644
--- a/runtime/colors/slate.vim
+++ b/runtime/colors/slate.vim
@@ -1,56 +1,350 @@
-"%% SiSU Vim color file
-" Slate Maintainer: Ralph Amissah <ralph@amissah.com>
-" (originally looked at desert Hans Fugal <hans@fugal.net> http://hans.fugal.net/vim/colors/desert.vim (2003/05/06)
-:set background=dark
-:highlight clear
-if version > 580
- hi clear
- if exists("syntax_on")
- syntax reset
- endif
+" Name: slate
+" Description: Remake of slate
+" Author: Original maintainer Ralph Amissah <ralph@amissah.com>
+" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:45 2022
+
+" Generated by Colortemplate v2.2.0
+
+set background=dark
+
+hi clear
+let g:colors_name = 'slate'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#ff0000', '#5f8700', '#ffff00', '#87d7ff', '#d7d787', '#ffd7af', '#666666', '#333333', '#ffafaf', '#00875f', '#ffd700', '#5f87d7', '#afaf87', '#ff8787', '#ffffff']
endif
-let colors_name = "slate"
-:hi Normal guifg=White guibg=grey15
-:hi Cursor guibg=khaki guifg=slategrey
-:hi VertSplit guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse
-:hi Folded guibg=black guifg=grey40 ctermfg=grey ctermbg=darkgrey
-:hi FoldColumn guibg=black guifg=grey20 ctermfg=4 ctermbg=7
-:hi IncSearch guifg=green guibg=black cterm=none ctermfg=yellow ctermbg=green
-:hi ModeMsg guifg=goldenrod cterm=none ctermfg=brown
-:hi MoreMsg guifg=SeaGreen ctermfg=darkgreen
-:hi NonText guifg=RoyalBlue guibg=grey15 cterm=bold ctermfg=blue
-:hi Question guifg=springgreen ctermfg=green
-:hi Search guibg=peru guifg=wheat cterm=none ctermfg=grey ctermbg=blue
-:hi SpecialKey guifg=yellowgreen ctermfg=darkgreen
-:hi StatusLine guibg=#c2bfa5 guifg=black gui=none cterm=bold,reverse
-:hi StatusLineNC guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse
-:hi Title guifg=gold gui=bold cterm=bold ctermfg=yellow
-:hi Statement guifg=CornflowerBlue ctermfg=lightblue
-:hi Visual gui=none guifg=khaki guibg=olivedrab cterm=reverse
-:hi WarningMsg guifg=salmon ctermfg=1
-:hi String guifg=SkyBlue ctermfg=darkcyan
-:hi Comment term=bold ctermfg=11 guifg=grey40
-:hi Constant guifg=#ffa0a0 ctermfg=brown
-:hi Special guifg=darkkhaki ctermfg=brown
-:hi Identifier guifg=salmon ctermfg=red
-:hi Include guifg=red ctermfg=red
-:hi PreProc guifg=red guibg=white ctermfg=red
-:hi Operator guifg=Red ctermfg=Red
-:hi Define guifg=gold gui=bold ctermfg=yellow
-:hi Type guifg=CornflowerBlue ctermfg=2
-:hi Function guifg=navajowhite ctermfg=brown
-:hi Structure guifg=green ctermfg=green
-:hi LineNr guifg=grey50 ctermfg=3
-:hi Ignore guifg=grey40 cterm=bold ctermfg=7
-:hi Todo guifg=orangered guibg=yellow2
-:hi Directory ctermfg=darkcyan
-:hi ErrorMsg cterm=bold guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1
-:hi VisualNOS cterm=bold,underline
-:hi WildMenu ctermfg=0 ctermbg=3
-:hi DiffAdd ctermbg=4
-:hi DiffChange ctermbg=5
-:hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
-:hi DiffText cterm=bold ctermbg=1
-:hi Underlined cterm=underline ctermfg=5
-:hi Error guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1
-:hi SpellErrors guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1
+hi Normal guifg=#ffffff guibg=#262626 gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
+hi StatusLine guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
+hi StatusLineNC guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
+hi StatusLineTerm guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
+hi StatusLineTermNC guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
+hi VertSplit guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
+hi PmenuSel guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
+hi Pmenu guifg=NONE guibg=#4a4a4a gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#262626 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#ffd700 gui=NONE cterm=NONE
+hi TabLineSel guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
+hi TabLine guifg=#666666 guibg=#333333 gui=NONE cterm=NONE
+hi TabLineFill guifg=#ff8787 guibg=#333333 gui=NONE cterm=NONE
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi ToolbarButton guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
+hi NonText guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#00875f guibg=NONE gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#5f87d7 gui=NONE cterm=NONE
+hi Folded guifg=#666666 guibg=#000000 gui=NONE cterm=NONE
+hi FoldColumn guifg=#5f87d7 guibg=#000000 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#333333 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#333333 gui=NONE cterm=NONE
+hi CursorLineNr guifg=NONE guibg=#333333 gui=NONE cterm=NONE
+hi Visual guifg=#d7d787 guibg=#5f8700 gui=NONE cterm=NONE
+hi SignColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
+hi VisualNOS guifg=#d7d787 guibg=#5f8700 gui=NONE cterm=NONE
+hi LineNr guifg=#666666 guibg=NONE gui=NONE cterm=NONE
+hi Underlined guifg=#5f87d7 guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi ErrorMsg guifg=#ff0000 guibg=#000000 gui=reverse cterm=reverse
+hi ModeMsg guifg=#262626 guibg=#ffd700 gui=NONE cterm=NONE
+hi WarningMsg guifg=#ff8787 guibg=NONE gui=NONE cterm=NONE
+hi MoreMsg guifg=#00875f guibg=NONE gui=NONE cterm=NONE
+hi Question guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
+hi Todo guifg=#ff0000 guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#000000 guibg=#ffd700 gui=NONE cterm=NONE
+hi Search guifg=#000000 guibg=#d7875f gui=NONE cterm=NONE
+hi IncSearch guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
+hi WildMenu guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#000000 gui=NONE cterm=NONE
+hi Cursor guifg=#333333 guibg=#d7d787 gui=NONE cterm=NONE
+hi lCursor guifg=#262626 guibg=#ffafaf gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
+hi SpellLocal guifg=#ffafaf guibg=NONE guisp=#ffafaf gui=undercurl cterm=underline
+hi SpellRare guifg=#ffd7af guibg=NONE guisp=#ffd7af gui=undercurl cterm=underline
+hi Comment guifg=#666666 guibg=NONE gui=NONE cterm=NONE
+hi String guifg=#87d7ff guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#ff8787 guibg=NONE gui=NONE cterm=NONE
+hi Function guifg=#ffd7af guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#5f87d7 guibg=NONE gui=bold cterm=NONE
+hi Constant guifg=#ffafaf guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#5f87d7 guibg=NONE gui=bold cterm=NONE
+hi Operator guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
+hi Define guifg=#ffd700 guibg=NONE gui=bold cterm=NONE
+hi Structure guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
+hi Directory guifg=#00875f guibg=NONE gui=bold cterm=NONE
+hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#ffd700 guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=231 ctermbg=235 cterm=NONE
+ hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
+ hi StatusLineNC ctermfg=241 ctermbg=144 cterm=NONE
+ hi StatusLineTerm ctermfg=16 ctermbg=144 cterm=NONE
+ hi StatusLineTermNC ctermfg=241 ctermbg=144 cterm=NONE
+ hi VertSplit ctermfg=241 ctermbg=144 cterm=NONE
+ hi PmenuSel ctermfg=235 ctermbg=186 cterm=NONE
+ hi Pmenu ctermfg=NONE ctermbg=239 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=235 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=220 cterm=NONE
+ hi TabLineSel ctermfg=16 ctermbg=144 cterm=NONE
+ hi TabLine ctermfg=241 ctermbg=236 cterm=NONE
+ hi TabLineFill ctermfg=210 ctermbg=236 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=235 ctermbg=186 cterm=NONE
+ hi NonText ctermfg=68 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=29 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=68 cterm=NONE
+ hi Folded ctermfg=241 ctermbg=16 cterm=NONE
+ hi FoldColumn ctermfg=68 ctermbg=16 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE
+ hi CursorLineNr ctermfg=NONE ctermbg=236 cterm=NONE
+ hi Visual ctermfg=186 ctermbg=64 cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=235 cterm=NONE
+ hi VisualNOS ctermfg=186 ctermbg=64 cterm=NONE
+ hi LineNr ctermfg=241 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=68 ctermbg=NONE cterm=underline
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi ErrorMsg ctermfg=196 ctermbg=16 cterm=reverse
+ hi ModeMsg ctermfg=235 ctermbg=220 cterm=NONE
+ hi WarningMsg ctermfg=210 ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+ hi Question ctermfg=220 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=196 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=16 ctermbg=220 cterm=NONE
+ hi Search ctermfg=16 ctermbg=173 cterm=NONE
+ hi IncSearch ctermfg=16 ctermbg=46 cterm=NONE
+ hi WildMenu ctermfg=235 ctermbg=186 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=16 cterm=NONE
+ hi Cursor ctermfg=236 ctermbg=186 cterm=NONE
+ hi lCursor ctermfg=235 ctermbg=217 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=226 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=217 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=223 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=241 ctermbg=NONE cterm=NONE
+ hi String ctermfg=117 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=210 ctermbg=NONE cterm=NONE
+ hi Function ctermfg=223 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=186 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=68 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=173 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=68 ctermbg=NONE cterm=NONE
+ hi Operator ctermfg=173 ctermbg=NONE cterm=NONE
+ hi Define ctermfg=220 ctermbg=NONE cterm=NONE
+ hi Structure ctermfg=46 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=29 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=241 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=220 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=white ctermbg=black cterm=NONE
+ hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
+ hi StatusLineNC ctermfg=darkgrey ctermbg=grey cterm=NONE
+ hi StatusLineTerm ctermfg=black ctermbg=grey cterm=NONE
+ hi StatusLineTermNC ctermfg=darkgrey ctermbg=grey cterm=NONE
+ hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=yellow cterm=NONE
+ hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi TabLine ctermfg=grey ctermbg=darkgrey cterm=NONE
+ hi TabLineFill ctermfg=cyan ctermbg=darkgrey cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=green ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=blue cterm=NONE
+ hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi Visual ctermfg=yellow ctermbg=darkgreen cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=black cterm=NONE
+ hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=NONE
+ hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi Error ctermfg=darkred ctermbg=white cterm=reverse
+ hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
+ hi ModeMsg ctermfg=black ctermbg=yellow cterm=NONE
+ hi WarningMsg ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
+ hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=darkred ctermbg=darkyellow cterm=NONE
+ hi MatchParen ctermfg=black ctermbg=yellow cterm=NONE
+ hi Search ctermfg=black ctermbg=darkmagenta cterm=NONE
+ hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
+ hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi Cursor ctermfg=darkgrey ctermbg=darkmagenta cterm=NONE
+ hi lCursor ctermfg=black ctermbg=red cterm=NONE
+ hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
+ hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi String ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Function ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=red ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Type ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Operator ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Define ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi Structure ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=green ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: dark
+" Color: foreground #FFFFFF 231 white
+" Color: background #262626 235 black
+" Color: color00 #000000 16 black
+" Color: color08 #333333 236 darkgrey
+" Color: color01 #FF0000 196 darkred
+" Color: color09 #FFAFAF 217 red
+" Color: color02 #5F8700 64 darkgreen
+" Color: color10 #00875F 29 green
+" Color: color03 #ffff00 226 darkyellow
+" Color: color11 #FFD700 220 yellow
+" Color: color04 #87d7FF 117 darkblue
+" Color: color12 #5F87D7 68 blue
+" Color: color05 #d7d787 186 darkmagenta
+" Color: color13 #AFAF87 144 magenta
+" Color: color06 #FFD7AF 223 darkcyan
+" Color: color14 #FF8787 210 cyan
+" Color: color07 #666666 241 grey
+" Color: color15 #FFFFFF 231 white
+" Color: color16 #D7875F 173 darkmagenta
+" Color: color17 #00FF00 46 darkgreen
+" Color: Pmenu #4A4A4A 239 darkgrey
+" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/tools/check_colors.vim b/runtime/colors/tools/check_colors.vim
index 0d8936042..7ff671caa 100644
--- a/runtime/colors/tools/check_colors.vim
+++ b/runtime/colors/tools/check_colors.vim
@@ -1,238 +1,207 @@
-" This script tests a color scheme for some errors and lists potential errors.
-" Load the scheme and source this script, like this:
-" :edit colors/desert.vim | :so colors/tools/check_colors.vim
+vim9script
+# This script tests a color scheme for some errors and lists potential errors.
+# Load the scheme and source this script, like this:
+# :edit colors/desert.vim | :ru colors/tools/check_colors.vim
-let s:save_cpo= &cpo
-set cpo&vim
+def Test_check_colors()
+ const savedview = winsaveview()
+ cursor(1, 1)
+ var err = {}
-func! Test_check_colors()
- let l:savedview = winsaveview()
- call cursor(1,1)
- let err = {}
+ # 1) Check g:colors_name is existing
+ if !search('\<\%(g:\)\?colors_name\>', 'cnW')
+ err['colors_name'] = 'g:colors_name not set'
+ else
+ err['colors_name'] = 'OK'
+ endif
- " 1) Check g:colors_name is existing
- if !search('\<\%(g:\)\?colors_name\>', 'cnW')
- let err['colors_name'] = 'g:colors_name not set'
- else
- let err['colors_name'] = 'OK'
- endif
+ # 2) Check for some well-defined highlighting groups
+ const hi_groups = [
+ 'ColorColumn',
+ 'Comment',
+ 'Conceal',
+ 'Constant',
+ 'CurSearch',
+ 'Cursor',
+ 'CursorColumn',
+ 'CursorLine',
+ 'CursorLineNr',
+ 'CursorLineFold',
+ 'CursorLineSign',
+ 'DiffAdd',
+ 'DiffChange',
+ 'DiffDelete',
+ 'DiffText',
+ 'Directory',
+ 'EndOfBuffer',
+ 'Error',
+ 'ErrorMsg',
+ 'FoldColumn',
+ 'Folded',
+ 'Identifier',
+ 'Ignore',
+ 'IncSearch',
+ 'LineNr',
+ 'LineNrAbove',
+ 'LineNrBelow',
+ 'MatchParen',
+ 'ModeMsg',
+ 'MoreMsg',
+ 'NonText',
+ 'Normal',
+ 'Pmenu',
+ 'PmenuSbar',
+ 'PmenuSel',
+ 'PmenuThumb',
+ 'PreProc',
+ 'Question',
+ 'QuickFixLine',
+ 'Search',
+ 'SignColumn',
+ 'Special',
+ 'SpecialKey',
+ 'SpellBad',
+ 'SpellCap',
+ 'SpellLocal',
+ 'SpellRare',
+ 'Statement',
+ 'StatusLine',
+ 'StatusLineNC',
+ 'StatusLineTerm',
+ 'StatusLineTermNC',
+ 'TabLine',
+ 'TabLineFill',
+ 'TabLineSel',
+ 'Title',
+ 'Todo',
+ 'ToolbarButton',
+ 'ToolbarLine',
+ 'Type',
+ 'Underlined',
+ 'VertSplit',
+ 'Visual',
+ 'VisualNOS',
+ 'WarningMsg',
+ 'WildMenu',
+ 'debugPC',
+ 'debugBreakpoint',
+ ]
+ var groups = {}
+ for group in hi_groups
+ if search('\c@suppress\s\+\<' .. group .. '\>', 'cnW') != 0
+ # skip check, if the script contains a line like
+ # @suppress Visual:
+ continue
+ endif
+ if search('hi\%[ghlight]!\= \+link \+' .. group, 'cnW') != 0 # Linked group
+ continue
+ endif
+ if search('hi\%[ghlight] \+\<' .. group .. '\>', 'cnW') == 0
+ groups[group] = 'No highlight definition for ' .. group
+ continue
+ endif
+ if search('hi\%[ghlight] \+\<' .. group .. '\>.*[bf]g=', 'cnW') == 0
+ groups[group] = 'Missing foreground or background color for ' .. group
+ continue
+ endif
+ if search('hi\%[ghlight] \+\<' .. group .. '\>.*guibg=', 'cnW') != 0
+ && search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermbg=', 'cnW') == 0
+ && group != 'Cursor'
+ groups[group] = 'Missing bg terminal color for ' .. group
+ continue
+ endif
+ if search('hi\%[ghlight] \+\<' .. group .. '\>.*guifg=', 'cnW') == 0
+ && group !~ '^Diff'
+ groups[group] = 'Missing guifg definition for ' .. group
+ continue
+ endif
+ if search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermfg=', 'cnW') == 0
+ && group !~ '^Diff'
+ && group != 'Cursor'
+ groups[group] = 'Missing ctermfg definition for ' .. group
+ continue
+ endif
+ # do not check for background colors, they could be intentionally left out
+ cursor(1, 1)
+ endfor
+ err['highlight'] = groups
- " 2) Check for some well-defined highlighting groups
- let hi_groups = [
- \ 'ColorColumn',
- \ 'Comment',
- \ 'Conceal',
- \ 'Constant',
- \ 'Cursor',
- \ 'CursorColumn',
- \ 'CursorLine',
- \ 'CursorLineNr',
- \ 'DiffAdd',
- \ 'DiffChange',
- \ 'DiffDelete',
- \ 'DiffText',
- \ 'Directory',
- \ 'EndOfBuffer',
- \ 'Error',
- \ 'ErrorMsg',
- \ 'FoldColumn',
- \ 'Folded',
- \ 'Identifier',
- \ 'Ignore',
- \ 'IncSearch',
- \ 'LineNr',
- \ 'MatchParen',
- \ 'ModeMsg',
- \ 'MoreMsg',
- \ 'NonText',
- \ 'Normal',
- \ 'Pmenu',
- \ 'PmenuSbar',
- \ 'PmenuSel',
- \ 'PmenuThumb',
- \ 'PreProc',
- \ 'Question',
- \ 'QuickFixLine',
- \ 'Search',
- \ 'SignColumn',
- \ 'Special',
- \ 'SpecialKey',
- \ 'SpellBad',
- \ 'SpellCap',
- \ 'SpellLocal',
- \ 'SpellRare',
- \ 'Statement',
- \ 'StatusLine',
- \ 'StatusLineNC',
- \ 'StatusLineTerm',
- \ 'StatusLineTermNC',
- \ 'TabLine',
- \ 'TabLineFill',
- \ 'TabLineSel',
- \ 'Title',
- \ 'Todo',
- \ 'ToolbarButton',
- \ 'ToolbarLine',
- \ 'Type',
- \ 'Underlined',
- \ 'VertSplit',
- \ 'Visual',
- \ 'VisualNOS',
- \ 'WarningMsg',
- \ 'WildMenu',
- \ ]
- let groups = {}
- for group in hi_groups
- if search('\c@suppress\s\+\<' .. group .. '\>', 'cnW')
- " skip check, if the script contains a line like
- " @suppress Visual:
- continue
- endif
- if search('hi\%[ghlight]!\= \+link \+' .. group, 'cnW') " Linked group
- continue
- endif
- if !search('hi\%[ghlight] \+\<' .. group .. '\>', 'cnW')
- let groups[group] = 'No highlight definition for ' .. group
- continue
- endif
- if !search('hi\%[ghlight] \+\<' .. group .. '\>.*[bf]g=', 'cnW')
- let groups[group] = 'Missing foreground or background color for ' .. group
- continue
- endif
- if search('hi\%[ghlight] \+\<' .. group .. '\>.*guibg=', 'cnW') &&
- \ !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermbg=', 'cnW')
- \ && group != 'Cursor'
- let groups[group] = 'Missing bg terminal color for ' .. group
- continue
- endif
- if !search('hi\%[ghlight] \+\<' .. group .. '\>.*guifg=', 'cnW')
- \ && group !~ '^Diff'
- let groups[group] = 'Missing guifg definition for ' .. group
- continue
- endif
- if !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermfg=', 'cnW')
- \ && group !~ '^Diff'
- \ && group != 'Cursor'
- let groups[group] = 'Missing ctermfg definition for ' .. group
- continue
+ # 3) Check, that it does not set background highlighting
+ # Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
+ const bg_set = '\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
+ const bg_let = 'let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
+ const bg_pat = '\%(' .. bg_set .. '\|' .. bg_let .. '\)'
+ const line = search(bg_pat, 'cnW')
+ if search(bg_pat, 'cnW') != 0
+ exe ":" .. line
+ if search('hi \U\w\+\s\+\S', 'cbnW') != 0
+ err['background'] = 'Should not set background option after :hi statement'
+ endif
+ else
+ err['background'] = 'OK'
endif
- " do not check for background colors, they could be intentionally left out
- call cursor(1,1)
- endfor
- let err['highlight'] = groups
+ cursor(1, 1)
- " 3) Check, that it does not set background highlighting
- " Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
- let bg_set = '\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
- let bg_let = 'let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
- let bg_pat = '\%(' .. bg_set .. '\|' .. bg_let .. '\)'
- let line = search(bg_pat, 'cnW')
- if search(bg_pat, 'cnW')
- exe line
- if search('hi \U\w\+\s\+\S', 'cbnW')
- let err['background'] = 'Should not set background option after :hi statement'
+ # 4) Check, that t_Co is checked
+ var pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
+ if search(pat, 'ncW') == 0
+ err['t_Co'] = 'Does not check terminal for capable colors'
endif
- else
- let err['background'] = 'OK'
- endif
- call cursor(1,1)
-
- " 4) Check, that t_Co is checked
- let pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
- if !search(pat, 'ncW')
- let err['t_Co'] = 'Does not check terminal for capable colors'
- endif
-
- " 5) Initializes correctly, e.g. should have a section like
- " hi clear
- " if exists("syntax_on")
- " syntax reset
- " endif
- let pat = 'hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
- if !search(pat, 'cnW')
- let err['init'] = 'No initialization'
- endif
- " 6) Does not use :syn on
- if search('syn\%[tax]\s\+on', 'cnW')
- let err['background'] = 'Should not issue :syn on'
- endif
+ # 5) Initializes correctly, e.g. should have at least:
+ # hi clear
+ pat = '^\s*hi\%[ghlight]\s*clear\s*$'
+ if search(pat, 'cnW') == 0
+ err['init'] = 'No initialization'
+ endif
- " 7) Does not define filetype specific groups like vimCommand, htmlTag,
- let hi_groups = filter(getcompletion('', 'filetype'), { _,v -> v !~# '\%[no]syn\%(color\|load\|tax\)' })
- let ft_groups = []
- " let group = '\%('.join(hi_groups, '\|').'\)' " More efficient than a for loop, but less informative
- for group in hi_groups
- let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\w\+\>\ze \+.' " Skips `hi clear`
- if search(pat, 'cW')
- call add(ft_groups, matchstr(getline('.'), pat))
+ # 6) Does not use :syn on
+ if search('syn\%[tax]\s\+on', 'cnW') != 0
+ err['background'] = 'Should not issue :syn on'
endif
- call cursor(1,1)
- endfor
- if !empty(ft_groups)
- let err['filetype'] = get(err, 'filetype', 'Should not define: ') . join(uniq(sort(ft_groups)))
- endif
- " 8) Were debugPC and debugBreakpoint defined?
- for group in ['debugPC', 'debugBreakpoint']
- let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\>'
- if search(pat, 'cnW')
- let line = search(pat, 'cW')
- let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
+ # 7) Normal should be defined first, not use reverse, fg or bg
+ cursor(1, 1)
+ pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>'
+ search(pat, 'cW') # Look for the first hi def, skipping `hi link` and `hi clear`
+ if getline('.') !~# '\m\<Normal\>'
+ err['highlight']['Normal'] = 'Should be defined first'
+ elseif getline('.') =~# '\m\%(=\%(fg\|bg\)\)'
+ err['highlight']['Normal'] = "Should not use 'fg' or 'bg'"
+ elseif getline('.') =~# '\m=\%(inv\|rev\)erse'
+ err['highlight']['Normal'] = 'Should not use reverse mode'
endif
- call cursor(1,1)
- endfor
- " 9) Normal should be defined first, not use reverse, fg or bg
- call cursor(1,1)
- let pat = 'hi\%[ghlight] \+\%(link\|clear\)\@!\w\+\>'
- call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
- if getline('.') !~# '\m\<Normal\>'
- let err['highlight']['Normal'] = 'Should be defined first'
- elseif getline('.') =~# '\m\%(=\%(fg\|bg\)\)'
- let err['highlight']['Normal'] = "Should not use 'fg' or 'bg'"
- elseif getline('.') =~# '\m=\%(inv\|rev\)erse'
- let err['highlight']['Normal'] = 'Should not use reverse mode'
- endif
+ # 8) TODO: XXX: Check if g:terminal_ansi_colors are defined
- call winrestview(l:savedview)
- let g:err = err
+ winrestview(savedview)
+ g:err = err
- " print Result
- call Result(err)
-endfu
+ Result(err)
+enddef
-fu! Result(err)
- let do_groups = 0
- echohl Title|echomsg "---------------"|echohl Normal
- for key in sort(keys(a:err))
- if key is# 'highlight'
- let do_groups = !empty(a:err[key])
- continue
- else
- if a:err[key] !~ 'OK'
- echohl Title
- endif
- echomsg printf("%15s: %s", key, a:err[key])
- echohl Normal
- endif
- endfor
- echohl Title|echomsg "---------------"|echohl Normal
- if do_groups
- echohl Title | echomsg "Groups" | echohl Normal
- for v1 in sort(keys(a:err['highlight']))
- echomsg printf("%25s: %s", v1, a:err['highlight'][v1])
+def Result(err: any)
+ var do_groups: bool = v:false
+ echohl Title | echomsg "---------------" | echohl Normal
+ for key in sort(keys(err))
+ if key is 'highlight'
+ do_groups = !empty(err[key])
+ continue
+ else
+ if err[key] !~ 'OK'
+ echohl Title
+ endif
+ echomsg printf("%15s: %s", key, err[key])
+ echohl Normal
+ endif
endfor
- endif
-endfu
+ echohl Title | echomsg "---------------" | echohl Normal
+ if do_groups
+ echohl Title | echomsg "Groups" | echohl Normal
+ for v1 in sort(keys(err['highlight']))
+ echomsg printf("%25s: %s", v1, err['highlight'][v1])
+ endfor
+ endif
+enddef
-try
- call Test_check_colors()
-catch
- echohl ErrorMsg
- echomsg v:exception
- echohl NONE
-finally
- let &cpo = s:save_cpo
- unlet s:save_cpo
-endtry
+Test_check_colors()
diff --git a/runtime/colors/torte.vim b/runtime/colors/torte.vim
index 0e7a916a1..fc9605b47 100644
--- a/runtime/colors/torte.vim
+++ b/runtime/colors/torte.vim
@@ -1,50 +1,362 @@
-" Vim color file
-" Maintainer: Thorsten Maerz <info@netztorte.de>
-" Last Change: 2006 Dec 07
-" grey on black
-" optimized for TFT panels
+" Name: torte
+" Description: Remake of torte (grey on black)
+" Author: Original maintainer Thorsten Maerz <info@netztorte.de>
+" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:46 2022
+
+" Generated by Colortemplate v2.2.0
set background=dark
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'torte'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
-"colorscheme default
-let g:colors_name = "torte"
-
-" hardcoded colors :
-" GUI Comment : #80a0ff = Light blue
-
-" GUI
-highlight Normal guifg=Grey80 guibg=Black
-highlight Search guifg=Black guibg=Red gui=bold
-highlight Visual guifg=#404040 gui=bold
-highlight Cursor guifg=Black guibg=Green gui=bold
-highlight Special guifg=Orange
-highlight Comment guifg=#80a0ff
-highlight StatusLine guifg=blue guibg=white
-highlight Statement guifg=Yellow gui=NONE
-highlight Type gui=NONE
-
-" Console
-highlight Normal ctermfg=LightGrey ctermbg=Black
-highlight Search ctermfg=Black ctermbg=Red cterm=NONE
-highlight Visual cterm=reverse
-highlight Cursor ctermfg=Black ctermbg=Green cterm=bold
-highlight Special ctermfg=Brown
-highlight Comment ctermfg=Blue
-highlight StatusLine ctermfg=blue ctermbg=white
-highlight Statement ctermfg=Yellow cterm=NONE
-highlight Type cterm=NONE
-
-" only for vim 5
-if has("unix")
- if v:version<600
- highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE
- highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold
- highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=#404040 gui=bold
- highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue gui=NONE
- highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue gui=NONE
- endif
+hi Normal guifg=#cccccc guibg=#000000 gui=NONE cterm=NONE
+hi! link StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#40ffff guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#ffff60 guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#60ff60 guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
+hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
+hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
+hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
+hi Todo guifg=#ffff00 guibg=#000000 gui=reverse cterm=reverse
+hi Folded guifg=#00cdcd guibg=#3a3a3a gui=NONE cterm=NONE
+hi Visual guifg=#000000 guibg=#a9a9a9 gui=bold cterm=NONE
+hi CursorColumn guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff00 guibg=#666666 gui=NONE cterm=NONE
+hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi ColorColumn guifg=#cccccc guibg=#8b0000 gui=NONE cterm=NONE
+hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
+hi Cursor guifg=#000000 guibg=#00ff00 gui=bold cterm=NONE
+hi lCursor guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
+hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi Search guifg=#ff0000 guibg=#000000 gui=reverse cterm=reverse
+hi IncSearch guifg=#00cd00 guibg=#000000 gui=reverse cterm=reverse
+hi NonText guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi EndOfBuffer guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi ErrorMsg guifg=#ffffff guibg=#cd0000 gui=NONE cterm=NONE
+hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi LineNr guifg=#7f7f7f guibg=NONE gui=NONE cterm=NONE
+hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
+hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
+hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi QuickFixLine guifg=#000000 guibg=#cdcd00 gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#5c5cff guibg=NONE guisp=#5c5cff gui=undercurl cterm=underline
+hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
+hi SpellRare guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
+hi StatusLine guifg=#ffffff guibg=#0000ee gui=bold cterm=NONE
+hi StatusLineNC guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
+hi VertSplit guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
+hi TabLine guifg=#ffffff guibg=#7f7f7f gui=NONE cterm=NONE
+hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
+hi TabLineSel guifg=#cccccc guibg=#000000 gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
+hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
+hi Pmenu guifg=fg guibg=#303030 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#bebebe gui=NONE cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=251 ctermbg=16 cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=83 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=214 ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
+ hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
+ hi Error ctermfg=231 ctermbg=196 cterm=NONE
+ hi Todo ctermfg=226 ctermbg=16 cterm=reverse
+ hi Folded ctermfg=44 ctermbg=237 cterm=NONE
+ hi Visual ctermfg=16 ctermbg=248 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=242 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=242 cterm=NONE
+ hi CursorLineNr ctermfg=226 ctermbg=242 cterm=NONE
+ hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=51 ctermbg=NONE cterm=NONE
+ hi ColorColumn ctermfg=251 ctermbg=88 cterm=NONE
+ hi Conceal ctermfg=254 ctermbg=248 cterm=NONE
+ hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=254 cterm=NONE
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
+ hi Search ctermfg=196 ctermbg=16 cterm=reverse
+ hi IncSearch ctermfg=40 ctermbg=16 cterm=reverse
+ hi NonText ctermfg=21 ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=21 ctermbg=NONE cterm=NONE
+ hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
+ hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
+ hi LineNr ctermfg=102 ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=30 cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
+ hi Question ctermfg=46 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi QuickFixLine ctermfg=16 ctermbg=184 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=63 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=51 ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=231 ctermbg=20 cterm=NONE
+ hi StatusLineNC ctermfg=16 ctermbg=254 cterm=NONE
+ hi VertSplit ctermfg=16 ctermbg=254 cterm=NONE
+ hi TabLine ctermfg=231 ctermbg=102 cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=16 cterm=reverse
+ hi TabLineSel ctermfg=251 ctermbg=16 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
+ hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
+ hi Pmenu ctermfg=fg ctermbg=236 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=250 cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 16
+ hi Normal ctermfg=white ctermbg=black cterm=NONE
+ hi! link StatusLineTerm StatusLine
+ hi! link StatusLineTermNC StatusLineNC
+ hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Type ctermfg=green ctermbg=NONE cterm=NONE
+ hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi Ignore ctermfg=black ctermbg=black cterm=NONE
+ hi Error ctermfg=white ctermbg=red cterm=NONE
+ hi Todo ctermfg=yellow ctermbg=black cterm=reverse
+ hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=black ctermbg=grey cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
+ hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
+ hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
+ hi Cursor ctermfg=black ctermbg=green cterm=NONE
+ hi lCursor ctermfg=black ctermbg=grey cterm=NONE
+ hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
+ hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi Search ctermfg=red ctermbg=black cterm=reverse
+ hi IncSearch ctermfg=darkgreen ctermbg=black cterm=reverse
+ hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
+ hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
+ hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
+ hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+ hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
+ hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Question ctermfg=green ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=cyan ctermbg=NONE cterm=underline
+ hi StatusLine ctermfg=white ctermbg=darkblue cterm=NONE
+ hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
+ hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
+ hi TabLine ctermfg=white ctermbg=darkgrey cterm=NONE
+ hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
+ hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
+ hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
+ hi Pmenu ctermfg=fg ctermbg=darkgrey cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
endif
+" Background: dark
+" Color: foreground #CCCCCC 251 white
+" Color: background #000000 16 black
+" Color: color00 #000000 16 black
+" Color: color08 #7f7f7f 102 darkgrey
+" Color: color01 #cd0000 160 darkred
+" Color: color09 #ff0000 196 red
+" Color: color02 #00cd00 40 darkgreen
+" Color: color10 #00ff00 46 green
+" Color: color03 #cdcd00 184 darkyellow
+" Color: color11 #ffff00 226 yellow
+" Color: color04 #0000ee 20 darkblue
+" Color: color12 #5c5cff 63 blue
+" Color: color05 #cd00cd 164 darkmagenta
+" Color: color13 #ff00ff 201 magenta
+" Color: color06 #00cdcd 44 darkcyan
+" Color: color14 #00ffff 51 cyan
+" Color: color07 #e5e5e5 254 grey
+" Color: color15 #ffffff 231 white
+" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Color: rgbGrey40 #666666 242 grey
+" Color: rgbDarkGrey #a9a9a9 248 grey
+" Color: rgbDarkBlue #00008b 18 darkblue
+" Color: rgbDarkMagenta #8b008b 90 darkmagenta
+" Color: rgbBlue #0000ff 21 blue
+" Color: rgbDarkCyan #008b8b 30 darkcyan
+" Color: Directory #00ffff 51 cyan
+" Color: rgbSeaGreen #2e8b57 29 darkgreen
+" Color: rgbGrey #bebebe 250 grey
+" Color: Question #00ff00 46 green
+" Color: SignColumn #a9a9a9 248 black
+" Color: SpecialKey #00ffff 51 cyan
+" Color: StatusLineTerm #90ee90 120 darkgreen
+" Color: Title #ff00ff 201 magenta
+" Color: WarningMsg #ff0000 196 red
+" Color: ToolbarLine #7f7f7f 243 black
+" Color: ToolbarButton #d3d3d3 252 darkgrey
+" Color: Comment #80a0ff 111 blue
+" Color: Constant #ffa0a0 217 darkmagenta
+" Color: Special #ffa500 214 darkred
+" Color: Identifier #40ffff 87 cyan
+" Color: Statement #ffff60 227 yellow
+" Color: PreProc #ff80ff 213 darkcyan
+" Color: Type #60ff60 83 green
+" Color: Underlined #80a0ff 111 blue
+" Color: FoldedBG #3a3a3a 237 darkgrey
+" Color: Pmenu #303030 236 darkgrey
+" Color: rgbDarkRed #8b0000 88 darkred
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/colors/zellner.vim b/runtime/colors/zellner.vim
index ab875825c..0fbf53c89 100644
--- a/runtime/colors/zellner.vim
+++ b/runtime/colors/zellner.vim
@@ -1,54 +1,341 @@
-" local syntax file - set colors on a per-machine basis:
-" vim: tw=0 ts=4 sw=4
-" Vim color file
-" Maintainer: Ron Aaron <ron@ronware.org>
-" Last Change: 2003 May 02
+" Name: zellner
+" Description: Light background colorscheme.
+" Author: Original author Ron Aaron <ron@ronware.org>
+" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
+" Website: https://github.com/vim/colorschemes
+" License: Same as Vim
+" Last Updated: Wed May 11 22:56:47 2022
+
+" Generated by Colortemplate v2.2.0
set background=light
+
hi clear
-if exists("syntax_on")
- syntax reset
+let g:colors_name = 'zellner'
+
+let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
+
+if (has('termguicolors') && &termguicolors) || has('gui_running')
+ let g:terminal_ansi_colors = ['#ffffff', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#a9a9a9', '#ff0000', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#000000']
+endif
+hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
+hi CursorColumn guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
+hi QuickFixLine guifg=#ffffff guibg=#6a5acd gui=NONE cterm=NONE
+hi EndOfBuffer guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
+hi StatusLine guifg=#ffff00 guibg=#a9a9a9 gui=NONE cterm=NONE
+hi StatusLineNC guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi StatusLineTerm guifg=#ffffff guibg=#006400 gui=NONE cterm=NONE
+hi StatusLineTermNC guifg=#ffffff guibg=#0000ff gui=NONE cterm=NONE
+hi VertSplit guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi Pmenu guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
+hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi PmenuSbar guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
+hi PmenuThumb guifg=NONE guibg=#a9a9a9 gui=NONE cterm=NONE
+hi TabLine guifg=#000000 guibg=#a9a9a9 gui=underline cterm=underline
+hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
+hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
+hi ToolbarLine guifg=NONE guibg=#d3d3d3 gui=NONE cterm=NONE
+hi ToolbarButton guifg=NONE guibg=#a9a9a9 gui=bold cterm=NONE
+hi NonText guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
+hi SpecialKey guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
+hi Visual guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi VisualNOS guifg=NONE guibg=#ff0000 gui=NONE cterm=NONE
+hi LineNr guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
+hi FoldColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
+hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
+hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
+hi WarningMsg guifg=#a020f0 guibg=#ffffff gui=NONE cterm=NONE
+hi MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
+hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
+hi Question guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi MatchParen guifg=#ffffff guibg=#ff00ff gui=NONE cterm=NONE
+hi Search guifg=#ffffff guibg=#a020f0 gui=NONE cterm=NONE
+hi IncSearch guifg=#000000 guibg=NONE gui=reverse cterm=reverse
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
+hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
+hi Cursor guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+hi lCursor guifg=#000000 guibg=#ff00ff gui=NONE cterm=NONE
+hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
+hi SpellCap guifg=#0000ff guibg=NONE guisp=#0000ff gui=undercurl cterm=underline
+hi SpellLocal guifg=#878700 guibg=NONE guisp=#878700 gui=undercurl cterm=underline
+hi SpellRare guifg=#008787 guibg=NONE guisp=#008787 gui=undercurl cterm=underline
+hi Comment guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
+hi Identifier guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
+hi Statement guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
+hi PreProc guifg=#a020f0 guibg=NONE gui=NONE cterm=NONE
+hi Type guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
+hi Special guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
+hi Tag guifg=#006400 guibg=NONE gui=NONE cterm=NONE
+hi Directory guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi Conceal guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
+hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi Title guifg=#a020f0 guibg=NONE gui=bold cterm=NONE
+hi! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
+hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
+
+if s:t_Co >= 256
+ hi Normal ctermfg=16 ctermbg=231 cterm=NONE
+ hi Folded ctermfg=18 ctermbg=252 cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
+ hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
+ hi CursorLineNr ctermfg=124 ctermbg=NONE cterm=NONE
+ hi QuickFixLine ctermfg=231 ctermbg=62 cterm=NONE
+ hi EndOfBuffer ctermfg=248 ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=226 ctermbg=248 cterm=NONE
+ hi StatusLineNC ctermfg=231 ctermbg=16 cterm=NONE
+ hi StatusLineTerm ctermfg=231 ctermbg=22 cterm=NONE
+ hi StatusLineTermNC ctermfg=231 ctermbg=21 cterm=NONE
+ hi VertSplit ctermfg=231 ctermbg=16 cterm=NONE
+ hi Pmenu ctermfg=16 ctermbg=253 cterm=NONE
+ hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=231 cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=248 cterm=NONE
+ hi TabLine ctermfg=16 ctermbg=248 cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=16 ctermbg=231 cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=252 cterm=NONE
+ hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=NONE
+ hi NonText ctermfg=248 ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=248 ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=16 ctermbg=226 cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=196 cterm=NONE
+ hi LineNr ctermfg=124 ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=18 ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
+ hi Error ctermfg=196 ctermbg=231 cterm=reverse
+ hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
+ hi WarningMsg ctermfg=129 ctermbg=231 cterm=NONE
+ hi MoreMsg ctermfg=16 ctermbg=231 cterm=NONE
+ hi ModeMsg ctermfg=16 ctermbg=231 cterm=NONE
+ hi Question ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=16 ctermbg=226 cterm=NONE
+ hi MatchParen ctermfg=231 ctermbg=201 cterm=NONE
+ hi Search ctermfg=231 ctermbg=129 cterm=NONE
+ hi IncSearch ctermfg=16 ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
+ hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
+ hi lCursor ctermfg=16 ctermbg=201 cterm=NONE
+ hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=21 ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=100 ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=30 ctermbg=NONE cterm=underline
+ hi Comment ctermfg=196 ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=129 ctermbg=NONE cterm=NONE
+ hi Type ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Special ctermfg=201 ctermbg=NONE cterm=NONE
+ hi Tag ctermfg=22 ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=21 ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=196 ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=129 ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
+ hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
+ hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
+ hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
+ unlet s:t_Co
+ finish
endif
-let g:colors_name = "zellner"
-
-hi Comment term=bold ctermfg=Red guifg=Red
-hi Normal guifg=black guibg=white
-hi Constant term=underline ctermfg=Magenta guifg=Magenta
-hi Special term=bold ctermfg=Magenta guifg=Magenta
-hi Identifier term=underline ctermfg=Blue guifg=Blue
-hi Statement term=bold ctermfg=DarkRed gui=NONE guifg=Brown
-hi PreProc term=underline ctermfg=Magenta guifg=Purple
-hi Type term=underline ctermfg=Blue gui=NONE guifg=Blue
-hi Visual term=reverse ctermfg=Yellow ctermbg=Red gui=NONE guifg=Black guibg=Yellow
-hi Search term=reverse ctermfg=Black ctermbg=Cyan gui=NONE guifg=Black guibg=Cyan
-hi Tag term=bold ctermfg=DarkGreen guifg=DarkGreen
-hi Error term=reverse ctermfg=15 ctermbg=9 guibg=Red guifg=White
-hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
-hi StatusLine term=bold,reverse cterm=NONE ctermfg=Yellow ctermbg=DarkGray gui=NONE guifg=Yellow guibg=DarkGray
-hi! link MoreMsg Comment
-hi! link ErrorMsg Visual
-hi! link WarningMsg ErrorMsg
-hi! link Question Comment
-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 SpecialChar Special
-hi link Delimiter Special
-hi link SpecialComment Special
-hi link Debug Special
+
+if s:t_Co >= 16
+ hi Normal ctermfg=black ctermbg=white cterm=NONE
+ hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+ hi CursorLineNr ctermfg=darkred ctermbg=NONE cterm=underline
+ hi QuickFixLine ctermfg=white ctermbg=blue cterm=NONE
+ hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
+ hi StatusLine ctermfg=yellow ctermbg=darkgrey cterm=NONE
+ hi StatusLineNC ctermfg=white ctermbg=black cterm=NONE
+ hi StatusLineTerm ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi StatusLineTermNC ctermfg=white ctermbg=blue cterm=NONE
+ hi VertSplit ctermfg=white ctermbg=black cterm=NONE
+ hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
+ hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
+ hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
+ hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
+ hi TabLine ctermfg=black ctermbg=grey cterm=underline
+ hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+ hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
+ hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
+ hi ToolbarButton ctermfg=NONE ctermbg=grey cterm=NONE
+ hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
+ hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
+ hi Visual ctermfg=black ctermbg=yellow cterm=NONE
+ hi VisualNOS ctermfg=NONE ctermbg=red cterm=NONE
+ hi LineNr ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi FoldColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
+ hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
+ hi Error ctermfg=red ctermbg=white cterm=reverse
+ hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
+ hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
+ hi MoreMsg ctermfg=black ctermbg=white cterm=NONE
+ hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
+ hi Question ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Todo ctermfg=black ctermbg=yellow cterm=NONE
+ hi MatchParen ctermfg=white ctermbg=magenta cterm=NONE
+ hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
+ hi IncSearch ctermfg=black ctermbg=NONE cterm=reverse
+ hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
+ hi ColorColumn ctermfg=NONE ctermbg=grey cterm=NONE
+ hi Cursor ctermfg=white ctermbg=black cterm=NONE
+ hi lCursor ctermfg=black ctermbg=magenta cterm=NONE
+ hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+ hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
+ hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=underline
+ hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
+ hi Comment ctermfg=red ctermbg=NONE cterm=NONE
+ hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Identifier ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
+ hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi Type ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
+ hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE
+ hi Directory ctermfg=blue ctermbg=NONE cterm=NONE
+ hi Conceal ctermfg=red ctermbg=NONE cterm=NONE
+ hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+ hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+ hi! link Terminal Normal
+ hi! link LineNrAbove LineNr
+ hi! link LineNrBelow LineNr
+ hi! link CurSearch Search
+ hi! link CursorLineFold CursorLine
+ hi! link CursorLineSign CursorLine
+ hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+ hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+ hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+ hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+ unlet s:t_Co
+ finish
+endif
+
+if s:t_Co >= 0
+ hi Normal term=NONE
+ hi ColorColumn term=reverse
+ hi Conceal term=NONE
+ hi Cursor term=reverse
+ hi CursorColumn term=NONE
+ hi CursorLine term=underline
+ hi CursorLineNr term=bold
+ hi DiffAdd term=reverse
+ hi DiffChange term=NONE
+ hi DiffDelete term=reverse
+ hi DiffText term=reverse
+ hi Directory term=NONE
+ hi EndOfBuffer term=NONE
+ hi ErrorMsg term=bold,reverse
+ hi FoldColumn term=NONE
+ hi Folded term=NONE
+ hi IncSearch term=bold,reverse,underline
+ hi LineNr term=NONE
+ hi MatchParen term=bold,underline
+ hi ModeMsg term=bold
+ hi MoreMsg term=NONE
+ hi NonText term=NONE
+ hi Pmenu term=reverse
+ hi PmenuSbar term=reverse
+ hi PmenuSel term=bold
+ hi PmenuThumb term=NONE
+ hi Question term=standout
+ hi Search term=reverse
+ hi SignColumn term=reverse
+ hi SpecialKey term=bold
+ hi SpellBad term=underline
+ hi SpellCap term=underline
+ hi SpellLocal term=underline
+ hi SpellRare term=underline
+ hi StatusLine term=bold,reverse
+ hi StatusLineNC term=bold,underline
+ hi TabLine term=bold,underline
+ hi TabLineFill term=NONE
+ hi Terminal term=NONE
+ hi TabLineSel term=bold,reverse
+ hi Title term=NONE
+ hi VertSplit term=NONE
+ hi Visual term=reverse
+ hi VisualNOS term=NONE
+ hi WarningMsg term=standout
+ hi WildMenu term=bold
+ hi CursorIM term=NONE
+ hi ToolbarLine term=reverse
+ hi ToolbarButton term=bold,reverse
+ hi CurSearch term=reverse
+ hi CursorLineFold term=underline
+ hi CursorLineSign term=underline
+ hi Comment term=bold
+ hi Constant term=NONE
+ hi Error term=bold,reverse
+ hi Identifier term=NONE
+ hi Ignore term=NONE
+ hi PreProc term=NONE
+ hi Special term=NONE
+ hi Statement term=NONE
+ hi Todo term=bold,reverse
+ hi Type term=NONE
+ hi Underlined term=underline
+ unlet s:t_Co
+ finish
+endif
+
+" Background: light
+" Color: comment #ff0000 196 red
+" Color: constant #ff00ff 201 magenta
+" Color: identifier #0000ff 21 blue
+" Color: statement #a52a2a 124 darkred
+" Color: preproc #a020f0 129 darkmagenta
+" Color: type #0000ff 21 blue
+" Color: special #ff00ff 201 magenta
+" Color: tag #006400 22 darkgreen
+" Color: fg0 #000000 16 black
+" Color: bg0 #ffffff 231 white
+" Color: bg1 #a9a9a9 248 grey
+" Color: status #a9a9a9 248 darkgrey
+" Color: visual #ffff00 226 yellow
+" Color: folded #d3d3d3 252 black
+" Color: folded_fg #00008b 18 darkblue
+" Color: cursorline #e5e5e5 254 black
+" Color: pmenu #dadada 253 grey
+" Color: wildmenu #ffff00 226 yellow
+" Color: error #ff0000 196 red
+" Color: linenr #a52a2a 124 darkred
+" Color: colorcolumn #eeeeee 255 grey
+" Color: slateblue #6a5acd 62 blue
+" Color: darkcyan #008787 30 darkcyan
+" Color: darkgreen #008700 28 darkgreen
+" Color: darkyellow #878700 100 darkyellow
+" Term colors: bg0 statement constant preproc identifier type special bg1
+" Term colors: comment statement constant preproc identifier type special fg0
+" Color: bgDiffA #5F875F 65 darkgreen
+" Color: bgDiffC #5F87AF 67 blue
+" Color: bgDiffD #AF5FAF 133 magenta
+" Color: bgDiffT #C6C6C6 251 grey
+" Color: fgDiffW #FFFFFF 231 white
+" Color: fgDiffB #000000 16 black
+" vim: et ts=2 sw=2
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index 367804087..2942e5dac 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -144,7 +144,9 @@ DOCS = \
usr_43.txt \
usr_44.txt \
usr_45.txt \
- usr_46.txt \
+ usr_50.txt \
+ usr_51.txt \
+ usr_52.txt \
usr_90.txt \
usr_toc.txt \
various.txt \
@@ -290,7 +292,9 @@ HTMLS = \
usr_43.html \
usr_44.html \
usr_45.html \
- usr_46.html \
+ usr_50.html \
+ usr_51.html \
+ usr_52.html \
usr_90.html \
usr_toc.html \
various.html \
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index db70b711a..86b968634 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.2. Last change: 2022 May 11
+*eval.txt* For Vim version 8.2. Last change: 2022 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2960,7 +2960,7 @@ the "autoload" directory in 'runtimepath'.
Using an autocommand ~
-This is introduced in the user manual, section |41.14|.
+This is introduced in the user manual, section |51.4|.
The autocommand is useful if you have a plugin that is a long Vim script file.
You can define the autocommand and quickly quit the script with `:finish`.
@@ -2978,7 +2978,7 @@ The file "~/vim/bufnetfuncs.vim" should then define functions that start with
Using an autoload script ~
*autoload* *E746*
-This is introduced in the user manual, section |41.15|.
+This is introduced in the user manual, section |51.5|.
Using a script in the "autoload" directory is simpler, but requires using
exactly the right file name. A function that can be autoloaded has a name
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 14cf1309b..2adf65117 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt* For Vim version 8.2. Last change: 2022 Feb 26
+*help.txt* For Vim version 8.2. Last change: 2022 May 13
VIM - main help file
k
@@ -88,12 +88,15 @@ Tuning Vim ~
|usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language
-|usr_46.txt| Write plugins using Vim9 script
+
+Writing Vim scripts ~
+|usr_50.txt| Advanced Vim script writing
+|usr_51.txt| Create a plugin
+|usr_52.txt| Write plugins using Vim9 script
Making Vim Run ~
|usr_90.txt| Installing Vim
-
REFERENCE MANUAL: These files explain every detail of Vim. *reference_toc*
General subjects ~
diff --git a/runtime/doc/tags b/runtime/doc/tags
index ad7f6bb40..80154827c 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1915,12 +1915,6 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
40.3 usr_40.txt /*40.3*
41.1 usr_41.txt /*41.1*
41.10 usr_41.txt /*41.10*
-41.11 usr_41.txt /*41.11*
-41.12 usr_41.txt /*41.12*
-41.13 usr_41.txt /*41.13*
-41.14 usr_41.txt /*41.14*
-41.15 usr_41.txt /*41.15*
-41.16 usr_41.txt /*41.16*
41.2 usr_41.txt /*41.2*
41.3 usr_41.txt /*41.3*
41.4 usr_41.txt /*41.4*
@@ -1953,10 +1947,17 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
45.3 usr_45.txt /*45.3*
45.4 usr_45.txt /*45.4*
45.5 usr_45.txt /*45.5*
-46.1 usr_46.txt /*46.1*
-46.2 usr_46.txt /*46.2*
-46.3 usr_46.txt /*46.3*
-46.? usr_46.txt /*46.?*
+50.1 usr_50.txt /*50.1*
+51.1 usr_51.txt /*51.1*
+51.2 usr_51.txt /*51.2*
+51.3 usr_51.txt /*51.3*
+51.4 usr_51.txt /*51.4*
+51.5 usr_51.txt /*51.5*
+51.6 usr_51.txt /*51.6*
+52.1 usr_52.txt /*52.1*
+52.2 usr_52.txt /*52.2*
+52.3 usr_52.txt /*52.3*
+52.4 usr_52.txt /*52.4*
8g8 various.txt /*8g8*
90.1 usr_90.txt /*90.1*
90.2 usr_90.txt /*90.2*
@@ -2026,7 +2027,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:Break terminal.txt /*:Break*
:Cfilter quickfix.txt /*:Cfilter*
:Clear terminal.txt /*:Clear*
-:CompilerSet usr_41.txt /*:CompilerSet*
+:CompilerSet usr_51.txt /*:CompilerSet*
:Continue terminal.txt /*:Continue*
:DiffOrig diff.txt /*:DiffOrig*
:DoMatchParen pi_paren.txt /*:DoMatchParen*
@@ -6493,7 +6494,7 @@ dircolors.vim syntax.txt /*dircolors.vim*
dis motion.txt /*dis*
disable-menus gui.txt /*disable-menus*
discard editing.txt /*discard*
-distribute-script usr_41.txt /*distribute-script*
+distribute-script usr_51.txt /*distribute-script*
distribution intro.txt /*distribution*
diw motion.txt /*diw*
dl change.txt /*dl*
@@ -7028,11 +7029,11 @@ ft_rust.txt ft_rust.txt /*ft_rust.txt*
ft_sql.txt ft_sql.txt /*ft_sql.txt*
ftdetect filetype.txt /*ftdetect*
ftp pi_netrw.txt /*ftp*
-ftplugin usr_41.txt /*ftplugin*
+ftplugin usr_51.txt /*ftplugin*
ftplugin-docs filetype.txt /*ftplugin-docs*
ftplugin-name usr_05.txt /*ftplugin-name*
ftplugin-overrule filetype.txt /*ftplugin-overrule*
-ftplugin-special usr_41.txt /*ftplugin-special*
+ftplugin-special usr_51.txt /*ftplugin-special*
ftplugins usr_05.txt /*ftplugins*
fullcommand() builtin.txt /*fullcommand()*
funcref() builtin.txt /*funcref()*
@@ -8860,8 +8861,8 @@ plaintex.vim syntax.txt /*plaintex.vim*
plsql ft_sql.txt /*plsql*
plugin usr_05.txt /*plugin*
plugin-details filetype.txt /*plugin-details*
-plugin-filetype usr_41.txt /*plugin-filetype*
-plugin-special usr_41.txt /*plugin-special*
+plugin-filetype usr_51.txt /*plugin-filetype*
+plugin-special usr_51.txt /*plugin-special*
plugin_name.txt helphelp.txt /*plugin_name.txt*
pmbcs-option print.txt /*pmbcs-option*
pmbfn-option print.txt /*pmbfn-option*
@@ -9409,7 +9410,7 @@ sound_playevent() builtin.txt /*sound_playevent()*
sound_playfile() builtin.txt /*sound_playfile()*
sound_stop() builtin.txt /*sound_stop()*
soundfold() builtin.txt /*soundfold()*
-source-vim9-script usr_46.txt /*source-vim9-script*
+source-vim9-script usr_52.txt /*source-vim9-script*
space intro.txt /*space*
spec-customizing pi_spec.txt /*spec-customizing*
spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it*
@@ -10171,8 +10172,8 @@ type-casting vim9.txt /*type-casting*
type-checking vim9.txt /*type-checking*
type-inference vim9.txt /*type-inference*
type-mistakes tips.txt /*type-mistakes*
-typecorrect-settings usr_41.txt /*typecorrect-settings*
-typecorrect.txt usr_41.txt /*typecorrect.txt*
+typecorrect-settings usr_51.txt /*typecorrect-settings*
+typecorrect.txt usr_51.txt /*typecorrect.txt*
typename() builtin.txt /*typename()*
u undo.txt /*u*
uganda uganda.txt /*uganda*
@@ -10189,8 +10190,8 @@ undo-remarks undo.txt /*undo-remarks*
undo-tree undo.txt /*undo-tree*
undo-two-ways undo.txt /*undo-two-ways*
undo.txt undo.txt /*undo.txt*
-undo_ftplugin usr_41.txt /*undo_ftplugin*
-undo_indent usr_41.txt /*undo_indent*
+undo_ftplugin usr_51.txt /*undo_ftplugin*
+undo_indent usr_51.txt /*undo_indent*
undofile() builtin.txt /*undofile()*
undotree() builtin.txt /*undotree()*
unicode mbyte.txt /*unicode*
@@ -10200,7 +10201,7 @@ unlisted-buffer windows.txt /*unlisted-buffer*
up-down-motions motion.txt /*up-down-motions*
uppercase change.txt /*uppercase*
urxvt-mouse options.txt /*urxvt-mouse*
-use-cpo-save usr_41.txt /*use-cpo-save*
+use-cpo-save usr_51.txt /*use-cpo-save*
use-visual-cmds version4.txt /*use-visual-cmds*
useful-mappings tips.txt /*useful-mappings*
usenet intro.txt /*usenet*
@@ -10208,7 +10209,7 @@ user-cmd-ambiguous map.txt /*user-cmd-ambiguous*
user-commands map.txt /*user-commands*
user-functions eval.txt /*user-functions*
user-manual usr_toc.txt /*user-manual*
-using-<Plug> usr_41.txt /*using-<Plug>*
+using-<Plug> usr_51.txt /*using-<Plug>*
using-menus gui.txt /*using-menus*
using-scripts repeat.txt /*using-scripts*
using-xxd tips.txt /*using-xxd*
@@ -10244,7 +10245,9 @@ usr_42.txt usr_42.txt /*usr_42.txt*
usr_43.txt usr_43.txt /*usr_43.txt*
usr_44.txt usr_44.txt /*usr_44.txt*
usr_45.txt usr_45.txt /*usr_45.txt*
-usr_46.txt usr_46.txt /*usr_46.txt*
+usr_50.txt usr_50.txt /*usr_50.txt*
+usr_51.txt usr_51.txt /*usr_51.txt*
+usr_52.txt usr_52.txt /*usr_52.txt*
usr_90.txt usr_90.txt /*usr_90.txt*
usr_toc.txt usr_toc.txt /*usr_toc.txt*
utf-8 mbyte.txt /*utf-8*
@@ -10570,7 +10573,7 @@ vim9-const vim9.txt /*vim9-const*
vim9-curly vim9.txt /*vim9-curly*
vim9-debug repeat.txt /*vim9-debug*
vim9-declaration vim9.txt /*vim9-declaration*
-vim9-declarations usr_46.txt /*vim9-declarations*
+vim9-declarations usr_52.txt /*vim9-declarations*
vim9-differences vim9.txt /*vim9-differences*
vim9-export vim9.txt /*vim9-export*
vim9-final vim9.txt /*vim9-final*
@@ -10589,7 +10592,7 @@ vim9-rationale vim9.txt /*vim9-rationale*
vim9-reload vim9.txt /*vim9-reload*
vim9-s-namespace vim9.txt /*vim9-s-namespace*
vim9-scopes vim9.txt /*vim9-scopes*
-vim9-script-intro usr_46.txt /*vim9-script-intro*
+vim9-script-intro usr_52.txt /*vim9-script-intro*
vim9-types vim9.txt /*vim9-types*
vim9-unpack-ignore vim9.txt /*vim9-unpack-ignore*
vim9-user-command vim9.txt /*vim9-user-command*
@@ -10772,15 +10775,15 @@ workshop workshop.txt /*workshop*
workshop-support workshop.txt /*workshop-support*
workshop.txt workshop.txt /*workshop.txt*
wrap-off intro.txt /*wrap-off*
-write-compiler-plugin usr_41.txt /*write-compiler-plugin*
+write-compiler-plugin usr_51.txt /*write-compiler-plugin*
write-device editing.txt /*write-device*
write-fail editing.txt /*write-fail*
-write-filetype-plugin usr_41.txt /*write-filetype-plugin*
-write-library-script usr_41.txt /*write-library-script*
-write-local-help usr_41.txt /*write-local-help*
+write-filetype-plugin usr_51.txt /*write-filetype-plugin*
+write-library-script usr_51.txt /*write-library-script*
+write-local-help usr_51.txt /*write-local-help*
write-permissions editing.txt /*write-permissions*
-write-plugin usr_41.txt /*write-plugin*
-write-plugin-quickload usr_41.txt /*write-plugin-quickload*
+write-plugin usr_51.txt /*write-plugin*
+write-plugin-quickload usr_51.txt /*write-plugin-quickload*
write-quit editing.txt /*write-quit*
write-readonly editing.txt /*write-readonly*
writefile() builtin.txt /*writefile()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 49fd1ee74..95627f3db 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.2. Last change: 2022 May 12
+*todo.txt* For Vim version 8.2. Last change: 2022 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41,13 +41,20 @@ browser use: https://github.com/vim/vim/issues/1234
Once Vim9 is stable:
- Use Vim9 for more runtime files.
- Check code coverage, add more tests if needed.
- vim9expr.c
vim9instr.c
vim9script.c
vim9type.c
- Inlude new set of colors: #9795
- Adjust intro message to say "help version9".
+Graduate FEAT_CINDENT and FEAT_SMARTINDENT ?
+
+Update the user manual:
+- Move most of usr_52.txt into usr_41.txt
+- Make usr_41.txt only about basic script writing
+- Fill usr_50.txt as an "advanced section" of usr_41.txt
+
+
Further Vim9 improvements, possibly after launch:
- Check performance with callgrind and kcachegrind.
getline()/substitute()/setline() in #5632
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index eca2d06b4..54af80cb3 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 8.2. Last change: 2022 May 09
+*usr_41.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -19,12 +19,6 @@ script. There are a lot of them, thus this is a long chapter.
|41.8| Lists and Dictionaries
|41.9| Exceptions
|41.10| Various remarks
-|41.11| Writing a plugin
-|41.12| Writing a filetype plugin
-|41.13| Writing a compiler plugin
-|41.14| Writing a plugin that loads quickly
-|41.15| Writing library scripts
-|41.16| Distributing Vim scripts
Next chapter: |usr_42.txt| Add new menus
Previous chapter: |usr_40.txt| Make new commands
@@ -42,14 +36,10 @@ Syntax files are also Vim scripts. As are files that set options for a
specific file type. A complicated macro can be defined by a separate Vim
script file. You can think of other uses yourself.
- If you are familiar with Python, you can find a comparison between
- Python and Vim script here, with pointers to other documents:
- https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
- And if you are familiar with JavaScript:
- https://w0rp.com/blog/post/vim-script-for-the-javascripter/
-
Vim script comes in two flavors: legacy and |Vim9|. Since this help file is
for new users, we'll teach you the newer and more convenient |Vim9| syntax.
+While legacy script is particular for Vim, |Vim9| script looks more like other
+languages, such as JavaScript and TypeScript.
To try out Vim script the best way is to edit a script file and source it.
Basically: >
@@ -1929,839 +1919,6 @@ If you split your plugin into parts, you can use `import` and `export` to
share items between those parts. See `:export` for the details.
==============================================================================
-*41.11* Writing a plugin *write-plugin*
-
-You can write a Vim script in such a way that many people can use it. This is
-called a plugin. Vim users can drop your script in their plugin directory and
-use its features right away |add-plugin|.
-
-There are actually two types of plugins:
-
- global plugins: For all types of files.
-filetype plugins: Only for files of a specific type.
-
-In this section the first type is explained. Most items are also relevant for
-writing filetype plugins. The specifics for filetype plugins are in the next
-section |write-filetype-plugin|.
-
-
-NAME
-
-First of all you must choose a name for your plugin. The features provided
-by the plugin should be clear from its name. And it should be unlikely that
-someone else writes a plugin with the same name but which does something
-different.
-
-A script that corrects typing mistakes could be called "typecorrect.vim". We
-will use it here as an example.
-
-For the plugin to work for everybody, it should follow a few guidelines. This
-will be explained step-by-step. The complete example plugin is at the end.
-
-
-BODY
-
-Let's start with the body of the plugin, the lines that do the actual work: >
-
- 14 iabbrev teh the
- 15 iabbrev otehr other
- 16 iabbrev wnat want
- 17 iabbrev synchronisation
- 18 \ synchronization
-
-The actual list should be much longer, of course.
-
-The line numbers have only been added to explain a few things, don't put them
-in your plugin file!
-
-
-FIRST LINE
->
- 1 vim9script noclear
-
-You need to use `vimscript` as the very first command. Best is to put it in
-the very first line.
-
-The script we are writing will have a `finish` command to bail out when it is
-loaded a second time. To avoid the items defined in the script are lost the
-"noclear" argument is used. More info about this at |vim9-reload|.
-
-
-HEADER
-
-You will probably add new corrections to the plugin and soon have several
-versions lying around. And when distributing this file, people will want to
-know who wrote this wonderful plugin and where they can send remarks.
-Therefore, put a header at the top of your plugin: >
-
- 2 # Vim global plugin for correcting typing mistakes
- 3 # Last Change: 2021 Dec 30
- 4 # Maintainer: Bram Moolenaar <Bram@vim.org>
-
-About copyright and licensing: Since plugins are very useful and it's hardly
-worth restricting their distribution, please consider making your plugin
-either public domain or use the Vim |license|. A short note about this near
-the top of the plugin should be sufficient. Example: >
-
- 5 # License: This file is placed in the public domain.
-
-
-LINE CONTINUATION AND AVOIDING SIDE EFFECTS *use-cpo-save*
-
-In line 18 above, the line-continuation mechanism is used |line-continuation|.
-Users with 'compatible' set will run into trouble here, they will get an error
-message. We can't just reset 'compatible', because that has a lot of side
-effects. Instead, we will set the 'cpoptions' option to its Vim default
-value and restore it later. That will allow the use of line-continuation and
-make the script work for most people. It is done like this: >
-
- 11 var save_cpo = &cpo
- 12 set cpo&vim
- ..
- 42 &cpo = save_cpo
-
-We first store the old value of 'cpoptions' in the "save_cpo" variable. At
-the end of the plugin this value is restored.
-
-Notice that "save_cpo" is a script-local variable. A global variable could
-already be in use for something else. Always use script-local variables for
-things that are only used in the script.
-
-
-NOT LOADING
-
-It is possible that a user doesn't always want to load this plugin. Or the
-system administrator has dropped it in the system-wide plugin directory, but a
-user has his own plugin he wants to use. Then the user must have a chance to
-disable loading this specific plugin. These lines will make it possible: >
-
- 7 if exists("g:loaded_typecorrect")
- 8 finish
- 9 endif
- 10 g:loaded_typecorrect = 1
-
-This also avoids that when the script is loaded twice it would pointlessly
-redefine functions and cause trouble for autocommands that are added twice.
-
-The name is recommended to start with "g:loaded_" and then the file name of
-the plugin, literally. The "g:" is prepended to make the variable global, so
-that other places can check whether its functionality is available. Without
-"g:" it would be local to the script.
-
-Using `finish` stops Vim from reading the rest of the file, it's much quicker
-than using if-endif around the whole file, since Vim would still need to parse
-the commands to find the `endif`.
-
-
-MAPPING
-
-Now let's make the plugin more interesting: We will add a mapping that adds a
-correction for the word under the cursor. We could just pick a key sequence
-for this mapping, but the user might already use it for something else. To
-allow the user to define which keys a mapping in a plugin uses, the <Leader>
-item can be used: >
-
- 22 map <unique> <Leader>a <Plug>TypecorrAdd;
-
-The "<Plug>TypecorrAdd;" thing will do the work, more about that further on.
-
-The user can set the "g:mapleader" variable to the key sequence that he wants
-plugin mappings to start with. Thus if the user has done: >
-
- g:mapleader = "_"
-
-the mapping will define "_a". If the user didn't do this, the default value
-will be used, which is a backslash. Then a map for "\a" will be defined.
-
-Note that <unique> is used, this will cause an error message if the mapping
-already happened to exist. |:map-<unique>|
-
-But what if the user wants to define his own key sequence? We can allow that
-with this mechanism: >
-
- 21 if !hasmapto('<Plug>TypecorrAdd;')
- 22 map <unique> <Leader>a <Plug>TypecorrAdd;
- 23 endif
-
-This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
-defines the mapping from "<Leader>a" if it doesn't. The user then has a
-chance of putting this in his vimrc file: >
-
- map ,c <Plug>TypecorrAdd;
-
-Then the mapped key sequence will be ",c" instead of "_a" or "\a".
-
-
-PIECES
-
-If a script gets longer, you often want to break up the work in pieces. You
-can use functions or mappings for this. But you don't want these functions
-and mappings to interfere with the ones from other scripts. For example, you
-could define a function Add(), but another script could try to define the same
-function. To avoid this, we define the function local to the script.
-Fortunately, in |Vim9| script this is the default. In a legacy script you
-would need to prefix the name with "s:".
-
-We will define a function that adds a new typing correction: >
-
- 30 def Add(from: string, correct: bool)
- 31 var to = input("type the correction for " .. from .. ": ")
- 32 exe ":iabbrev " .. from .. " " .. to
- ..
- 36 enddef
-
-Now we can call the function Add() from within this script. If another
-script also defines Add(), it will be local to that script and can only
-be called from that script. There can also be a global g:Add() function,
-which is again another function.
-
-<SID> can be used with mappings. It generates a script ID, which identifies
-the current script. In our typing correction plugin we use it like this: >
-
- 24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
- ..
- 28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
-
-Thus when a user types "\a", this sequence is invoked: >
-
- \a -> <Plug>TypecorrAdd; -> <SID>Add -> :call <SID>Add(...)
-
-If another script also maps <SID>Add, it will get another script ID and
-thus define another mapping.
-
-Note that instead of Add() we use <SID>Add() here. That is because the
-mapping is typed by the user, thus outside of the script context. The <SID>
-is translated to the script ID, so that Vim knows in which script to look for
-the Add() function.
-
-This is a bit complicated, but it's required for the plugin to work together
-with other plugins. The basic rule is that you use <SID>Add() in mappings and
-Add() in other places (the script itself, autocommands, user commands).
-
-We can also add a menu entry to do the same as the mapping: >
-
- 26 noremenu <script> Plugin.Add\ Correction <SID>Add
-
-The "Plugin" menu is recommended for adding menu items for plugins. In this
-case only one item is used. When adding more items, creating a submenu is
-recommended. For example, "Plugin.CVS" could be used for a plugin that offers
-CVS operations "Plugin.CVS.checkin", "Plugin.CVS.checkout", etc.
-
-Note that in line 28 ":noremap" is used to avoid that any other mappings cause
-trouble. Someone may have remapped ":call", for example. In line 24 we also
-use ":noremap", but we do want "<SID>Add" to be remapped. This is why
-"<script>" is used here. This only allows mappings which are local to the
-script. |:map-<script>| The same is done in line 26 for ":noremenu".
-|:menu-<script>|
-
-
-<SID> AND <Plug> *using-<Plug>*
-
-Both <SID> and <Plug> are used to avoid that mappings of typed keys interfere
-with mappings that are only to be used from other mappings. Note the
-difference between using <SID> and <Plug>:
-
-<Plug> is visible outside of the script. It is used for mappings which the
- user might want to map a key sequence to. <Plug> is a special code
- that a typed key will never produce.
- To make it very unlikely that other plugins use the same sequence of
- characters, use this structure: <Plug> scriptname mapname
- In our example the scriptname is "Typecorr" and the mapname is "Add".
- We add a semicolon as the terminator. This results in
- "<Plug>TypecorrAdd;". Only the first character of scriptname and
- mapname is uppercase, so that we can see where mapname starts.
-
-<SID> is the script ID, a unique identifier for a script.
- Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
- number. Thus a function "<SID>Add()" will have a name "<SNR>11_Add()"
- in one script, and "<SNR>22_Add()" in another. You can see this if
- you use the ":function" command to get a list of functions. The
- translation of <SID> in mappings is exactly the same, that's how you
- can call a script-local function from a mapping.
-
-
-USER COMMAND
-
-Now let's add a user command to add a correction: >
-
- 38 if !exists(":Correct")
- 39 command -nargs=1 Correct :call Add(<q-args>, false)
- 40 endif
-
-The user command is defined only if no command with the same name already
-exists. Otherwise we would get an error here. Overriding the existing user
-command with ":command!" is not a good idea, this would probably make the user
-wonder why the command he defined himself doesn't work. |:command|
-If it did happen you can find out who to blame with: >
-
- verbose command Correct
-
-
-SCRIPT VARIABLES
-
-When a variable starts with "s:" it is a script variable. It can only be used
-inside a script. Outside the script it's not visible. This avoids trouble
-with using the same variable name in different scripts. The variables will be
-kept as long as Vim is running. And the same variables are used when sourcing
-the same script again. |s:var|
-
-The nice thing about |Vim9| script is that variables are local to the script
-by default. You can prepend "s:" if you like, but you do not need to. And
-functions in the script can also use the script variables without a prefix.
-
-Script-local variables can also be used in functions, autocommands and user
-commands that are defined in the script. Thus they are the perfect way to
-share information between parts of your plugin, without it leaking out. In
-our example we can add a few lines to count the number of corrections: >
-
- 19 var count = 4
- ..
- 30 def Add(from: string, correct: bool)
- ..
- 34 count += 1
- 35 echo "you now have " .. count .. " corrections"
- 36 enddef
-
-"count" is declared and initialized to 4 in the script itself. When later
-the Add() function is called, it increments "count". It doesn't matter from
-where the function was called, since it has been defined in the script, it
-will use the local variables from this script.
-
-
-THE RESULT
-
-Here is the resulting complete example: >
-
- 1 vim9script noclear
- 2 # Vim global plugin for correcting typing mistakes
- 3 # Last Change: 2021 Dec 30
- 4 # Maintainer: Bram Moolenaar <Bram@vim.org>
- 5 # License: This file is placed in the public domain.
- 6
- 7 if exists("g:loaded_typecorrect")
- 8 finish
- 9 endif
- 10 g:loaded_typecorrect = 1
- 11 var save_cpo = &cpo
- 12 set cpo&vim
- 13
- 14 iabbrev teh the
- 15 iabbrev otehr other
- 16 iabbrev wnat want
- 17 iabbrev synchronisation
- 18 \ synchronization
- 19 var count = 4
- 20
- 21 if !hasmapto('<Plug>TypecorrAdd;')
- 22 map <unique> <Leader>a <Plug>TypecorrAdd;
- 23 endif
- 24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
- 25
- 26 noremenu <script> Plugin.Add\ Correction <SID>Add
- 27
- 28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
- 29
- 30 def Add(from: string, correct: bool)
- 31 var to = input("type the correction for " .. from .. ": ")
- 32 exe ":iabbrev " .. from .. " " .. to
- 33 if correct | exe "normal viws\<C-R>\" \b\e" | endif
- 34 count += 1
- 35 echo "you now have " .. count .. " corrections"
- 36 enddef
- 37
- 38 if !exists(":Correct")
- 39 command -nargs=1 Correct call Add(<q-args>, false)
- 40 endif
- 41
- 42 &cpo = save_cpo
-
-Line 33 wasn't explained yet. It applies the new correction to the word under
-the cursor. The |:normal| command is used to use the new abbreviation. Note
-that mappings and abbreviations are expanded here, even though the function
-was called from a mapping defined with ":noremap".
-
-
-DOCUMENTATION *write-local-help*
-
-It's a good idea to also write some documentation for your plugin. Especially
-when its behavior can be changed by the user. See |add-local-help| for how
-they are installed.
-
-Here is a simple example for a plugin help file, called "typecorrect.txt": >
-
- 1 *typecorrect.txt* Plugin for correcting typing mistakes
- 2
- 3 If you make typing mistakes, this plugin will have them corrected
- 4 automatically.
- 5
- 6 There are currently only a few corrections. Add your own if you like.
- 7
- 8 Mappings:
- 9 <Leader>a or <Plug>TypecorrAdd;
- 10 Add a correction for the word under the cursor.
- 11
- 12 Commands:
- 13 :Correct {word}
- 14 Add a correction for {word}.
- 15
- 16 *typecorrect-settings*
- 17 This plugin doesn't have any settings.
-
-The first line is actually the only one for which the format matters. It will
-be extracted from the help file to be put in the "LOCAL ADDITIONS:" section of
-help.txt |local-additions|. The first "*" must be in the first column of the
-first line. After adding your help file do ":help" and check that the entries
-line up nicely.
-
-You can add more tags inside ** in your help file. But be careful not to use
-existing help tags. You would probably use the name of your plugin in most of
-them, like "typecorrect-settings" in the example.
-
-Using references to other parts of the help in || is recommended. This makes
-it easy for the user to find associated help.
-
-
-FILETYPE DETECTION *plugin-filetype*
-
-If your filetype is not already detected by Vim, you should create a filetype
-detection snippet in a separate file. It is usually in the form of an
-autocommand that sets the filetype when the file name matches a pattern.
-Example: >
-
- au BufNewFile,BufRead *.foo setlocal filetype=foofoo
-
-Write this single-line file as "ftdetect/foofoo.vim" in the first directory
-that appears in 'runtimepath'. For Unix that would be
-"~/.vim/ftdetect/foofoo.vim". The convention is to use the name of the
-filetype for the script name.
-
-You can make more complicated checks if you like, for example to inspect the
-contents of the file to recognize the language. Also see |new-filetype|.
-
-
-SUMMARY *plugin-special*
-
-Summary of special things to use in a plugin:
-
-var name Variable local to the script.
-
-<SID> Script-ID, used for mappings and functions local to
- the script.
-
-hasmapto() Function to test if the user already defined a mapping
- for functionality the script offers.
-
-<Leader> Value of "mapleader", which the user defines as the
- keys that plugin mappings start with.
-
-map <unique> Give a warning if a mapping already exists.
-
-noremap <script> Use only mappings local to the script, not global
- mappings.
-
-exists(":Cmd") Check if a user command already exists.
-
-==============================================================================
-*41.12* Writing a filetype plugin *write-filetype-plugin* *ftplugin*
-
-A filetype plugin is like a global plugin, except that it sets options and
-defines mappings for the current buffer only. See |add-filetype-plugin| for
-how this type of plugin is used.
-
-First read the section on global plugins above |41.11|. All that is said there
-also applies to filetype plugins. There are a few extras, which are explained
-here. The essential thing is that a filetype plugin should only have an
-effect on the current buffer.
-
-
-DISABLING
-
-If you are writing a filetype plugin to be used by many people, they need a
-chance to disable loading it. Put this at the top of the plugin: >
-
- # Only do this when not done yet for this buffer
- if exists("b:did_ftplugin")
- finish
- endif
- b:did_ftplugin = 1
-
-This also needs to be used to avoid that the same plugin is executed twice for
-the same buffer (happens when using an ":edit" command without arguments).
-
-Now users can disable loading the default plugin completely by making a
-filetype plugin with only these lines: >
-
- vim9script
- b:did_ftplugin = 1
-
-This does require that the filetype plugin directory comes before $VIMRUNTIME
-in 'runtimepath'!
-
-If you do want to use the default plugin, but overrule one of the settings,
-you can write the different setting in a script: >
-
- setlocal textwidth=70
-
-Now write this in the "after" directory, so that it gets sourced after the
-distributed "vim.vim" ftplugin |after-directory|. For Unix this would be
-"~/.vim/after/ftplugin/vim.vim". Note that the default plugin will have set
-"b:did_ftplugin", but it is ignored here.
-
-
-OPTIONS
-
-To make sure the filetype plugin only affects the current buffer use the >
-
- setlocal
-
-command to set options. And only set options which are local to a buffer (see
-the help for the option to check that). When using `:setlocal` for global
-options or options local to a window, the value will change for many buffers,
-and that is not what a filetype plugin should do.
-
-When an option has a value that is a list of flags or items, consider using
-"+=" and "-=" to keep the existing value. Be aware that the user may have
-changed an option value already. First resetting to the default value and
-then changing it is often a good idea. Example: >
-
- setlocal formatoptions& formatoptions+=ro
-
-
-MAPPINGS
-
-To make sure mappings will only work in the current buffer use the >
-
- map <buffer>
-
-command. This needs to be combined with the two-step mapping explained above.
-An example of how to define functionality in a filetype plugin: >
-
- if !hasmapto('<Plug>JavaImport;')
- map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
- endif
- noremap <buffer> <unique> <Plug>JavaImport; oimport ""<Left><Esc>
-
-|hasmapto()| is used to check if the user has already defined a map to
-<Plug>JavaImport;. If not, then the filetype plugin defines the default
-mapping. This starts with |<LocalLeader>|, which allows the user to select
-the key(s) he wants filetype plugin mappings to start with. The default is a
-backslash.
-"<unique>" is used to give an error message if the mapping already exists or
-overlaps with an existing mapping.
-|:noremap| is used to avoid that any other mappings that the user has defined
-interferes. You might want to use ":noremap <script>" to allow remapping
-mappings defined in this script that start with <SID>.
-
-The user must have a chance to disable the mappings in a filetype plugin,
-without disabling everything. Here is an example of how this is done for a
-plugin for the mail filetype: >
-
- # Add mappings, unless the user didn't want this.
- if !exists("g:no_plugin_maps") && !exists("g:no_mail_maps")
- # Quote text by inserting "> "
- if !hasmapto('<Plug>MailQuote;')
- vmap <buffer> <LocalLeader>q <Plug>MailQuote;
- nmap <buffer> <LocalLeader>q <Plug>MailQuote;
- endif
- vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
- nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
- endif
-
-Two global variables are used:
-|g:no_plugin_maps| disables mappings for all filetype plugins
-|g:no_mail_maps| disables mappings for the "mail" filetype
-
-
-USER COMMANDS
-
-To add a user command for a specific file type, so that it can only be used in
-one buffer, use the "-buffer" argument to |:command|. Example: >
-
- command -buffer Make make %:r.s
-
-
-VARIABLES
-
-A filetype plugin will be sourced for each buffer of the type it's for. Local
-script variables will be shared between all invocations. Use local buffer
-variables |b:var| if you want a variable specifically for one buffer.
-
-
-FUNCTIONS
-
-When defining a function, this only needs to be done once. But the filetype
-plugin will be sourced every time a file with this filetype will be opened.
-This construct makes sure the function is only defined once: >
-
- if !exists("*Func")
- def Func(arg)
- ...
- enddef
- endif
-<
-
-UNDO *undo_indent* *undo_ftplugin*
-
-When the user does ":setfiletype xyz" the effect of the previous filetype
-should be undone. Set the b:undo_ftplugin variable to the commands that will
-undo the settings in your filetype plugin. Example: >
-
- let b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
- \ .. "| unlet b:match_ignorecase b:match_words b:match_skip"
-
-Using ":setlocal" with "<" after the option name resets the option to its
-global value. That is mostly the best way to reset the option value.
-
-This does require removing the "C" flag from 'cpoptions' to allow line
-continuation, as mentioned above |use-cpo-save|.
-
-For undoing the effect of an indent script, the b:undo_indent variable should
-be set accordingly.
-
-Both these variables use legacy script syntax, not |Vim9| syntax.
-
-
-FILE NAME
-
-The filetype must be included in the file name |ftplugin-name|. Use one of
-these three forms:
-
- .../ftplugin/stuff.vim
- .../ftplugin/stuff_foo.vim
- .../ftplugin/stuff/bar.vim
-
-"stuff" is the filetype, "foo" and "bar" are arbitrary names.
-
-
-SUMMARY *ftplugin-special*
-
-Summary of special things to use in a filetype plugin:
-
-<LocalLeader> Value of "maplocalleader", which the user defines as
- the keys that filetype plugin mappings start with.
-
-map <buffer> Define a mapping local to the buffer.
-
-noremap <script> Only remap mappings defined in this script that start
- with <SID>.
-
-setlocal Set an option for the current buffer only.
-
-command -buffer Define a user command local to the buffer.
-
-exists("*s:Func") Check if a function was already defined.
-
-Also see |plugin-special|, the special things used for all plugins.
-
-==============================================================================
-*41.13* Writing a compiler plugin *write-compiler-plugin*
-
-A compiler plugin sets options for use with a specific compiler. The user can
-load it with the |:compiler| command. The main use is to set the
-'errorformat' and 'makeprg' options.
-
-Easiest is to have a look at examples. This command will edit all the default
-compiler plugins: >
-
- next $VIMRUNTIME/compiler/*.vim
-
-Type `:next` to go to the next plugin file.
-
-There are two special items about these files. First is a mechanism to allow
-a user to overrule or add to the default file. The default files start with: >
-
- vim9script
- if exists("g:current_compiler")
- finish
- endif
- g:current_compiler = "mine"
-
-When you write a compiler file and put it in your personal runtime directory
-(e.g., ~/.vim/compiler for Unix), you set the "current_compiler" variable to
-make the default file skip the settings.
- *:CompilerSet*
-The second mechanism is to use ":set" for ":compiler!" and ":setlocal" for
-":compiler". Vim defines the ":CompilerSet" user command for this. However,
-older Vim versions don't, thus your plugin should define it then. This is an
-example: >
-
- if exists(":CompilerSet") != 2
- command -nargs=* CompilerSet setlocal <args>
- endif
- CompilerSet errorformat& " use the default 'errorformat'
- CompilerSet makeprg=nmake
-
-When you write a compiler plugin for the Vim distribution or for a system-wide
-runtime directory, use the mechanism mentioned above. When
-"current_compiler" was already set by a user plugin nothing will be done.
-
-When you write a compiler plugin to overrule settings from a default plugin,
-don't check "current_compiler". This plugin is supposed to be loaded
-last, thus it should be in a directory at the end of 'runtimepath'. For Unix
-that could be ~/.vim/after/compiler.
-
-==============================================================================
-*41.14* Writing a plugin that loads quickly *write-plugin-quickload*
-
-A plugin may grow and become quite long. The startup delay may become
-noticeable, while you hardly ever use the plugin. Then it's time for a
-quickload plugin.
-
-The basic idea is that the plugin is loaded twice. The first time user
-commands and mappings are defined that offer the functionality. The second
-time the functions that implement the functionality are defined.
-
-It may sound surprising that quickload means loading a script twice. What we
-mean is that it loads quickly the first time, postponing the bulk of the
-script to the second time, which only happens when you actually use it. When
-you always use the functionality it actually gets slower!
-
-This uses a FuncUndefined autocommand. Since Vim 7 there is an alternative:
-use the |autoload| functionality |41.15|. That will also use |Vim9| script
-instead of legacy script that is used here.
-
-The following example shows how it's done: >
-
- " Vim global plugin for demonstrating quick loading
- " Last Change: 2005 Feb 25
- " Maintainer: Bram Moolenaar <Bram@vim.org>
- " License: This file is placed in the public domain.
-
- if !exists("s:did_load")
- command -nargs=* BNRead call BufNetRead(<f-args>)
- map <F19> :call BufNetWrite('something')<CR>
-
- let s:did_load = 1
- exe 'au FuncUndefined BufNet* source ' .. expand('<sfile>')
- finish
- endif
-
- function BufNetRead(...)
- echo 'BufNetRead(' .. string(a:000) .. ')'
- " read functionality here
- endfunction
-
- function BufNetWrite(...)
- echo 'BufNetWrite(' .. string(a:000) .. ')'
- " write functionality here
- endfunction
-
-When the script is first loaded "s:did_load" is not set. The commands between
-the "if" and "endif" will be executed. This ends in a |:finish| command, thus
-the rest of the script is not executed.
-
-The second time the script is loaded "s:did_load" exists and the commands
-after the "endif" are executed. This defines the (possible long)
-BufNetRead() and BufNetWrite() functions.
-
-If you drop this script in your plugin directory Vim will execute it on
-startup. This is the sequence of events that happens:
-
-1. The "BNRead" command is defined and the <F19> key is mapped when the script
- is sourced at startup. A |FuncUndefined| autocommand is defined. The
- ":finish" command causes the script to terminate early.
-
-2. The user types the BNRead command or presses the <F19> key. The
- BufNetRead() or BufNetWrite() function will be called.
-
-3. Vim can't find the function and triggers the |FuncUndefined| autocommand
- event. Since the pattern "BufNet*" matches the invoked function, the
- command "source fname" will be executed. "fname" will be equal to the name
- of the script, no matter where it is located, because it comes from
- expanding "<sfile>" (see |expand()|).
-
-4. The script is sourced again, the "s:did_load" variable exists and the
- functions are defined.
-
-Notice that the functions that are loaded afterwards match the pattern in the
-|FuncUndefined| autocommand. You must make sure that no other plugin defines
-functions that match this pattern.
-
-==============================================================================
-*41.15* Writing library scripts *write-library-script*
-
-Some functionality will be required in several places. When this becomes more
-than a few lines you will want to put it in one script and use it from many
-scripts. We will call that one script a library script.
-
-Manually loading a library script is possible, so long as you avoid loading it
-when it's already done. You can do this with the |exists()| function.
-Example: >
-
- if !exists('*MyLibFunction')
- runtime library/mylibscript.vim
- endif
- MyLibFunction(arg)
-
-Here you need to know that MyLibFunction() is defined in a script
-"library/mylibscript.vim" in one of the directories in 'runtimepath'.
-
-To make this a bit simpler Vim offers the autoload mechanism. Then the
-example looks like this: >
-
- mylib#myfunction(arg)
-
-That's a lot simpler, isn't it? Vim will recognize the function name by the
-embedded "#" character and when it's not defined search for the script
-"autoload/mylib.vim" in 'runtimepath'. That script must define the
-"mylib#myfunction()" function.
-
-You can put many other functions in the mylib.vim script, you are free to
-organize your functions in library scripts. But you must use function names
-where the part before the '#' matches the script name. Otherwise Vim would
-not know what script to load.
-
-If you get really enthusiastic and write lots of library scripts, you may
-want to use subdirectories. Example: >
-
- netlib#ftp#read('somefile')
-
-For Unix the library script used for this could be:
-
- ~/.vim/autoload/netlib/ftp.vim
-
-Where the function is defined like this: >
-
- def netlib#ftp#read(fname: string)
- # Read the file fname through ftp
- enddef
-
-Notice that the name the function is defined with is exactly the same as the
-name used for calling the function. And the part before the last '#'
-exactly matches the subdirectory and script name.
-
-You can use the same mechanism for variables: >
-
- var weekdays = dutch#weekdays
-
-This will load the script "autoload/dutch.vim", which should contain something
-like: >
-
- var dutch#weekdays = ['zondag', 'maandag', 'dinsdag', 'woensdag',
- \ 'donderdag', 'vrijdag', 'zaterdag']
-
-Further reading: |autoload|.
-
-==============================================================================
-*41.16* Distributing Vim scripts *distribute-script*
-
-Vim users will look for scripts on the Vim website: http://www.vim.org.
-If you made something that is useful for others, share it!
-
-Another place is github. But there you need to know where to find it! The
-advantage is that most plugin managers fetch plugins from github. You'll have
-to use your favorite search engine to find them.
-
-Vim scripts can be used on any system. However, there might not be a tar or
-gzip command. If you want to pack files together and/or compress them the
-"zip" utility is recommended.
-
-For utmost portability use Vim itself to pack scripts together. This can be
-done with the Vimball utility. See |vimball|.
-
-It's good if you add a line to allow automatic updating. See |glvs-plugins|.
-
-==============================================================================
Next chapter: |usr_42.txt| Add new menus
diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt
index f91648e0e..e93f74771 100644
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -1,4 +1,4 @@
-*usr_45.txt* For Vim version 8.2. Last change: 2020 Jun 11
+*usr_45.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -15,7 +15,7 @@ in various languages is explained.
|45.4| Editing files with a different encoding
|45.5| Entering language text
- Next chapter: |usr_46.txt| Write plugins using Vim9 script
+ Next chapter: |usr_50.txt| Advanced Vim script writing
Previous chapter: |usr_44.txt| Your own syntax highlighted
Table of contents: |usr_toc.txt|
@@ -408,6 +408,6 @@ Don't type the spaces. See |i_CTRL-V_digit| for the details.
==============================================================================
-Next chapter: |usr_46.txt| Write plugins using Vim9 script
+Next chapter: |usr_50.txt| Advanced Vim script writing
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/usr_50.txt b/runtime/doc/usr_50.txt
new file mode 100644
index 000000000..0f87e6367
--- /dev/null
+++ b/runtime/doc/usr_50.txt
@@ -0,0 +1,25 @@
+*usr_50.txt* For Vim version 8.2. Last change: 2022 May 13
+
+ VIM USER MANUAL - by Bram Moolenaar
+
+ Advanced Vim script writing
+
+
+TODO - this chapter is to be written
+
+|50.1| Writing stuff
+
+ Next chapter: |usr_51.txt| Create a plugin
+ Previous chapter: |usr_45.txt| Select your language (local)
+Table of contents: |usr_toc.txt|
+
+==============================================================================
+*50.1* Writing stuff
+
+TODO
+
+==============================================================================
+
+Next chapter: |usr_51.txt| Create a plugin
+
+Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/usr_51.txt b/runtime/doc/usr_51.txt
new file mode 100644
index 000000000..14704c69f
--- /dev/null
+++ b/runtime/doc/usr_51.txt
@@ -0,0 +1,860 @@
+*usr_51.txt* For Vim version 8.2. Last change: 2022 May 13
+
+ VIM USER MANUAL - by Bram Moolenaar
+
+ Write plugins
+
+
+Plugins can be used to define settings for a specific type of file, syntax
+highlighting and many other things. This chapter explains how to write the
+most common Vim plugins.
+
+|51.1| Writing a generic plugin
+|51.2| Writing a filetype plugin
+|51.3| Writing a compiler plugin
+|51.4| Writing a plugin that loads quickly
+|51.5| Writing library scripts
+|51.6| Distributing Vim scripts
+
+ Next chapter: |usr_52.txt| Write plugins using Vim9 script
+ Previous chapter: |usr_50.txt| Advanced Vim script writing
+Table of contents: |usr_toc.txt|
+
+==============================================================================
+*51.1* Writing a generic plugin *write-plugin*
+
+You can write a Vim script in such a way that many people can use it. This is
+called a plugin. Vim users can drop your script in their plugin directory and
+use its features right away |add-plugin|.
+
+There are actually two types of plugins:
+
+ global plugins: For all types of files.
+filetype plugins: Only for files of a specific type.
+
+In this section the first type is explained. Most items are also relevant for
+writing filetype plugins. The specifics for filetype plugins are in the next
+section |write-filetype-plugin|.
+
+
+NAME
+
+First of all you must choose a name for your plugin. The features provided
+by the plugin should be clear from its name. And it should be unlikely that
+someone else writes a plugin with the same name but which does something
+different.
+
+A script that corrects typing mistakes could be called "typecorrect.vim". We
+will use it here as an example.
+
+For the plugin to work for everybody, it should follow a few guidelines. This
+will be explained step-by-step. The complete example plugin is at the end.
+
+
+BODY
+
+Let's start with the body of the plugin, the lines that do the actual work: >
+
+ 14 iabbrev teh the
+ 15 iabbrev otehr other
+ 16 iabbrev wnat want
+ 17 iabbrev synchronisation
+ 18 \ synchronization
+
+The actual list should be much longer, of course.
+
+The line numbers have only been added to explain a few things, don't put them
+in your plugin file!
+
+
+FIRST LINE
+>
+ 1 vim9script noclear
+
+You need to use `vimscript` as the very first command. Best is to put it in
+the very first line.
+
+The script we are writing will have a `finish` command to bail out when it is
+loaded a second time. To avoid that the items defined in the script are lost
+the "noclear" argument is used. More info about this at |vim9-reload|.
+
+
+HEADER
+
+You will probably add new corrections to the plugin and soon have several
+versions lying around. And when distributing this file, people will want to
+know who wrote this wonderful plugin and where they can send remarks.
+Therefore, put a header at the top of your plugin: >
+
+ 2 # Vim global plugin for correcting typing mistakes
+ 3 # Last Change: 2021 Dec 30
+ 4 # Maintainer: Bram Moolenaar <Bram@vim.org>
+
+About copyright and licensing: Since plugins are very useful and it's hardly
+worth restricting their distribution, please consider making your plugin
+either public domain or use the Vim |license|. A short note about this near
+the top of the plugin should be sufficient. Example: >
+
+ 5 # License: This file is placed in the public domain.
+
+
+LINE CONTINUATION AND AVOIDING SIDE EFFECTS *use-cpo-save*
+
+In line 18 above, the line-continuation mechanism is used |line-continuation|.
+Users with 'compatible' set will run into trouble here, they will get an error
+message. We can't just reset 'compatible', because that has a lot of side
+effects. Instead, we will set the 'cpoptions' option to its Vim default
+value and restore it later. That will allow the use of line-continuation and
+make the script work for most people. It is done like this: >
+
+ 11 var save_cpo = &cpo
+ 12 set cpo&vim
+ ..
+ 42 &cpo = save_cpo
+
+We first store the old value of 'cpoptions' in the "save_cpo" variable. At
+the end of the plugin this value is restored.
+
+Notice that "save_cpo" is a script-local variable. A global variable could
+already be in use for something else. Always use script-local variables for
+things that are only used in the script.
+
+
+NOT LOADING
+
+It is possible that a user doesn't always want to load this plugin. Or the
+system administrator has dropped it in the system-wide plugin directory, but a
+user has his own plugin he wants to use. Then the user must have a chance to
+disable loading this specific plugin. These lines will make it possible: >
+
+ 7 if exists("g:loaded_typecorrect")
+ 8 finish
+ 9 endif
+ 10 g:loaded_typecorrect = 1
+
+This also avoids that when the script is loaded twice it would pointlessly
+redefine functions and cause trouble for autocommands that are added twice.
+
+The name is recommended to start with "g:loaded_" and then the file name of
+the plugin, literally. The "g:" is prepended to make the variable global, so
+that other places can check whether its functionality is available. Without
+"g:" it would be local to the script.
+
+Using `finish` stops Vim from reading the rest of the file, it's much quicker
+than using if-endif around the whole file, since Vim would still need to parse
+the commands to find the `endif`.
+
+
+MAPPING
+
+Now let's make the plugin more interesting: We will add a mapping that adds a
+correction for the word under the cursor. We could just pick a key sequence
+for this mapping, but the user might already use it for something else. To
+allow the user to define which keys a mapping in a plugin uses, the <Leader>
+item can be used: >
+
+ 22 map <unique> <Leader>a <Plug>TypecorrAdd;
+
+The "<Plug>TypecorrAdd;" thing will do the work, more about that further on.
+
+The user can set the "g:mapleader" variable to the key sequence that he wants
+plugin mappings to start with. Thus if the user has done: >
+
+ g:mapleader = "_"
+
+the mapping will define "_a". If the user didn't do this, the default value
+will be used, which is a backslash. Then a map for "\a" will be defined.
+
+Note that <unique> is used, this will cause an error message if the mapping
+already happened to exist. |:map-<unique>|
+
+But what if the user wants to define his own key sequence? We can allow that
+with this mechanism: >
+
+ 21 if !hasmapto('<Plug>TypecorrAdd;')
+ 22 map <unique> <Leader>a <Plug>TypecorrAdd;
+ 23 endif
+
+This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
+defines the mapping from "<Leader>a" if it doesn't. The user then has a
+chance of putting this in his vimrc file: >
+
+ map ,c <Plug>TypecorrAdd;
+
+Then the mapped key sequence will be ",c" instead of "_a" or "\a".
+
+
+PIECES
+
+If a script gets longer, you often want to break up the work in pieces. You
+can use functions or mappings for this. But you don't want these functions
+and mappings to interfere with the ones from other scripts. For example, you
+could define a function Add(), but another script could try to define the same
+function. To avoid this, we define the function local to the script.
+Fortunately, in |Vim9| script this is the default. In a legacy script you
+would need to prefix the name with "s:".
+
+We will define a function that adds a new typing correction: >
+
+ 30 def Add(from: string, correct: bool)
+ 31 var to = input("type the correction for " .. from .. ": ")
+ 32 exe ":iabbrev " .. from .. " " .. to
+ ..
+ 36 enddef
+
+Now we can call the function Add() from within this script. If another
+script also defines Add(), it will be local to that script and can only
+be called from that script. There can also be a global g:Add() function,
+which is again another function.
+
+<SID> can be used with mappings. It generates a script ID, which identifies
+the current script. In our typing correction plugin we use it like this: >
+
+ 24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
+ ..
+ 28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
+
+Thus when a user types "\a", this sequence is invoked: >
+
+ \a -> <Plug>TypecorrAdd; -> <SID>Add -> :call <SID>Add(...)
+
+If another script also maps <SID>Add, it will get another script ID and
+thus define another mapping.
+
+Note that instead of Add() we use <SID>Add() here. That is because the
+mapping is typed by the user, thus outside of the script context. The <SID>
+is translated to the script ID, so that Vim knows in which script to look for
+the Add() function.
+
+This is a bit complicated, but it's required for the plugin to work together
+with other plugins. The basic rule is that you use <SID>Add() in mappings and
+Add() in other places (the script itself, autocommands, user commands).
+
+We can also add a menu entry to do the same as the mapping: >
+
+ 26 noremenu <script> Plugin.Add\ Correction <SID>Add
+
+The "Plugin" menu is recommended for adding menu items for plugins. In this
+case only one item is used. When adding more items, creating a submenu is
+recommended. For example, "Plugin.CVS" could be used for a plugin that offers
+CVS operations "Plugin.CVS.checkin", "Plugin.CVS.checkout", etc.
+
+Note that in line 28 ":noremap" is used to avoid that any other mappings cause
+trouble. Someone may have remapped ":call", for example. In line 24 we also
+use ":noremap", but we do want "<SID>Add" to be remapped. This is why
+"<script>" is used here. This only allows mappings which are local to the
+script. |:map-<script>| The same is done in line 26 for ":noremenu".
+|:menu-<script>|
+
+
+<SID> AND <Plug> *using-<Plug>*
+
+Both <SID> and <Plug> are used to avoid that mappings of typed keys interfere
+with mappings that are only to be used from other mappings. Note the
+difference between using <SID> and <Plug>:
+
+<Plug> is visible outside of the script. It is used for mappings which the
+ user might want to map a key sequence to. <Plug> is a special code
+ that a typed key will never produce.
+ To make it very unlikely that other plugins use the same sequence of
+ characters, use this structure: <Plug> scriptname mapname
+ In our example the scriptname is "Typecorr" and the mapname is "Add".
+ We add a semicolon as the terminator. This results in
+ "<Plug>TypecorrAdd;". Only the first character of scriptname and
+ mapname is uppercase, so that we can see where mapname starts.
+
+<SID> is the script ID, a unique identifier for a script.
+ Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
+ number. Thus a function "<SID>Add()" will have a name "<SNR>11_Add()"
+ in one script, and "<SNR>22_Add()" in another. You can see this if
+ you use the ":function" command to get a list of functions. The
+ translation of <SID> in mappings is exactly the same, that's how you
+ can call a script-local function from a mapping.
+
+
+USER COMMAND
+
+Now let's add a user command to add a correction: >
+
+ 38 if !exists(":Correct")
+ 39 command -nargs=1 Correct :call Add(<q-args>, false)
+ 40 endif
+
+The user command is defined only if no command with the same name already
+exists. Otherwise we would get an error here. Overriding the existing user
+command with ":command!" is not a good idea, this would probably make the user
+wonder why the command he defined himself doesn't work. |:command|
+If it did happen you can find out who to blame with: >
+
+ verbose command Correct
+
+
+SCRIPT VARIABLES
+
+When a variable starts with "s:" it is a script variable. It can only be used
+inside a script. Outside the script it's not visible. This avoids trouble
+with using the same variable name in different scripts. The variables will be
+kept as long as Vim is running. And the same variables are used when sourcing
+the same script again. |s:var|
+
+The nice thing about |Vim9| script is that variables are local to the script
+by default. You can prepend "s:" if you like, but you do not need to. And
+functions in the script can also use the script variables without a prefix.
+
+Script-local variables can also be used in functions, autocommands and user
+commands that are defined in the script. Thus they are the perfect way to
+share information between parts of your plugin, without it leaking out. In
+our example we can add a few lines to count the number of corrections: >
+
+ 19 var count = 4
+ ..
+ 30 def Add(from: string, correct: bool)
+ ..
+ 34 count += 1
+ 35 echo "you now have " .. count .. " corrections"
+ 36 enddef
+
+"count" is declared and initialized to 4 in the script itself. When later
+the Add() function is called, it increments "count". It doesn't matter from
+where the function was called, since it has been defined in the script, it
+will use the local variables from this script.
+
+
+THE RESULT
+
+Here is the resulting complete example: >
+
+ 1 vim9script noclear
+ 2 # Vim global plugin for correcting typing mistakes
+ 3 # Last Change: 2021 Dec 30
+ 4 # Maintainer: Bram Moolenaar <Bram@vim.org>
+ 5 # License: This file is placed in the public domain.
+ 6
+ 7 if exists("g:loaded_typecorrect")
+ 8 finish
+ 9 endif
+ 10 g:loaded_typecorrect = 1
+ 11 var save_cpo = &cpo
+ 12 set cpo&vim
+ 13
+ 14 iabbrev teh the
+ 15 iabbrev otehr other
+ 16 iabbrev wnat want
+ 17 iabbrev synchronisation
+ 18 \ synchronization
+ 19 var count = 4
+ 20
+ 21 if !hasmapto('<Plug>TypecorrAdd;')
+ 22 map <unique> <Leader>a <Plug>TypecorrAdd;
+ 23 endif
+ 24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
+ 25
+ 26 noremenu <script> Plugin.Add\ Correction <SID>Add
+ 27
+ 28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
+ 29
+ 30 def Add(from: string, correct: bool)
+ 31 var to = input("type the correction for " .. from .. ": ")
+ 32 exe ":iabbrev " .. from .. " " .. to
+ 33 if correct | exe "normal viws\<C-R>\" \b\e" | endif
+ 34 count += 1
+ 35 echo "you now have " .. count .. " corrections"
+ 36 enddef
+ 37
+ 38 if !exists(":Correct")
+ 39 command -nargs=1 Correct call Add(<q-args>, false)
+ 40 endif
+ 41
+ 42 &cpo = save_cpo
+
+Line 33 wasn't explained yet. It applies the new correction to the word under
+the cursor. The |:normal| command is used to use the new abbreviation. Note
+that mappings and abbreviations are expanded here, even though the function
+was called from a mapping defined with ":noremap".
+
+
+DOCUMENTATION *write-local-help*
+
+It's a good idea to also write some documentation for your plugin. Especially
+when its behavior can be changed by the user. See |add-local-help| for how
+they are installed.
+
+Here is a simple example for a plugin help file, called "typecorrect.txt": >
+
+ 1 *typecorrect.txt* Plugin for correcting typing mistakes
+ 2
+ 3 If you make typing mistakes, this plugin will have them corrected
+ 4 automatically.
+ 5
+ 6 There are currently only a few corrections. Add your own if you like.
+ 7
+ 8 Mappings:
+ 9 <Leader>a or <Plug>TypecorrAdd;
+ 10 Add a correction for the word under the cursor.
+ 11
+ 12 Commands:
+ 13 :Correct {word}
+ 14 Add a correction for {word}.
+ 15
+ 16 *typecorrect-settings*
+ 17 This plugin doesn't have any settings.
+
+The first line is actually the only one for which the format matters. It will
+be extracted from the help file to be put in the "LOCAL ADDITIONS:" section of
+help.txt |local-additions|. The first "*" must be in the first column of the
+first line. After adding your help file do ":help" and check that the entries
+line up nicely.
+
+You can add more tags inside ** in your help file. But be careful not to use
+existing help tags. You would probably use the name of your plugin in most of
+them, like "typecorrect-settings" in the example.
+
+Using references to other parts of the help in || is recommended. This makes
+it easy for the user to find associated help.
+
+
+FILETYPE DETECTION *plugin-filetype*
+
+If your filetype is not already detected by Vim, you should create a filetype
+detection snippet in a separate file. It is usually in the form of an
+autocommand that sets the filetype when the file name matches a pattern.
+Example: >
+
+ au BufNewFile,BufRead *.foo setlocal filetype=foofoo
+
+Write this single-line file as "ftdetect/foofoo.vim" in the first directory
+that appears in 'runtimepath'. For Unix that would be
+"~/.vim/ftdetect/foofoo.vim". The convention is to use the name of the
+filetype for the script name.
+
+You can make more complicated checks if you like, for example to inspect the
+contents of the file to recognize the language. Also see |new-filetype|.
+
+
+SUMMARY *plugin-special*
+
+Summary of special things to use in a plugin:
+
+var name Variable local to the script.
+
+<SID> Script-ID, used for mappings and functions local to
+ the script.
+
+hasmapto() Function to test if the user already defined a mapping
+ for functionality the script offers.
+
+<Leader> Value of "mapleader", which the user defines as the
+ keys that plugin mappings start with.
+
+map <unique> Give a warning if a mapping already exists.
+
+noremap <script> Use only mappings local to the script, not global
+ mappings.
+
+exists(":Cmd") Check if a user command already exists.
+
+==============================================================================
+*51.2* Writing a filetype plugin *write-filetype-plugin* *ftplugin*
+
+A filetype plugin is like a global plugin, except that it sets options and
+defines mappings for the current buffer only. See |add-filetype-plugin| for
+how this type of plugin is used.
+
+First read the section on global plugins above |51.1|. All that is said there
+also applies to filetype plugins. There are a few extras, which are explained
+here. The essential thing is that a filetype plugin should only have an
+effect on the current buffer.
+
+
+DISABLING
+
+If you are writing a filetype plugin to be used by many people, they need a
+chance to disable loading it. Put this at the top of the plugin: >
+
+ # Only do this when not done yet for this buffer
+ if exists("b:did_ftplugin")
+ finish
+ endif
+ b:did_ftplugin = 1
+
+This also needs to be used to avoid that the same plugin is executed twice for
+the same buffer (happens when using an ":edit" command without arguments).
+
+Now users can disable loading the default plugin completely by making a
+filetype plugin with only these lines: >
+
+ vim9script
+ b:did_ftplugin = 1
+
+This does require that the filetype plugin directory comes before $VIMRUNTIME
+in 'runtimepath'!
+
+If you do want to use the default plugin, but overrule one of the settings,
+you can write the different setting in a script: >
+
+ setlocal textwidth=70
+
+Now write this in the "after" directory, so that it gets sourced after the
+distributed "vim.vim" ftplugin |after-directory|. For Unix this would be
+"~/.vim/after/ftplugin/vim.vim". Note that the default plugin will have set
+"b:did_ftplugin", but it is ignored here.
+
+
+OPTIONS
+
+To make sure the filetype plugin only affects the current buffer use the >
+
+ setlocal
+
+command to set options. And only set options which are local to a buffer (see
+the help for the option to check that). When using `:setlocal` for global
+options or options local to a window, the value will change for many buffers,
+and that is not what a filetype plugin should do.
+
+When an option has a value that is a list of flags or items, consider using
+"+=" and "-=" to keep the existing value. Be aware that the user may have
+changed an option value already. First resetting to the default value and
+then changing it is often a good idea. Example: >
+
+ setlocal formatoptions& formatoptions+=ro
+
+
+MAPPINGS
+
+To make sure mappings will only work in the current buffer use the >
+
+ map <buffer>
+
+command. This needs to be combined with the two-step mapping explained above.
+An example of how to define functionality in a filetype plugin: >
+
+ if !hasmapto('<Plug>JavaImport;')
+ map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
+ endif
+ noremap <buffer> <unique> <Plug>JavaImport; oimport ""<Left><Esc>
+
+|hasmapto()| is used to check if the user has already defined a map to
+<Plug>JavaImport;. If not, then the filetype plugin defines the default
+mapping. This starts with |<LocalLeader>|, which allows the user to select
+the key(s) he wants filetype plugin mappings to start with. The default is a
+backslash.
+"<unique>" is used to give an error message if the mapping already exists or
+overlaps with an existing mapping.
+|:noremap| is used to avoid that any other mappings that the user has defined
+interferes. You might want to use ":noremap <script>" to allow remapping
+mappings defined in this script that start with <SID>.
+
+The user must have a chance to disable the mappings in a filetype plugin,
+without disabling everything. Here is an example of how this is done for a
+plugin for the mail filetype: >
+
+ # Add mappings, unless the user didn't want this.
+ if !exists("g:no_plugin_maps") && !exists("g:no_mail_maps")
+ # Quote text by inserting "> "
+ if !hasmapto('<Plug>MailQuote;')
+ vmap <buffer> <LocalLeader>q <Plug>MailQuote;
+ nmap <buffer> <LocalLeader>q <Plug>MailQuote;
+ endif
+ vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
+ nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
+ endif
+
+Two global variables are used:
+|g:no_plugin_maps| disables mappings for all filetype plugins
+|g:no_mail_maps| disables mappings for the "mail" filetype
+
+
+USER COMMANDS
+
+To add a user command for a specific file type, so that it can only be used in
+one buffer, use the "-buffer" argument to |:command|. Example: >
+
+ command -buffer Make make %:r.s
+
+
+VARIABLES
+
+A filetype plugin will be sourced for each buffer of the type it's for. Local
+script variables will be shared between all invocations. Use local buffer
+variables |b:var| if you want a variable specifically for one buffer.
+
+
+FUNCTIONS
+
+When defining a function, this only needs to be done once. But the filetype
+plugin will be sourced every time a file with this filetype will be opened.
+This construct makes sure the function is only defined once: >
+
+ if !exists("*Func")
+ def Func(arg)
+ ...
+ enddef
+ endif
+<
+
+UNDO *undo_indent* *undo_ftplugin*
+
+When the user does ":setfiletype xyz" the effect of the previous filetype
+should be undone. Set the b:undo_ftplugin variable to the commands that will
+undo the settings in your filetype plugin. Example: >
+
+ let b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
+ \ .. "| unlet b:match_ignorecase b:match_words b:match_skip"
+
+Using ":setlocal" with "<" after the option name resets the option to its
+global value. That is mostly the best way to reset the option value.
+
+This does require removing the "C" flag from 'cpoptions' to allow line
+continuation, as mentioned above |use-cpo-save|.
+
+For undoing the effect of an indent script, the b:undo_indent variable should
+be set accordingly.
+
+Both these variables use legacy script syntax, not |Vim9| syntax.
+
+
+FILE NAME
+
+The filetype must be included in the file name |ftplugin-name|. Use one of
+these three forms:
+
+ .../ftplugin/stuff.vim
+ .../ftplugin/stuff_foo.vim
+ .../ftplugin/stuff/bar.vim
+
+"stuff" is the filetype, "foo" and "bar" are arbitrary names.
+
+
+SUMMARY *ftplugin-special*
+
+Summary of special things to use in a filetype plugin:
+
+<LocalLeader> Value of "maplocalleader", which the user defines as
+ the keys that filetype plugin mappings start with.
+
+map <buffer> Define a mapping local to the buffer.
+
+noremap <script> Only remap mappings defined in this script that start
+ with <SID>.
+
+setlocal Set an option for the current buffer only.
+
+command -buffer Define a user command local to the buffer.
+
+exists("*s:Func") Check if a function was already defined.
+
+Also see |plugin-special|, the special things used for all plugins.
+
+==============================================================================
+*51.3* Writing a compiler plugin *write-compiler-plugin*
+
+A compiler plugin sets options for use with a specific compiler. The user can
+load it with the |:compiler| command. The main use is to set the
+'errorformat' and 'makeprg' options.
+
+Easiest is to have a look at examples. This command will edit all the default
+compiler plugins: >
+
+ next $VIMRUNTIME/compiler/*.vim
+
+Type `:next` to go to the next plugin file.
+
+There are two special items about these files. First is a mechanism to allow
+a user to overrule or add to the default file. The default files start with: >
+
+ vim9script
+ if exists("g:current_compiler")
+ finish
+ endif
+ g:current_compiler = "mine"
+
+When you write a compiler file and put it in your personal runtime directory
+(e.g., ~/.vim/compiler for Unix), you set the "current_compiler" variable to
+make the default file skip the settings.
+ *:CompilerSet*
+The second mechanism is to use ":set" for ":compiler!" and ":setlocal" for
+":compiler". Vim defines the ":CompilerSet" user command for this. However,
+older Vim versions don't, thus your plugin should define it then. This is an
+example: >
+
+ if exists(":CompilerSet") != 2
+ command -nargs=* CompilerSet setlocal <args>
+ endif
+ CompilerSet errorformat& " use the default 'errorformat'
+ CompilerSet makeprg=nmake
+
+When you write a compiler plugin for the Vim distribution or for a system-wide
+runtime directory, use the mechanism mentioned above. When
+"current_compiler" was already set by a user plugin nothing will be done.
+
+When you write a compiler plugin to overrule settings from a default plugin,
+don't check "current_compiler". This plugin is supposed to be loaded
+last, thus it should be in a directory at the end of 'runtimepath'. For Unix
+that could be ~/.vim/after/compiler.
+
+==============================================================================
+*51.4* Writing a plugin that loads quickly *write-plugin-quickload*
+
+A plugin may grow and become quite long. The startup delay may become
+noticeable, while you hardly ever use the plugin. Then it's time for a
+quickload plugin.
+
+The basic idea is that the plugin is loaded twice. The first time user
+commands and mappings are defined that offer the functionality. The second
+time the functions that implement the functionality are defined.
+
+It may sound surprising that quickload means loading a script twice. What we
+mean is that it loads quickly the first time, postponing the bulk of the
+script to the second time, which only happens when you actually use it. When
+you always use the functionality it actually gets slower!
+
+This uses a FuncUndefined autocommand. Since Vim 7 there is an alternative:
+use the |autoload| functionality |51.5|. That will also use |Vim9| script
+instead of legacy script that is used here.
+
+The following example shows how it's done: >
+
+ " Vim global plugin for demonstrating quick loading
+ " Last Change: 2005 Feb 25
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+ " License: This file is placed in the public domain.
+
+ if !exists("s:did_load")
+ command -nargs=* BNRead call BufNetRead(<f-args>)
+ map <F19> :call BufNetWrite('something')<CR>
+
+ let s:did_load = 1
+ exe 'au FuncUndefined BufNet* source ' .. expand('<sfile>')
+ finish
+ endif
+
+ function BufNetRead(...)
+ echo 'BufNetRead(' .. string(a:000) .. ')'
+ " read functionality here
+ endfunction
+
+ function BufNetWrite(...)
+ echo 'BufNetWrite(' .. string(a:000) .. ')'
+ " write functionality here
+ endfunction
+
+When the script is first loaded "s:did_load" is not set. The commands between
+the "if" and "endif" will be executed. This ends in a |:finish| command, thus
+the rest of the script is not executed.
+
+The second time the script is loaded "s:did_load" exists and the commands
+after the "endif" are executed. This defines the (possible long)
+BufNetRead() and BufNetWrite() functions.
+
+If you drop this script in your plugin directory Vim will execute it on
+startup. This is the sequence of events that happens:
+
+1. The "BNRead" command is defined and the <F19> key is mapped when the script
+ is sourced at startup. A |FuncUndefined| autocommand is defined. The
+ ":finish" command causes the script to terminate early.
+
+2. The user types the BNRead command or presses the <F19> key. The
+ BufNetRead() or BufNetWrite() function will be called.
+
+3. Vim can't find the function and triggers the |FuncUndefined| autocommand
+ event. Since the pattern "BufNet*" matches the invoked function, the
+ command "source fname" will be executed. "fname" will be equal to the name
+ of the script, no matter where it is located, because it comes from
+ expanding "<sfile>" (see |expand()|).
+
+4. The script is sourced again, the "s:did_load" variable exists and the
+ functions are defined.
+
+Notice that the functions that are loaded afterwards match the pattern in the
+|FuncUndefined| autocommand. You must make sure that no other plugin defines
+functions that match this pattern.
+
+==============================================================================
+*51.5* Writing library scripts *write-library-script*
+
+Some functionality will be required in several places. When this becomes more
+than a few lines you will want to put it in one script and use it from many
+scripts. We will call that one script a library script.
+
+Manually loading a library script is possible, so long as you avoid loading it
+when it's already done. You can do this with the |exists()| function.
+Example: >
+
+ if !exists('*MyLibFunction')
+ runtime library/mylibscript.vim
+ endif
+ MyLibFunction(arg)
+
+Here you need to know that MyLibFunction() is defined in a script
+"library/mylibscript.vim" in one of the directories in 'runtimepath'.
+
+To make this a bit simpler Vim offers the autoload mechanism. Then the
+example looks like this: >
+
+ mylib#myfunction(arg)
+
+That's a lot simpler, isn't it? Vim will recognize the function name by the
+embedded "#" character and when it's not defined search for the script
+"autoload/mylib.vim" in 'runtimepath'. That script must define the
+"mylib#myfunction()" function.
+
+You can put many other functions in the mylib.vim script, you are free to
+organize your functions in library scripts. But you must use function names
+where the part before the '#' matches the script name. Otherwise Vim would
+not know what script to load.
+
+If you get really enthusiastic and write lots of library scripts, you may
+want to use subdirectories. Example: >
+
+ netlib#ftp#read('somefile')
+
+For Unix the library script used for this could be:
+
+ ~/.vim/autoload/netlib/ftp.vim
+
+Where the function is defined like this: >
+
+ def netlib#ftp#read(fname: string)
+ # Read the file fname through ftp
+ enddef
+
+Notice that the name the function is defined with is exactly the same as the
+name used for calling the function. And the part before the last '#'
+exactly matches the subdirectory and script name.
+
+You can use the same mechanism for variables: >
+
+ var weekdays = dutch#weekdays
+
+This will load the script "autoload/dutch.vim", which should contain something
+like: >
+
+ var dutch#weekdays = ['zondag', 'maandag', 'dinsdag', 'woensdag',
+ \ 'donderdag', 'vrijdag', 'zaterdag']
+
+Further reading: |autoload|.
+
+==============================================================================
+*51.6* Distributing Vim scripts *distribute-script*
+
+Vim users will look for scripts on the Vim website: http://www.vim.org.
+If you made something that is useful for others, share it!
+
+Another place is github. But there you need to know where to find it! The
+advantage is that most plugin managers fetch plugins from github. You'll have
+to use your favorite search engine to find them.
+
+Vim scripts can be used on any system. However, there might not be a tar or
+gzip command. If you want to pack files together and/or compress them the
+"zip" utility is recommended.
+
+For utmost portability use Vim itself to pack scripts together. This can be
+done with the Vimball utility. See |vimball|.
+
+It's good if you add a line to allow automatic updating. See |glvs-plugins|.
+
+==============================================================================
+
+Next chapter: |usr_52.txt| Write plugins using Vim9 script
+
+Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/usr_46.txt b/runtime/doc/usr_52.txt
index 0986ba104..70338e79a 100644
--- a/runtime/doc/usr_46.txt
+++ b/runtime/doc/usr_52.txt
@@ -1,4 +1,4 @@
-*usr_46.txt* For Vim version 8.2. Last change: 2020 Jun 14
+*usr_52.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -9,17 +9,17 @@ The Vim9 script language is used for writing plugins, especially larger ones
that use multiple files. This chapter explains how to split up a plugin into
modules, import and export items and keep the rest local.
-|46.1| Introduction
-|46.2| Variable declarations
-|46.3| Functions and types
-|46.?| Using a Vim9 script from legacy script
+|52.1| Introduction
+|52.2| Variable declarations
+|52.3| Functions and types
+|52.4| Using a Vim9 script from legacy script
Next chapter: |usr_90.txt| Installing Vim
- Previous chapter: |usr_45.txt| Select your language (locale)
+ Previous chapter: |usr_51.txt| Create a plugin
Table of contents: |usr_toc.txt|
==============================================================================
-*46.1* Introduction *vim9-script-intro*
+*52.1* Introduction *vim9-script-intro*
Vim9 script was designed to make it easier to write large Vim scripts. It
looks more like other script languages, especially Typescript. Also,
@@ -69,7 +69,7 @@ Notice that the assignment `result = GetPart(count)` does not use the `let`
command. That is explained in the next section.
==============================================================================
-*46.2* Variable declarations *vim9-declarations*
+*52.2* Variable declarations *vim9-declarations*
In Vim9 script variables are declared once with a `:let` or `:const` command.
Assigning a value is done without `:let` and it is not possible to `:unlet`
@@ -108,7 +108,7 @@ Although it's shorter to do: >
let word = condition ? 'yes' : 'no'
==============================================================================
-*46.3* Functions and types
+*52.3* Functions and types
Legacy Vim script does have type checking, but this happens at runtime, when
the code is executed. And it's permissive, often a computation gives an
@@ -161,7 +161,7 @@ multiple types, you can use the "any" type: >
enddef
==============================================================================
-*46.?* Using a Vim9 script from legacy script *source-vim9-script*
+*52.4* Using a Vim9 script from legacy script *source-vim9-script*
In some cases you have a legacy Vim script where you want to use items from a
Vim9 script. For example in your .vimrc you want to initialize a plugin. The
diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt
index c1f3641f0..574cfa971 100644
--- a/runtime/doc/usr_90.txt
+++ b/runtime/doc/usr_90.txt
@@ -1,4 +1,4 @@
-*usr_90.txt* For Vim version 8.2. Last change: 2020 Jun 11
+*usr_90.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -15,7 +15,7 @@ upgrading to a new version is done.
|90.4| Common installation issues
|90.5| Uninstalling Vim
- Previous chapter: |usr_46.txt| Write plugins using Vim9 script
+ Previous chapter: |usr_52.txt| Write plugins using Vim9 script
Table of contents: |usr_toc.txt|
==============================================================================
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index 816cf065c..d2173a08c 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -1,4 +1,4 @@
-*usr_toc.txt* For Vim version 8.2. Last change: 2020 Jun 15
+*usr_toc.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -7,7 +7,7 @@
==============================================================================
Overview ~
-Getting Started
+Getting Started ~
|usr_01.txt| About the manuals
|usr_02.txt| The first steps in Vim
|usr_03.txt| Moving around
@@ -21,7 +21,7 @@ Getting Started
|usr_11.txt| Recovering from a crash
|usr_12.txt| Clever tricks
-Editing Effectively
+Editing Effectively ~
|usr_20.txt| Typing command-line commands quickly
|usr_21.txt| Go away and come back
|usr_22.txt| Finding the file to edit
@@ -36,24 +36,28 @@ Editing Effectively
|usr_31.txt| Exploiting the GUI
|usr_32.txt| The undo tree
-Tuning Vim
+Tuning Vim ~
|usr_40.txt| Make new commands
|usr_41.txt| Write a Vim script
|usr_42.txt| Add new menus
|usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language (locale)
-|usr_46.txt| Write plugins using Vim9 script
-Making Vim Run
+Writing Vim script ~
+|usr_50.txt| Advanced Vim script writing
+|usr_51.txt| Create a plugin
+|usr_52.txt| Write plugins using Vim9 script
+
+Making Vim Run ~
|usr_90.txt| Installing Vim
-Reference manual
+Reference manual ~
|reference_toc| More detailed information for all commands
-The user manual is available as a single, ready to print HTML and PDF file
-here:
+The user manual (an older version) is available as a single, ready to print
+HTML and PDF file here:
http://vimdoc.sf.net
==============================================================================
@@ -302,12 +306,6 @@ Make Vim work as you like it.
|41.8| Lists and Dictionaries
|41.9| Exceptions
|41.10| Various remarks
- |41.11| Writing a plugin
- |41.12| Writing a filetype plugin
- |41.13| Writing a compiler plugin
- |41.14| Writing a plugin that loads quickly
- |41.15| Writing library scripts
- |41.16| Distributing Vim scripts
|usr_42.txt| Add new menus
|42.1| Introduction
@@ -340,11 +338,24 @@ Make Vim work as you like it.
|45.4| Editing files with a different encoding
|45.5| Entering language text
-|usr_46.txt| Write plugins using Vim9 script
- |46.1| Introduction
- |46.2| Variable declarations
- |46.3| Functions and types
- |46.?| Using a Vim9 script from legacy script
+==============================================================================
+Writing Vim script ~
+
+|usr_50.txt| TODO
+
+|usr_51.txt| Write plugins
+ |51.1| Writing a generic plugin
+ |51.2| Writing a filetype plugin
+ |51.3| Writing a compiler plugin
+ |51.4| Writing a plugin that loads quickly
+ |51.5| Writing library scripts
+ |51.6| Distributing Vim scripts
+
+|usr_52.txt| Write plugins using Vim9 script
+ |52.1| Introduction
+ |52.2| Variable declarations
+ |52.3| Functions and types
+ |52.4| Using a Vim9 script from legacy script
==============================================================================
Making Vim Run ~
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 187712904..5a0e5bf88 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt* For Vim version 8.2. Last change: 2022 Apr 28
+*vim9.txt* For Vim version 8.2. Last change: 2022 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -294,7 +294,8 @@ You can use an autoload function if needed, or call a legacy function and have
Reloading a Vim9 script clears functions and variables by default ~
*vim9-reload* *E1149* *E1150*
When loading a legacy Vim script a second time nothing is removed, the
-commands will replace existing variables and functions and create new ones.
+commands will replace existing variables and functions, create new ones, and
+leave removed things hanging around.
When loading a Vim9 script a second time all existing script-local functions
and variables are deleted, thus you start with a clean slate. This is useful
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index 14777f858..6af9df704 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
-" Last Change: 2022 May 12
+" Last Change: 2022 May 13
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -215,7 +215,7 @@ hi def link helpError Error
hi def link helpTodo Todo
hi def link helpURL String
-if expand('%:p') =~ escape($VIMRUNTIME, '\') .. '[/\\]doc[/\\]syntax.txt'
+if expand('%:p') =~ '[/\\]doc[/\\]syntax.txt'
" highlight groups with their respective color
import 'dist/vimhelp.vim'
call vimhelp.HighlightGroups()