changeset 29150:d1fe80fb35e6

Update runtime files Commit: https://github.com/vim/vim/commit/8c1b8cb2e0b52d0853f85c2096a2f22dbc57a788 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 14 17:41:28 2022 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Tue, 14 Jun 2022 18:45:04 +0200
parents b467ffd8824f
children 6dfdbe81899e
files .github/CODEOWNERS runtime/colors/blue.vim runtime/colors/darkblue.vim runtime/colors/delek.vim runtime/colors/desert.vim runtime/colors/elflord.vim runtime/colors/evening.vim runtime/colors/industry.vim runtime/colors/koehler.vim runtime/colors/morning.vim runtime/colors/murphy.vim runtime/colors/pablo.vim runtime/colors/peachpuff.vim runtime/colors/ron.vim runtime/colors/shine.vim runtime/colors/slate.vim runtime/colors/torte.vim runtime/colors/zellner.vim runtime/compiler/perl.vim runtime/compiler/perlcritic.vim runtime/compiler/podchecker.vim runtime/doc/starting.txt runtime/doc/tags runtime/doc/todo.txt runtime/ftplugin/m3build.vim runtime/ftplugin/m3quake.vim runtime/ftplugin/modula3.vim runtime/ftplugin/perl.vim runtime/ftplugin/pod.vim runtime/ftplugin/tap.vim runtime/ftplugin/tt2html.vim runtime/ftplugin/xs.vim runtime/indent/perl.vim runtime/syntax/mason.vim runtime/syntax/perl.vim runtime/syntax/pod.vim runtime/syntax/tap.vim runtime/syntax/tt2.vim runtime/syntax/tt2html.vim runtime/syntax/tt2js.vim runtime/syntax/vim.vim runtime/syntax/xs.vim
diffstat 42 files changed, 2928 insertions(+), 1600 deletions(-) [+]
line wrap: on
line diff
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -59,7 +59,10 @@ runtime/compiler/jjs.vim		@dkearns
 runtime/compiler/jshint.vim		@dkearns
 runtime/compiler/jsonlint.vim		@dkearns
 runtime/compiler/lazbuild.vim		@dkearns
+runtime/compiler/perl.vim		@petdance @heptite
+runtime/compiler/perlcritic.vim		@petdance @dkearns
 runtime/compiler/php.vim		@dkearns
+runtime/compiler/podchecker.vim		@petdance @dkearns
 runtime/compiler/powershell.vim		@heaths
 runtime/compiler/rake.vim		@tpope @dkearns
 runtime/compiler/rhino.vim		@dkearns
@@ -129,7 +132,9 @@ runtime/ftplugin/nsis.vim		@k-takata
 runtime/ftplugin/octave.vim		@dkearns
 runtime/ftplugin/pascal.vim		@dkearns
 runtime/ftplugin/pbtxt.vim		@lakshayg
+runtime/ftplugin/perl.vim		@petdance @dkearns
 runtime/ftplugin/pdf.vim		@tpope
+runtime/ftplugin/pod.vim		@petdance @dkearns
 runtime/ftplugin/postscr.vim		@mrdubya
 runtime/ftplugin/ps1.vim		@heaths
 runtime/ftplugin/ps1xml.vim		@heaths
@@ -141,15 +146,18 @@ runtime/ftplugin/scss.vim		@tpope
 runtime/ftplugin/solution.vim		@dkearns
 runtime/ftplugin/spec.vim		@ignatenkobrain
 runtime/ftplugin/systemverilog.vim	@Kocha
+runtime/ftplugin/tap.vim		@petdance
 runtime/ftplugin/tcsh.vim		@dkearns
 runtime/ftplugin/tidy.vim		@dkearns
 runtime/ftplugin/tmux.vim		@ericpruitt
 runtime/ftplugin/toml.vim		@averms
+runtime/ftplugin/tt2html.vim		@petdance
 runtime/ftplugin/typescript.vim		@dkearns
 runtime/ftplugin/typescriptreact.vim	@dkearns
 runtime/ftplugin/wget.vim		@dkearns
 runtime/ftplugin/wget2.vim		@dkearns
 runtime/ftplugin/xml.vim		@chrisbra
+runtime/ftplugin/xs.vim			@petdance
 runtime/ftplugin/zsh.vim		@chrisbra
 runtime/indent/basic.vim		@dkearns
 runtime/indent/bst.vim			@tpope
@@ -178,6 +186,7 @@ runtime/indent/mma.vim			@dkearns
 runtime/indent/nginx.vim		@chr4
 runtime/indent/nsis.vim			@k-takata
 runtime/indent/occam.vim		@dkearns
+runtime/indent/perl.vim			@petdance
 runtime/indent/postscr.vim		@mrdubya
 runtime/indent/prolog.vim		@dkearns
 runtime/indent/ps1.vim			@heaths
@@ -254,6 +263,7 @@ runtime/syntax/mailcap.vim		@dkearns
 runtime/syntax/make.vim			@rohieb
 runtime/syntax/maple.vim		@cecamp
 runtime/syntax/markdown.vim		@tpope
+runtime/syntax/mason.vim		@petdance
 runtime/syntax/meson.vim		@Liambeguin
 runtime/syntax/modula3.vim		@dkearns
 runtime/syntax/netrw.vim		@cecamp
@@ -263,7 +273,9 @@ runtime/syntax/nsis.vim			@k-takata
 runtime/syntax/pascal.vim		@dkearns
 runtime/syntax/pbtxt.vim		@lakshayg
 runtime/syntax/pdf.vim			@tpope
+runtime/syntax/perl.vim			@petdance
 runtime/syntax/php.vim			@TysonAndre
+runtime/syntax/pod.vim			@petdance
 runtime/syntax/postscr.vim		@mrdubya
 runtime/syntax/privoxy.vim		@dkearns
 runtime/syntax/prolog.vim		@XVilka
@@ -287,18 +299,23 @@ runtime/syntax/sshdconfig.vim		@Jakuje
 runtime/syntax/sudoers.vim		@e-kwsm
 runtime/syntax/systemverilog.vim	@Kocha
 runtime/syntax/tags.vim			@cecamp
+runtime/syntax/tap.vim			@petdance
 runtime/syntax/tcsh.vim			@dkearns
 runtime/syntax/teraterm.vim		@k-takata
 runtime/syntax/tex.vim			@cecamp
 runtime/syntax/tidy.vim			@dkearns
 runtime/syntax/tmux.vim			@ericpruitt
 runtime/syntax/toml.vim			@averms
+runtime/syntax/tt2.vim			@petdance
+runtime/syntax/tt2html.vim		@petdance
+runtime/syntax/tt2js.vim		@petdance
 runtime/syntax/vim.vim			@cecamp
 runtime/syntax/wget.vim			@dkearns
 runtime/syntax/wget2.vim		@dkearns
 runtime/syntax/xbl.vim			@dkearns
 runtime/syntax/xmath.vim		@cecamp
 runtime/syntax/xml.vim			@chrisbra
+runtime/syntax/xs.vim			@petdance
 runtime/syntax/xslt.vim			@Boobies
 runtime/syntax/xxd.vim			@cecamp
 runtime/syntax/yacc.vim			@cecamp
--- a/runtime/colors/blue.vim
+++ b/runtime/colors/blue.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sat 11 Jun 2022 11:16:14 MSK
 
 " Generated by Colortemplate v2.2.0
 
@@ -27,7 +27,7 @@ hi ColorColumn guifg=NONE guibg=#870087 
 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 CursorIM guifg=#000000 guibg=#ffdf00 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
@@ -52,11 +52,6 @@ hi SpellLocal guifg=#ffffff guibg=NONE g
 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
@@ -66,6 +61,19 @@ hi WarningMsg guifg=#d70000 guibg=NONE g
 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 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 Terminal Normal
 hi! link Debug Special
 hi! link diffAdded String
@@ -81,21 +89,14 @@ hi! link lCursor Cursor
 hi! link LineNrAbove LineNr
 hi! link LineNrBelow LineNr
 hi! link CurSearch Search
+hi! link CursorLineNr CursorLine
 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 StatusLineTerm StatusLine
+hi! link StatusLineTermNC StatusLineNC
+hi! link TabLine StatusLineNC
+hi! link TabLineFill StatusLineNC
+hi! link TabLineSel StatusLine
 hi! link Boolean Constant
 hi! link Character Constant
 hi! link Conditional Statement
@@ -134,7 +135,7 @@ if s:t_Co >= 256
   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 CursorIM ctermfg=16 ctermbg=220 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
@@ -159,11 +160,6 @@ if s:t_Co >= 256
   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
@@ -173,6 +169,19 @@ if s:t_Co >= 256
   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 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 Terminal Normal
   hi! link Debug Special
   hi! link diffAdded String
@@ -188,21 +197,14 @@ if s:t_Co >= 256
   hi! link LineNrAbove LineNr
   hi! link LineNrBelow LineNr
   hi! link CurSearch Search
+  hi! link CursorLineNr CursorLine
   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 StatusLineTerm StatusLine
+  hi! link StatusLineTermNC StatusLineNC
+  hi! link TabLine StatusLineNC
+  hi! link TabLineFill StatusLineNC
+  hi! link TabLineSel StatusLine
   hi! link Boolean Constant
   hi! link Character Constant
   hi! link Conditional Statement
@@ -244,7 +246,7 @@ if s:t_Co >= 16
   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 CursorIM ctermfg=black ctermbg=yellow 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
@@ -269,11 +271,6 @@ if s:t_Co >= 16
   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
@@ -283,6 +280,19 @@ if s:t_Co >= 16
   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 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 Terminal Normal
   hi! link Debug Special
   hi! link diffAdded String
@@ -298,21 +308,14 @@ if s:t_Co >= 16
   hi! link LineNrAbove LineNr
   hi! link LineNrBelow LineNr
   hi! link CurSearch Search
+  hi! link CursorLineNr CursorLine
   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 StatusLineTerm StatusLine
+  hi! link StatusLineTermNC StatusLineNC
+  hi! link TabLine StatusLineNC
+  hi! link TabLineFill StatusLineNC
+  hi! link TabLineSel StatusLine
   hi! link Boolean Constant
   hi! link Character Constant
   hi! link Conditional Statement
@@ -344,6 +347,116 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=darkyellow ctermbg=blue cterm=NONE
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Pmenu ctermfg=black ctermbg=cyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
+  hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
+  hi ColorColumn ctermfg=NONE ctermbg=magenta cterm=NONE
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Cursor ctermfg=black ctermbg=green cterm=NONE
+  hi CursorColumn ctermfg=blue ctermbg=yellow cterm=bold,reverse
+  hi CursorIM ctermfg=black ctermbg=yellow cterm=NONE
+  hi EndOfBuffer ctermfg=yellow ctermbg=blue cterm=NONE
+  hi Error ctermfg=red ctermbg=blue cterm=reverse
+  hi ErrorMsg ctermfg=gray ctermbg=red cterm=NONE
+  hi FoldColumn ctermfg=cyan ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=blue ctermbg=yellow 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=blue 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=cyan ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
+  hi SpellBad ctermfg=red ctermbg=yellow cterm=reverse
+  hi SpellCap ctermfg=green ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=gray ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=magenta ctermbg=yellow cterm=reverse
+  hi StatusLine ctermfg=cyan ctermbg=blue cterm=bold,reverse
+  hi StatusLineNC ctermfg=blue ctermbg=cyan cterm=NONE
+  hi ToolbarButton ctermfg=blue ctermbg=gray cterm=bold,reverse
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi VertSplit ctermfg=cyan ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=black ctermbg=cyan cterm=NONE
+  hi VisualNOS ctermfg=cyan ctermbg=gray cterm=NONE
+  hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=blue ctermbg=yellow cterm=NONE
+  hi debugBreakpoint ctermfg=green ctermbg=blue cterm=reverse
+  hi debugPC ctermfg=cyan ctermbg=blue cterm=reverse
+  hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
+  hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+  hi Comment ctermfg=black ctermbg=NONE cterm=bold
+  hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=gray ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=gray ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
+  hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=gray ctermbg=NONE cterm=NONE
+  hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi Type ctermfg=red ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
+  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 CursorLineNr CursorLine
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
+  hi! link StatusLineTerm StatusLine
+  hi! link StatusLineTermNC StatusLineNC
+  hi! link TabLine StatusLineNC
+  hi! link TabLineFill StatusLineNC
+  hi! link TabLineSel StatusLine
+  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=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -444,4 +557,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/darkblue.vim
+++ b/runtime/colors/darkblue.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sat 11 Jun 2022 14:37:41 MSK
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,88 +18,18 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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 TabLineFill TabLine
 hi! link Boolean Constant
 hi! link Character Constant
 hi! link Conditional Statement
@@ -123,94 +53,89 @@ hi! link String Constant
 hi! link Structure Type
 hi! link Tag Special
 hi! link Typedef Type
+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 Normal guifg=#c0c0c0 guibg=#000040 gui=NONE cterm=NONE
+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 QuickFixLine guifg=#000000 guibg=#ff80ff gui=NONE cterm=NONE
+hi Error guifg=#ffa0a0 guibg=NONE gui=reverse cterm=reverse
+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 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 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 TabLine guifg=#000000 guibg=#808080 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 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 TabLineSel guifg=#000040 guibg=#c0c0c0 gui=NONE cterm=NONE
+hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffff60 guibg=#666666 gui=NONE cterm=NONE
+hi Search guifg=#90fff0 guibg=#0030ff 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=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 TabLineFill TabLine
   hi! link Boolean Constant
   hi! link Character Constant
   hi! link Conditional Statement
@@ -234,71 +159,6 @@ if s:t_Co >= 256
   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
@@ -311,8 +171,105 @@ if s:t_Co >= 16
   hi! link diffBDiffer WarningMsg
   hi! link lCursor Cursor
   hi! link CurSearch Search
-  hi! link CursorLineFold CursorLine
-  hi! link CursorLineSign CursorLine
+  hi Normal ctermfg=252 ctermbg=17 cterm=NONE
+  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 QuickFixLine ctermfg=16 ctermbg=213 cterm=NONE
+  hi Error ctermfg=217 ctermbg=NONE cterm=reverse
+  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 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 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 TabLine ctermfg=16 ctermbg=102 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 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 TabLineSel ctermfg=17 ctermbg=252 cterm=NONE
+  hi CursorLine ctermfg=NONE ctermbg=59 cterm=NONE
+  hi CursorLineNr ctermfg=227 ctermbg=59 cterm=NONE
+  hi Search ctermfg=123 ctermbg=27 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=grey ctermbg=black cterm=NONE
+  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 QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
+  hi Error ctermfg=red ctermbg=NONE cterm=reverse
+  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 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 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 TabLine ctermfg=black ctermbg=darkgrey 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 Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
   hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
   hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
@@ -325,29 +282,6 @@ if s:t_Co >= 16
   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
@@ -360,6 +294,67 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi QuickFixLine ctermfg=grey ctermbg=darkmagenta cterm=NONE
+  hi Error ctermfg=darkred ctermbg=grey cterm=reverse
+  hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=darkblue ctermbg=NONE cterm=bold,reverse
+  hi IncSearch ctermfg=grey ctermbg=darkblue cterm=reverse
+  hi LineNr ctermfg=green ctermbg=NONE cterm=bold
+  hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi ModeMsg ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
+  hi Pmenu ctermfg=grey ctermbg=blue cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi PmenuSel ctermfg=blue ctermbg=grey cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Search ctermfg=darkcyan ctermbg=blue cterm=NONE
+  hi SignColumn ctermfg=grey ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi StatusLine ctermfg=darkblue ctermbg=grey cterm=bold,reverse
+  hi StatusLineNC ctermfg=grey ctermbg=black cterm=reverse
+  hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
+  hi TabLine ctermfg=grey ctermbg=black cterm=reverse
+  hi TabLineSel ctermfg=darkblue ctermbg=grey cterm=bold,reverse
+  hi ToolbarButton ctermfg=darkblue ctermbg=grey cterm=bold,reverse
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=blue ctermbg=grey cterm=reverse
+  hi VisualNOS ctermfg=blue ctermbg=grey cterm=reverse,underline
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=yellow ctermbg=black cterm=NONE
+  hi debugBreakpoint ctermfg=darkgreen ctermbg=darkblue cterm=reverse
+  hi debugPC ctermfg=darkcyan ctermbg=darkblue cterm=reverse
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Comment ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -466,4 +461,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/delek.vim
+++ b/runtime/colors/delek.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:50:30 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,11 +18,18 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi! link ErrorMsg Error
 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 StatusLine guifg=#ffff00 guibg=#00008b gui=bold cterm=bold
 hi StatusLineNC guifg=#ffd700 guibg=#00008b gui=NONE cterm=NONE
-hi StatusLineTerm guifg=#ffff00 guibg=#0000ff gui=bold cterm=NONE
+hi StatusLineTerm guifg=#ffff00 guibg=#0000ff gui=bold cterm=bold
 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
@@ -31,9 +38,9 @@ hi PmenuSbar guifg=NONE guibg=#ffffff gu
 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 TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=bold
 hi ToolbarLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
-hi ToolbarButton guifg=#ffffff guibg=#bcbcbc gui=bold cterm=NONE
+hi ToolbarButton guifg=#ffffff guibg=#bcbcbc gui=bold cterm=bold
 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
@@ -42,21 +49,20 @@ hi VisualNOS guifg=NONE guibg=#ee0000 gu
 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 CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=bold
 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 MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
+hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
+hi Question guifg=#00cd00 guibg=NONE gui=bold cterm=bold
 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 WildMenu guifg=#00008b guibg=#ffd700 gui=bold cterm=bold
 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
@@ -69,20 +75,14 @@ hi debugPC guifg=#ff1493 guibg=#0000ff g
 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 Statement guifg=#0000ff guibg=NONE gui=bold cterm=bold
 hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
-hi Type guifg=#0000ff guibg=NONE gui=bold cterm=NONE
+hi Type guifg=#0000ff guibg=NONE gui=bold cterm=bold
 hi Special guifg=#ff1493 guibg=NONE gui=NONE cterm=NONE
-hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
+hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=bold
 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 Title guifg=#cd00cd guibg=NONE gui=bold cterm=bold
 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
@@ -90,11 +90,18 @@ hi DiffText guifg=#000000 guibg=#c6c6c6 
 hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
 
 if s:t_Co >= 256
+  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! link ErrorMsg Error
   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 StatusLine ctermfg=226 ctermbg=18 cterm=bold
   hi StatusLineNC ctermfg=220 ctermbg=18 cterm=NONE
-  hi StatusLineTerm ctermfg=226 ctermbg=21 cterm=NONE
+  hi StatusLineTerm ctermfg=226 ctermbg=21 cterm=bold
   hi StatusLineTermNC ctermfg=254 ctermbg=21 cterm=NONE
   hi VertSplit ctermfg=254 ctermbg=18 cterm=NONE
   hi Pmenu ctermfg=16 ctermbg=152 cterm=NONE
@@ -103,9 +110,9 @@ if s:t_Co >= 256
   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 TabLineSel ctermfg=16 ctermbg=231 cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE
-  hi ToolbarButton ctermfg=231 ctermbg=250 cterm=NONE
+  hi ToolbarButton ctermfg=231 ctermbg=250 cterm=bold
   hi NonText ctermfg=250 ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=250 ctermbg=NONE cterm=NONE
   hi Folded ctermfg=18 ctermbg=254 cterm=NONE
@@ -114,21 +121,20 @@ if s:t_Co >= 256
   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 CursorLineNr ctermfg=124 ctermbg=NONE cterm=bold
   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 MoreMsg ctermfg=16 ctermbg=231 cterm=bold
+  hi ModeMsg ctermfg=16 ctermbg=231 cterm=bold
+  hi Question ctermfg=40 ctermbg=NONE cterm=bold
   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 WildMenu ctermfg=18 ctermbg=220 cterm=bold
   hi ColorColumn ctermfg=16 ctermbg=254 cterm=NONE
   hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
   hi lCursor ctermfg=16 ctermbg=40 cterm=NONE
@@ -141,20 +147,14 @@ if s:t_Co >= 256
   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 Statement ctermfg=21 ctermbg=NONE cterm=bold
   hi PreProc ctermfg=164 ctermbg=NONE cterm=NONE
-  hi Type ctermfg=21 ctermbg=NONE cterm=NONE
+  hi Type ctermfg=21 ctermbg=NONE cterm=bold
   hi Special ctermfg=198 ctermbg=NONE cterm=NONE
-  hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=30 ctermbg=NONE cterm=bold
   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 Title ctermfg=164 ctermbg=NONE cterm=bold
   hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
@@ -167,9 +167,9 @@ endif
 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 StatusLine ctermfg=yellow ctermbg=darkblue cterm=bold
   hi StatusLineNC ctermfg=darkyellow ctermbg=darkblue cterm=NONE
-  hi StatusLineTerm ctermfg=yellow ctermbg=blue cterm=NONE
+  hi StatusLineTerm ctermfg=yellow ctermbg=blue cterm=bold
   hi StatusLineTermNC ctermfg=grey ctermbg=blue cterm=NONE
   hi VertSplit ctermfg=grey ctermbg=darkblue cterm=NONE
   hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
@@ -178,9 +178,9 @@ if s:t_Co >= 16
   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 TabLineSel ctermfg=black ctermbg=white cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE
-  hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
+  hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
   hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
   hi Folded ctermfg=darkblue ctermbg=grey cterm=NONE
@@ -189,21 +189,20 @@ if s:t_Co >= 16
   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 CursorLineNr ctermfg=darkgrey ctermbg=NONE cterm=bold
   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 MoreMsg ctermfg=black ctermbg=white cterm=bold
+  hi ModeMsg ctermfg=black ctermbg=white cterm=bold
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
   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 WildMenu ctermfg=darkblue ctermbg=darkyellow cterm=bold
   hi ColorColumn ctermfg=black ctermbg=grey cterm=NONE
   hi Cursor ctermfg=white ctermbg=black cterm=NONE
   hi lCursor ctermfg=black ctermbg=darkgreen cterm=NONE
@@ -216,20 +215,14 @@ if s:t_Co >= 16
   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 Statement ctermfg=darkblue ctermbg=NONE cterm=bold
   hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
-  hi Type ctermfg=blue ctermbg=NONE cterm=NONE
+  hi Type ctermfg=blue ctermbg=NONE cterm=bold
   hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
-  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
   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 Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
   hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
   hi Visual ctermfg=white ctermbg=darkgrey cterm=NONE
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
@@ -240,6 +233,71 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=black ctermbg=gray cterm=NONE
+  hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi StatusLine ctermfg=darkblue ctermbg=darkyellow cterm=bold,reverse
+  hi StatusLineNC ctermfg=darkblue ctermbg=darkyellow cterm=reverse
+  hi StatusLineTerm ctermfg=darkblue ctermbg=darkyellow cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=darkblue ctermbg=darkyellow cterm=reverse
+  hi VertSplit ctermfg=darkblue ctermbg=darkyellow cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
+  hi TabLine ctermfg=gray ctermbg=black cterm=NONE
+  hi TabLineFill ctermfg=NONE ctermbg=black cterm=NONE
+  hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  hi LineNr ctermfg=NONE ctermbg=NONE cterm=bold
+  hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
+  hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
+  hi Error ctermfg=red ctermbg=gray cterm=reverse
+  hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=black ctermbg=darkmagenta cterm=bold
+  hi Search ctermfg=black ctermbg=darkmagenta cterm=NONE
+  hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi ColorColumn ctermfg=black ctermbg=darkred cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse
+  hi SpellCap ctermfg=darkcyan ctermbg=black cterm=reverse
+  hi SpellLocal ctermfg=darkblue ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=reverse
+  hi debugBreakpoint ctermfg=darkyellow ctermbg=darkblue cterm=NONE
+  hi debugPC ctermfg=darkmagenta 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=bold
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Special ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -328,6 +386,14 @@ endif
 " Color: linenr      #a52a2a        124            darkgrey
 " Color: Yellow      #ffff00        226            yellow
 " Color: SlateBlue   #6a5acd        62             blue
+" Color: black       #000000        16             black
+" Color: darkred     #870000        88             darkred
+" Color: darkgreen   #008700        28             darkgreen
+" Color: darkyellow  #878700        100            darkyellow
+" Color: darkblue    #000087        18             darkblue
+" Color: darkmagenta #870087        18             darkmagenta
+" Color: darkcyan    #008787        30             darkcyan
+" Color: gray        #878787        102            gray
 " 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
@@ -336,4 +402,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/desert.vim
+++ b/runtime/colors/desert.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:51:36 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,8 +18,14 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi! link EndOfBuffer NonText
 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
@@ -33,7 +39,7 @@ hi TabLine guifg=#333333 guibg=#c2bfa5 g
 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 ToolbarButton guifg=#333333 guibg=#ffde9b gui=bold cterm=bold
 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
@@ -43,16 +49,16 @@ hi LineNr guifg=#eeee00 guibg=NONE gui=N
 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 CursorLineNr guifg=#eeee00 guibg=NONE gui=bold cterm=bold
 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 ModeMsg guifg=#ffde9b guibg=NONE gui=bold cterm=bold
+hi WarningMsg guifg=#cd5c5c guibg=NONE gui=bold cterm=bold
+hi MoreMsg guifg=#9acd32 guibg=NONE gui=bold cterm=bold
+hi Question guifg=#89fb98 guibg=NONE gui=bold cterm=bold
 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
@@ -69,29 +75,29 @@ hi SpellLocal guifg=#ffde9b guibg=NONE g
 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 Statement guifg=#f0e68c guibg=NONE gui=bold cterm=bold
 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 Type guifg=#bdb76b guibg=NONE gui=bold cterm=bold
 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 Title guifg=#cd5c5c guibg=NONE gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
+  hi! link EndOfBuffer NonText
   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
@@ -105,7 +111,7 @@ if s:t_Co >= 256
   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 ToolbarButton ctermfg=236 ctermbg=222 cterm=bold
   hi NonText ctermfg=81 ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=112 ctermbg=NONE cterm=NONE
   hi Folded ctermfg=226 ctermbg=239 cterm=NONE
@@ -115,16 +121,16 @@ if s:t_Co >= 256
   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 CursorLineNr ctermfg=226 ctermbg=NONE cterm=bold
   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 ModeMsg ctermfg=222 ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=167 ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=112 ctermbg=NONE cterm=bold
+  hi Question ctermfg=120 ctermbg=NONE cterm=bold
   hi Todo ctermfg=196 ctermbg=226 cterm=NONE
   hi MatchParen ctermfg=242 ctermbg=143 cterm=NONE
   hi Search ctermfg=186 ctermbg=242 cterm=NONE
@@ -139,21 +145,15 @@ if s:t_Co >= 256
   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 Statement ctermfg=186 ctermbg=NONE cterm=bold
   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 Type ctermfg=143 ctermbg=NONE cterm=bold
   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 Title ctermfg=167 ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -164,7 +164,6 @@ endif
 
 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
@@ -183,50 +182,44 @@ if s:t_Co >= 16
   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 VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
   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 CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
   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 ModeMsg ctermfg=magenta ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Question ctermfg=green ctermbg=NONE cterm=bold
   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 SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkblue ctermbg=grey cterm=reverse
+  hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=reverse
   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 Statement ctermfg=yellow ctermbg=NONE cterm=bold
   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 Type ctermfg=darkyellow ctermbg=NONE cterm=bold
   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 Title ctermfg=darkred ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -235,6 +228,72 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi StatusLine ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi StatusLineNC ctermfg=grey ctermbg=black cterm=reverse
+  hi StatusLineTerm ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=grey ctermbg=black cterm=reverse
+  hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
+  hi TabLine ctermfg=black ctermbg=grey cterm=NONE
+  hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
+  hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi SpecialKey ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=darkred ctermbg=grey cterm=reverse
+  hi ErrorMsg ctermfg=darkred ctermbg=grey cterm=reverse
+  hi ModeMsg ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Todo ctermfg=darkred 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=darkyellow cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkmagenta cterm=NONE
+  hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
+  hi debugPC ctermfg=grey ctermbg=NONE cterm=reverse
+  hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkblue ctermbg=grey cterm=reverse
+  hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi Comment ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Special ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkred ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -332,4 +391,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/elflord.vim
+++ b/runtime/colors/elflord.vim
@@ -3,7 +3,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:48:00 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -52,7 +52,7 @@ hi QuickFixLine guifg=#ffffff guibg=#2e8
 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 CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=bold
 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
@@ -63,14 +63,14 @@ hi FoldColumn guifg=#00ffff guibg=NONE g
 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 ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
+hi NonText guifg=#0000ff guibg=NONE gui=bold cterm=bold
 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 Question guifg=#00ff00 guibg=NONE gui=bold cterm=bold
 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
@@ -78,13 +78,13 @@ hi SpellBad guifg=#ff0000 guibg=NONE gui
 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 StatusLine guifg=#000000 guibg=#00ffff gui=bold cterm=bold
 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 TabLineSel guifg=#00ffff guibg=#000000 gui=bold cterm=bold
 hi Terminal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
-hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
 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
@@ -100,13 +100,13 @@ hi Operator guifg=#ff0000 guibg=NONE gui
 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 Statement guifg=#aa4444 guibg=NONE gui=bold cterm=bold
 hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
-hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=NONE
+hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=bold
 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 ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=bold
 hi! link LineNrAbove LineNr
 hi! link LineNrBelow LineNr
 hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
@@ -120,7 +120,7 @@ if s:t_Co >= 256
   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 CursorLineNr ctermfg=226 ctermbg=NONE cterm=bold
   hi Folded ctermfg=51 ctermbg=59 cterm=NONE
   hi Conceal ctermfg=59 ctermbg=NONE cterm=NONE
   hi Cursor ctermfg=16 ctermbg=51 cterm=NONE
@@ -131,14 +131,14 @@ if s:t_Co >= 256
   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 ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=29 ctermbg=NONE cterm=bold
+  hi NonText ctermfg=21 ctermbg=NONE cterm=bold
   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 Question ctermfg=46 ctermbg=NONE cterm=bold
   hi Search ctermfg=16 ctermbg=226 cterm=NONE
   hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
@@ -146,13 +146,13 @@ if s:t_Co >= 256
   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 StatusLine ctermfg=16 ctermbg=51 cterm=bold
   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 TabLineSel ctermfg=51 ctermbg=16 cterm=bold
   hi Terminal ctermfg=51 ctermbg=16 cterm=NONE
-  hi Title ctermfg=201 ctermbg=NONE cterm=NONE
+  hi Title ctermfg=201 ctermbg=NONE cterm=bold
   hi VertSplit ctermfg=16 ctermbg=44 cterm=NONE
   hi Visual ctermfg=16 ctermbg=145 cterm=NONE
   hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
@@ -168,13 +168,13 @@ if s:t_Co >= 256
   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 Statement ctermfg=131 ctermbg=NONE cterm=bold
   hi Todo ctermfg=21 ctermbg=226 cterm=NONE
-  hi Type ctermfg=83 ctermbg=NONE cterm=NONE
+  hi Type ctermfg=83 ctermbg=NONE cterm=bold
   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 ToolbarButton ctermfg=16 ctermbg=254 cterm=bold
   hi! link LineNrAbove LineNr
   hi! link LineNrBelow LineNr
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
@@ -202,14 +202,14 @@ if s:t_Co >= 16
   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 ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=bold
   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 Question ctermfg=green ctermbg=NONE cterm=bold
   hi Search ctermfg=black ctermbg=yellow cterm=NONE
   hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
@@ -217,13 +217,13 @@ if s:t_Co >= 16
   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 StatusLine ctermfg=black ctermbg=cyan cterm=bold
   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 TabLineSel ctermfg=cyan ctermbg=black cterm=bold
   hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
-  hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
+  hi Title ctermfg=magenta ctermbg=NONE cterm=bold
   hi VertSplit ctermfg=black ctermbg=darkcyan cterm=NONE
   hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
   hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
@@ -239,19 +239,89 @@ if s:t_Co >= 16
   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 Statement ctermfg=darkred ctermbg=NONE cterm=bold
   hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
-  hi Type ctermfg=green ctermbg=NONE cterm=NONE
+  hi Type ctermfg=green ctermbg=NONE cterm=bold
   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=bold
+  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
+
+if s:t_Co >= 8
+  hi Normal ctermfg=darkcyan ctermbg=black cterm=NONE
+  hi QuickFixLine ctermfg=grey ctermbg=darkgreen cterm=NONE
+  hi ColorColumn ctermfg=darkcyan ctermbg=darkred cterm=NONE
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=underline
+  hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
+  hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi IncSearch ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi MatchParen ctermfg=black 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=grey ctermbg=NONE cterm=NONE
+  hi PmenuSbar ctermfg=grey ctermbg=grey cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=darkcyan cterm=NONE
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkblue ctermbg=darkyellow cterm=reverse
+  hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi StatusLine ctermfg=darkcyan ctermbg=NONE cterm=bold,reverse
+  hi StatusLineNC ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi TabLine ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi TabLineSel ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Terminal ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi VertSplit ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi Visual ctermfg=black ctermbg=grey cterm=NONE
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+  hi Function ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=black ctermbg=NONE cterm=NONE
+  hi Operator ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Repeat ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=darkblue 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 DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
-  hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
   unlet s:t_Co
   finish
 endif
@@ -372,4 +442,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/evening.vim
+++ b/runtime/colors/evening.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:52:56 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,52 +18,10 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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 VertSplit StatusLineNC
 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
@@ -83,18 +41,6 @@ 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
@@ -118,58 +64,70 @@ hi! link String Constant
 hi! link Structure Type
 hi! link Tag Special
 hi! link Typedef Type
+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=bold
+hi StatusLineNC guifg=#333333 guibg=#d3d3d3 gui=NONE cterm=NONE
+hi TabLineSel guifg=#333333 guibg=#ffffff gui=bold cterm=bold
+hi TabLine guifg=#333333 guibg=#d3d3d3 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 QuickFixLine guifg=#ffffff guibg=#8b008b gui=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 LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
+hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+hi FoldColumn guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
+hi Folded guifg=#00008b guibg=#d3d3d3 gui=bold cterm=bold
+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=bold
+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 ToolbarButton guifg=NONE guibg=#999999 gui=bold cterm=bold
+hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=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=bold,underline
+hi WarningMsg guifg=#8b0000 guibg=NONE gui=NONE cterm=NONE
+hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=bold
+hi debugBreakpoint guifg=#00008b guibg=#ff0000 gui=NONE cterm=NONE
+hi debugPC guifg=#00008b guibg=#0000ff 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 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=bold
+hi Todo guifg=#ffff00 guibg=#0000ff gui=reverse cterm=reverse
+hi Type guifg=#00ff00 guibg=NONE gui=bold cterm=bold
+hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
 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 VertSplit StatusLineNC
   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
@@ -189,18 +147,6 @@ if s:t_Co >= 256
   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
@@ -224,6 +170,60 @@ if s:t_Co >= 256
   hi! link Structure Type
   hi! link Tag Special
   hi! link Typedef Type
+  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=bold
+  hi StatusLineNC ctermfg=236 ctermbg=252 cterm=NONE
+  hi TabLineSel ctermfg=236 ctermbg=231 cterm=bold
+  hi TabLine ctermfg=236 ctermbg=252 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 QuickFixLine ctermfg=231 ctermbg=90 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 LineNr ctermfg=226 ctermbg=NONE cterm=NONE
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=153 ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=18 ctermbg=252 cterm=bold
+  hi IncSearch ctermfg=46 ctermbg=NONE cterm=reverse
+  hi MatchParen ctermfg=NONE ctermbg=30 cterm=NONE
+  hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  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 ToolbarButton ctermfg=NONE ctermbg=246 cterm=bold
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=231 ctermbg=246 cterm=NONE
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
+  hi WarningMsg ctermfg=88 ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=16 ctermbg=226 cterm=bold
+  hi debugBreakpoint ctermfg=18 ctermbg=196 cterm=NONE
+  hi debugPC ctermfg=18 ctermbg=21 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 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=bold
+  hi Todo ctermfg=226 ctermbg=21 cterm=reverse
+  hi Type ctermfg=46 ctermbg=NONE cterm=bold
+  hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -233,52 +233,10 @@ if s:t_Co >= 256
 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 VertSplit StatusLineNC
   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
@@ -298,18 +256,6 @@ if s:t_Co >= 16
   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
@@ -333,6 +279,60 @@ if s:t_Co >= 16
   hi! link Structure Type
   hi! link Tag Special
   hi! link Typedef Type
+  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 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 QuickFixLine ctermfg=white ctermbg=darkmagenta 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 LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=lightblue ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=darkblue ctermbg=gray cterm=bold
+  hi IncSearch ctermfg=green ctermbg=NONE cterm=reverse
+  hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
+  hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  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 ToolbarButton ctermfg=NONE ctermbg=darkgray cterm=bold
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=white ctermbg=darkgray cterm=NONE
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=bold,underline
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
+  hi debugBreakpoint ctermfg=darkblue ctermbg=red cterm=NONE
+  hi debugPC ctermfg=darkblue ctermbg=blue 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 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=bold
+  hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
+  hi Type ctermfg=green ctermbg=NONE cterm=bold
+  hi Underlined ctermfg=lightblue ctermbg=NONE cterm=underline
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -341,6 +341,68 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=gray ctermbg=black cterm=NONE
+  hi ColorColumn ctermfg=gray ctermbg=darkred cterm=NONE
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=bold
+  hi StatusLine ctermfg=gray ctermbg=black cterm=bold,reverse
+  hi StatusLineNC ctermfg=gray ctermbg=black cterm=reverse
+  hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse
+  hi TabLine ctermfg=gray ctermbg=black cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=black cterm=NONE
+  hi QuickFixLine ctermfg=gray ctermbg=darkmagenta cterm=NONE
+  hi Error ctermfg=red ctermbg=gray cterm=reverse
+  hi ErrorMsg ctermfg=gray ctermbg=red cterm=NONE
+  hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=darkblue ctermbg=gray cterm=NONE
+  hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
+  hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi NonText ctermfg=blue ctermbg=NONE cterm=bold
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=gray ctermbg=black cterm=bold,reverse
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi debugBreakpoint ctermfg=darkblue ctermbg=darkred cterm=NONE
+  hi debugPC ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Comment ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=gray ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -445,4 +507,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/industry.vim
+++ b/runtime/colors/industry.vim
@@ -4,7 +4,7 @@
 " Maintainer:   Original maintainer Shian Lee.
 " Website:      https://github.com/vim/colorschemes
 " License:      Same as Vim
-" Last Updated: Wed May 11 22:56:38 2022
+" Last Updated: Sun Jun 12 10:53:58 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -20,9 +20,9 @@ if (has('termguicolors') && &termguicolo
 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 StatusLine guifg=#000000 guibg=#dadada gui=bold cterm=bold
 hi StatusLineNC guifg=#000000 guibg=#6c6c6c gui=NONE cterm=NONE
-hi StatusLineTerm guifg=#000000 guibg=#00ff00 gui=bold cterm=NONE
+hi StatusLineTerm guifg=#000000 guibg=#00ff00 gui=bold cterm=bold
 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
@@ -31,8 +31,8 @@ hi PmenuSbar guifg=NONE guibg=#000000 gu
 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 TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=bold
+hi ToolbarButton guifg=#dadada guibg=#6c6c6c gui=bold cterm=bold
 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
@@ -40,7 +40,7 @@ hi Folded guifg=#00afaf guibg=#303030 gu
 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 CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=bold
 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
@@ -50,10 +50,10 @@ hi SignColumn guifg=#00afaf guibg=NONE g
 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 ModeMsg guifg=#ffffff guibg=NONE gui=bold cterm=bold
+hi WarningMsg guifg=#870000 guibg=NONE gui=bold cterm=bold
+hi MoreMsg guifg=#5fd75f guibg=NONE gui=bold cterm=bold
+hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=bold
 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
@@ -68,16 +68,16 @@ hi SpellRare guifg=#00ff00 guibg=NONE gu
 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 Statement guifg=#ffffff guibg=NONE gui=bold cterm=bold
 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 Type guifg=#00ff00 guibg=NONE gui=bold cterm=bold
 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 Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
 hi! link Terminal Normal
 hi! link LineNrAbove LineNr
 hi! link LineNrBelow LineNr
@@ -92,9 +92,9 @@ hi DiffDelete guifg=#ffffff guibg=#af5fa
 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 StatusLine ctermfg=16 ctermbg=253 cterm=bold
   hi StatusLineNC ctermfg=16 ctermbg=242 cterm=NONE
-  hi StatusLineTerm ctermfg=16 ctermbg=46 cterm=NONE
+  hi StatusLineTerm ctermfg=16 ctermbg=46 cterm=bold
   hi StatusLineTermNC ctermfg=16 ctermbg=77 cterm=NONE
   hi VertSplit ctermfg=16 ctermbg=242 cterm=NONE
   hi Pmenu ctermfg=253 ctermbg=238 cterm=NONE
@@ -103,8 +103,8 @@ if s:t_Co >= 256
   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 TabLineSel ctermfg=231 ctermbg=16 cterm=bold
+  hi ToolbarButton ctermfg=253 ctermbg=242 cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE
   hi NonText ctermfg=37 ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=37 ctermbg=NONE cterm=NONE
@@ -112,7 +112,7 @@ if s:t_Co >= 256
   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 CursorLineNr ctermfg=226 ctermbg=NONE cterm=bold
   hi ColorColumn ctermfg=NONE ctermbg=238 cterm=NONE
   hi QuickFixLine ctermfg=16 ctermbg=201 cterm=NONE
   hi VisualNOS ctermfg=253 ctermbg=242 cterm=NONE
@@ -122,10 +122,10 @@ if s:t_Co >= 256
   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 ModeMsg ctermfg=231 ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=88 ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=77 ctermbg=NONE cterm=bold
+  hi Question ctermfg=46 ctermbg=NONE cterm=bold
   hi Todo ctermfg=27 ctermbg=226 cterm=NONE
   hi MatchParen ctermfg=236 ctermbg=142 cterm=NONE
   hi Search ctermfg=16 ctermbg=226 cterm=NONE
@@ -140,16 +140,16 @@ if s:t_Co >= 256
   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 Statement ctermfg=231 ctermbg=NONE cterm=bold
   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 Type ctermfg=46 ctermbg=NONE cterm=bold
   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 Title ctermfg=201 ctermbg=NONE cterm=bold
   hi! link Terminal Normal
   hi! link LineNrAbove LineNr
   hi! link LineNrBelow LineNr
@@ -167,9 +167,9 @@ endif
 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 StatusLine ctermfg=black ctermbg=white cterm=bold
   hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
-  hi StatusLineTerm ctermfg=black ctermbg=green cterm=NONE
+  hi StatusLineTerm ctermfg=black ctermbg=green cterm=bold
   hi StatusLineTermNC ctermfg=black ctermbg=darkgreen cterm=NONE
   hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
   hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
@@ -178,7 +178,7 @@ if s:t_Co >= 16
   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 TabLineSel ctermfg=white ctermbg=black cterm=bold
   hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
   hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
   hi NonText ctermfg=darkcyan ctermbg=NONE cterm=NONE
@@ -197,10 +197,10 @@ if s:t_Co >= 16
   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 ModeMsg ctermfg=white ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Question ctermfg=green ctermbg=NONE cterm=bold
   hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
   hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
   hi Search ctermfg=black ctermbg=yellow cterm=NONE
@@ -215,16 +215,16 @@ if s:t_Co >= 16
   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 Statement ctermfg=white ctermbg=NONE cterm=bold
   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 Type ctermfg=green ctermbg=NONE cterm=bold
   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 Title ctermfg=magenta ctermbg=NONE cterm=bold
   hi! link Terminal Normal
   hi! link LineNrAbove LineNr
   hi! link LineNrBelow LineNr
@@ -239,6 +239,73 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi EndOfBuffer ctermfg=grey ctermbg=black cterm=bold
+  hi StatusLine ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi StatusLineNC ctermfg=grey ctermbg=black cterm=reverse
+  hi StatusLineTerm ctermfg=darkgreen ctermbg=black cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=darkgreen ctermbg=black cterm=reverse
+  hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+  hi PmenuThumb ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi TabLine ctermfg=black ctermbg=grey cterm=NONE
+  hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
+  hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  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=NONE ctermbg=NONE cterm=reverse
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
+  hi VisualNOS ctermfg=black ctermbg=grey cterm=NONE
+  hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+  hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
+  hi ModeMsg ctermfg=grey ctermbg=NONE cterm=NONE
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkblue ctermbg=darkyellow cterm=reverse
+  hi SpellLocal ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi Comment ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=magenta ctermbg=NONE cterm=NONE
+  hi Function ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=grey ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Delimiter ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -334,4 +401,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/koehler.vim
+++ b/runtime/colors/koehler.vim
@@ -3,7 +3,7 @@
 " 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
+" Last Updated: Sat 11 Jun 2022 11:24:58 MSK
 
 " Generated by Colortemplate v2.2.0
 
@@ -57,25 +57,25 @@ hi Normal guifg=#ffffff guibg=#000000 gu
 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 CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=bold
 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 EndOfBuffer guifg=#cd0000 guibg=NONE gui=bold cterm=bold
 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 ModeMsg guifg=#ffffff guibg=#0000ff gui=bold cterm=bold
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
+hi NonText guifg=#cd0000 guibg=NONE gui=bold cterm=bold
 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 Question guifg=#5c5cff guibg=NONE gui=bold cterm=bold
 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
@@ -83,12 +83,12 @@ hi SpellBad guifg=#ff0000 guibg=NONE gui
 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 StatusLine guifg=#0000ff guibg=#ffffff gui=bold cterm=bold
 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 TabLine guifg=#0000ff guibg=#ffffff gui=bold cterm=bold
+hi TabLineFill guifg=#0000ff guibg=#ffffff gui=bold cterm=bold
+hi TabLineSel guifg=#ffffff guibg=#0000ff gui=bold cterm=bold
+hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
 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
@@ -101,13 +101,13 @@ hi Identifier guifg=#40ffff guibg=NONE g
 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 Statement guifg=#ffff60 guibg=NONE gui=bold cterm=bold
 hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
-hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=NONE
+hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=bold
 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 ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=bold
 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
@@ -118,25 +118,25 @@ if s:t_Co >= 256
   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 CursorLineNr ctermfg=226 ctermbg=NONE cterm=bold
   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 EndOfBuffer ctermfg=160 ctermbg=NONE cterm=bold
   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 ModeMsg ctermfg=231 ctermbg=21 cterm=bold
+  hi MoreMsg ctermfg=29 ctermbg=NONE cterm=bold
+  hi NonText ctermfg=160 ctermbg=NONE cterm=bold
   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 Question ctermfg=63 ctermbg=NONE cterm=bold
   hi Search ctermfg=231 ctermbg=196 cterm=NONE
   hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=160 ctermbg=NONE cterm=NONE
@@ -144,12 +144,12 @@ if s:t_Co >= 256
   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 StatusLine ctermfg=21 ctermbg=231 cterm=bold
   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 TabLine ctermfg=21 ctermbg=231 cterm=bold
+  hi TabLineFill ctermfg=21 ctermbg=231 cterm=bold
+  hi TabLineSel ctermfg=231 ctermbg=21 cterm=bold
+  hi Title ctermfg=201 ctermbg=NONE cterm=bold
   hi VertSplit ctermfg=21 ctermbg=254 cterm=NONE
   hi Visual ctermfg=NONE ctermbg=59 cterm=reverse
   hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
@@ -162,13 +162,13 @@ if s:t_Co >= 256
   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 Statement ctermfg=227 ctermbg=NONE cterm=bold
   hi Todo ctermfg=21 ctermbg=226 cterm=NONE
-  hi Type ctermfg=83 ctermbg=NONE cterm=NONE
+  hi Type ctermfg=83 ctermbg=NONE cterm=bold
   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 ToolbarButton ctermfg=16 ctermbg=254 cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -180,27 +180,27 @@ endif
 if s:t_Co >= 16
   hi Normal ctermfg=white ctermbg=black cterm=NONE
   hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
+  hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
   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 EndOfBuffer ctermfg=darkred ctermbg=NONE cterm=bold
   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 ModeMsg ctermfg=white ctermbg=darkblue cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi NonText ctermfg=darkred ctermbg=NONE cterm=bold
   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 Question ctermfg=blue ctermbg=NONE cterm=bold
   hi Search ctermfg=white ctermbg=red cterm=NONE
   hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=darkred ctermbg=NONE cterm=NONE
@@ -208,12 +208,12 @@ if s:t_Co >= 16
   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 StatusLine ctermfg=darkblue ctermbg=white cterm=bold
   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 TabLine ctermfg=darkblue ctermbg=white cterm=bold
+  hi TabLineFill ctermfg=darkblue ctermbg=white cterm=bold
+  hi TabLineSel ctermfg=white ctermbg=darkblue cterm=bold
+  hi Title ctermfg=magenta ctermbg=NONE cterm=bold
   hi VertSplit ctermfg=darkblue ctermbg=grey cterm=NONE
   hi Visual ctermfg=NONE ctermbg=darkgrey cterm=reverse
   hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
@@ -226,13 +226,13 @@ if s:t_Co >= 16
   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 Statement ctermfg=yellow ctermbg=NONE cterm=bold
   hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
-  hi Type ctermfg=green ctermbg=NONE cterm=NONE
+  hi Type ctermfg=green ctermbg=NONE cterm=bold
   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 ToolbarButton ctermfg=black ctermbg=grey cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -241,6 +241,68 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=underline
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi EndOfBuffer ctermfg=darkred ctermbg=NONE cterm=bold
+  hi ErrorMsg ctermfg=darkred ctermbg=grey cterm=bold,reverse
+  hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi MatchParen ctermfg=NONE ctermbg=darkblue cterm=NONE
+  hi ModeMsg ctermfg=white ctermbg=darkblue cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi NonText ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Pmenu ctermfg=grey 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=darkcyan cterm=NONE
+  hi Question ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Search ctermfg=grey ctermbg=darkred cterm=NONE
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi StatusLine ctermfg=grey ctermbg=darkblue cterm=bold,reverse
+  hi StatusLineNC ctermfg=grey ctermbg=darkblue cterm=reverse
+  hi TabLine ctermfg=grey ctermbg=darkblue cterm=bold,reverse
+  hi TabLineFill ctermfg=darkblue ctermbg=grey cterm=bold
+  hi TabLineSel ctermfg=grey ctermbg=darkblue cterm=bold
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi VertSplit ctermfg=darkblue ctermbg=grey cterm=NONE
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Error ctermfg=darkred ctermbg=grey cterm=reverse
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=black ctermbg=black cterm=NONE
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -357,4 +419,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/morning.vim
+++ b/runtime/colors/morning.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:55:30 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,16 +18,22 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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 Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
 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 EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=bold
 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 CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=bold
 hi QuickFixLine guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
-hi StatusLine guifg=#eeeeee guibg=#000000 gui=bold cterm=NONE
+hi StatusLine guifg=#eeeeee guibg=#000000 gui=bold cterm=bold
 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
@@ -36,10 +42,10 @@ hi PmenuSbar guifg=NONE guibg=#e4e4e4 gu
 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 TabLineSel guifg=#000000 guibg=#e4e4e4 gui=bold cterm=bold
 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 ToolbarButton guifg=NONE guibg=#bcbcbc gui=bold cterm=bold
+hi NonText guifg=#0000ff guibg=#bcbcbc gui=bold cterm=bold
 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
@@ -49,15 +55,15 @@ hi SignColumn guifg=#00008b guibg=NONE g
 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 WarningMsg guifg=#6a0dad guibg=NONE gui=bold cterm=bold
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
+hi ModeMsg guifg=#000000 guibg=NONE gui=bold cterm=bold
+hi Question guifg=#008787 guibg=NONE gui=bold cterm=bold
 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 WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=bold
 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
@@ -68,36 +74,36 @@ hi SpellRare guifg=#2e8b57 guibg=NONE gu
 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 Statement guifg=#a52a2a guibg=NONE gui=bold cterm=bold
 hi PreProc guifg=#6a0dad guibg=NONE gui=NONE cterm=NONE
-hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
 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 Directory guifg=#008787 guibg=NONE gui=bold cterm=bold
 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 Title guifg=#a52a2a guibg=NONE gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
   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 EndOfBuffer ctermfg=21 ctermbg=252 cterm=bold
   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 CursorLineNr ctermfg=124 ctermbg=NONE cterm=bold
   hi QuickFixLine ctermfg=16 ctermbg=226 cterm=NONE
-  hi StatusLine ctermfg=255 ctermbg=16 cterm=NONE
+  hi StatusLine ctermfg=255 ctermbg=16 cterm=bold
   hi StatusLineNC ctermfg=250 ctermbg=16 cterm=NONE
   hi VertSplit ctermfg=250 ctermbg=16 cterm=NONE
   hi Pmenu ctermfg=16 ctermbg=249 cterm=NONE
@@ -106,10 +112,10 @@ if s:t_Co >= 256
   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 TabLineSel ctermfg=16 ctermbg=254 cterm=bold
   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 ToolbarButton ctermfg=NONE ctermbg=250 cterm=bold
+  hi NonText ctermfg=21 ctermbg=250 cterm=bold
   hi SpecialKey ctermfg=250 ctermbg=NONE cterm=NONE
   hi Visual ctermfg=NONE ctermbg=252 cterm=NONE
   hi VisualNOS ctermfg=NONE ctermbg=21 cterm=NONE
@@ -119,15 +125,15 @@ if s:t_Co >= 256
   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 WarningMsg ctermfg=55 ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=29 ctermbg=NONE cterm=bold
+  hi ModeMsg ctermfg=16 ctermbg=NONE cterm=bold
+  hi Question ctermfg=30 ctermbg=NONE cterm=bold
   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 WildMenu ctermfg=16 ctermbg=226 cterm=bold
   hi ColorColumn ctermfg=16 ctermbg=231 cterm=NONE
   hi Cursor ctermfg=254 ctermbg=29 cterm=NONE
   hi lCursor ctermfg=254 ctermbg=124 cterm=NONE
@@ -138,20 +144,14 @@ if s:t_Co >= 256
   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 Statement ctermfg=124 ctermbg=NONE cterm=bold
   hi PreProc ctermfg=55 ctermbg=NONE cterm=NONE
-  hi Type ctermfg=29 ctermbg=NONE cterm=NONE
+  hi Type ctermfg=29 ctermbg=NONE cterm=bold
   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 Directory ctermfg=30 ctermbg=NONE cterm=bold
   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 Title ctermfg=124 ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -161,8 +161,6 @@ if s:t_Co >= 256
 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
@@ -170,7 +168,7 @@ if s:t_Co >= 16
   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 StatusLine ctermfg=white ctermbg=black cterm=bold
   hi StatusLineNC ctermfg=darkgrey ctermbg=black cterm=NONE
   hi VertSplit ctermfg=darkgrey ctermbg=black cterm=NONE
   hi Pmenu ctermfg=black ctermbg=white cterm=NONE
@@ -179,10 +177,10 @@ if s:t_Co >= 16
   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 TabLineSel ctermfg=black ctermbg=grey cterm=bold
   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 ToolbarButton ctermfg=NONE ctermbg=white cterm=bold
+  hi NonText ctermfg=blue ctermbg=white cterm=bold
   hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
   hi Visual ctermfg=NONE ctermbg=white cterm=NONE
   hi VisualNOS ctermfg=NONE ctermbg=blue cterm=NONE
@@ -192,15 +190,15 @@ if s:t_Co >= 16
   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 WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi ModeMsg ctermfg=black ctermbg=NONE cterm=bold
+  hi Question ctermfg=darkcyan ctermbg=NONE cterm=bold
   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 WildMenu ctermfg=black ctermbg=yellow cterm=bold
   hi ColorColumn ctermfg=black ctermbg=white cterm=NONE
   hi Cursor ctermfg=grey ctermbg=darkgreen cterm=NONE
   hi lCursor ctermfg=grey ctermbg=darkred cterm=NONE
@@ -211,24 +209,81 @@ if s:t_Co >= 16
   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 Statement ctermfg=darkred ctermbg=NONE cterm=bold
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=blue ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkred ctermbg=NONE cterm=bold
+  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 >= 8
+  hi Normal ctermfg=black ctermbg=gray cterm=NONE
+  hi EndOfBuffer ctermfg=darkblue 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=NONE
+  hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
+  hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi StatusLine ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi StatusLineNC ctermfg=black ctermbg=gray cterm=reverse
+  hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
+  hi TabLine ctermfg=gray ctermbg=black cterm=NONE
+  hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi TabLineSel ctermfg=black ctermbg=gray cterm=NONE
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi SpecialKey ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  hi LineNr ctermfg=NONE ctermbg=NONE cterm=bold
+  hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=darkred ctermbg=gray cterm=reverse
+  hi ErrorMsg ctermfg=darkred ctermbg=gray cterm=reverse
+  hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Question ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=gray ctermbg=darkblue cterm=NONE
+  hi Search ctermfg=gray ctermbg=darkmagenta cterm=NONE
+  hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi ColorColumn ctermfg=black ctermbg=darkred cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse
+  hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi Comment ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkred ctermbg=NONE cterm=bold
   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 Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkred ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
-  hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
-  hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
   unlet s:t_Co
   finish
 endif
@@ -323,6 +378,14 @@ endif
 " Color: error       #ff0000        196            red
 " Color: colorcolumn #ffffff        231            white
 " Color: spellcap    #00d700        40             green
+" Color: black       #000000        16             black
+" Color: darkred     #870000        88             darkred
+" Color: darkgreen   #008700        28             darkgreen
+" Color: darkyellow  #878700        100            darkyellow
+" Color: darkblue    #000087        18             darkblue
+" Color: darkmagenta #870087        18             darkmagenta
+" Color: darkcyan    #008787        30             darkcyan
+" Color: gray        #878787        102            gray
 " 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
@@ -331,4 +394,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/murphy.vim
+++ b/runtime/colors/murphy.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:56:21 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,6 +18,12 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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
+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! link StatusLineTerm StatusLine
 hi! link StatusLineTermNC StatusLineNC
 hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
@@ -33,14 +39,14 @@ hi TabLineFill guifg=NONE guibg=#303030 
 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 ToolbarButton guifg=#ffffff guibg=#444444 gui=bold cterm=bold
 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 CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=bold
 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
@@ -50,10 +56,10 @@ hi SignColumn guifg=#00afaf guibg=NONE g
 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 ModeMsg guifg=#87ff87 guibg=NONE gui=bold cterm=bold
+hi WarningMsg guifg=#ffa700 guibg=NONE gui=bold cterm=bold
+hi MoreMsg guifg=#005f00 guibg=NONE gui=bold cterm=bold
+hi Question guifg=#00ffff guibg=NONE gui=bold cterm=bold
 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
@@ -75,19 +81,19 @@ hi Special guifg=#ff00ff guibg=NONE gui=
 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 Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
   hi! link StatusLineTerm StatusLine
   hi! link StatusLineTermNC StatusLineNC
   hi Normal ctermfg=120 ctermbg=16 cterm=NONE
@@ -103,14 +109,14 @@ if s:t_Co >= 256
   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 ToolbarButton ctermfg=231 ctermbg=238 cterm=bold
   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 CursorLineNr ctermfg=226 ctermbg=NONE cterm=bold
   hi ColorColumn ctermfg=NONE ctermbg=235 cterm=NONE
   hi Visual ctermfg=231 ctermbg=22 cterm=NONE
   hi VisualNOS ctermfg=231 ctermbg=22 cterm=NONE
@@ -120,10 +126,10 @@ if s:t_Co >= 256
   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 ModeMsg ctermfg=120 ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=214 ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=22 ctermbg=NONE cterm=bold
+  hi Question ctermfg=51 ctermbg=NONE cterm=bold
   hi Todo ctermfg=21 ctermbg=226 cterm=NONE
   hi MatchParen ctermfg=236 ctermbg=223 cterm=NONE
   hi Search ctermfg=231 ctermbg=21 cterm=NONE
@@ -145,13 +151,7 @@ if s:t_Co >= 256
   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 Title ctermfg=201 ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -161,8 +161,6 @@ if s:t_Co >= 256
 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
@@ -176,7 +174,7 @@ if s:t_Co >= 16
   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 ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
   hi NonText ctermfg=darkcyan ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
   hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
@@ -193,10 +191,10 @@ if s:t_Co >= 16
   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 ModeMsg ctermfg=green ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Question ctermfg=cyan ctermbg=NONE cterm=bold
   hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
   hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
   hi Search ctermfg=white ctermbg=blue cterm=NONE
@@ -218,13 +216,7 @@ if s:t_Co >= 16
   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 Title ctermfg=magenta ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -233,6 +225,70 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=darkgreen ctermbg=black cterm=NONE
+  hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi StatusLine ctermfg=darkblue ctermbg=grey cterm=bold,reverse
+  hi StatusLineNC ctermfg=grey ctermbg=black cterm=reverse
+  hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow 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=grey ctermbg=black cterm=reverse
+  hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
+  hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  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=darkyellow ctermbg=NONE cterm=bold
+  hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=reverse,underline
+  hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+  hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
+  hi ModeMsg ctermfg=grey ctermbg=NONE cterm=bold
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Question ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Search ctermfg=grey ctermbg=darkblue cterm=NONE
+  hi IncSearch ctermfg=darkred ctermbg=NONE cterm=reverse
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi Comment ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=grey ctermbg=NONE cterm=bold
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Type ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Special ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -332,4 +388,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/pablo.vim
+++ b/runtime/colors/pablo.vim
@@ -3,7 +3,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:57:11 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -27,7 +27,7 @@ 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 Statement guifg=#c0c000 guibg=NONE gui=bold cterm=bold
 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
@@ -39,12 +39,12 @@ hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 g
 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 Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
 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 NonText guifg=#0000ff guibg=NONE gui=bold cterm=bold
+hi EndOfBuffer guifg=#0000ff guibg=NONE gui=bold cterm=bold
 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
@@ -53,16 +53,16 @@ hi FoldColumn guifg=#7f7f7f guibg=#30303
 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 CursorLineNr guifg=#ffff00 guibg=#3a3a3a gui=bold cterm=bold
 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 ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
+hi MoreMsg guifg=#5c5cff guibg=NONE gui=bold cterm=bold
+hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=bold
 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
@@ -75,9 +75,9 @@ hi StatusLineNC guifg=#000000 guibg=#fff
 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 TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=bold
 hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
-hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
+hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=bold
 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
@@ -98,7 +98,7 @@ if s:t_Co >= 256
   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 Statement ctermfg=142 ctermbg=NONE cterm=bold
   hi PreProc ctermfg=46 ctermbg=NONE cterm=NONE
   hi Type ctermfg=34 ctermbg=NONE cterm=NONE
   hi Special ctermfg=21 ctermbg=NONE cterm=NONE
@@ -110,12 +110,12 @@ if s:t_Co >= 256
   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 Title ctermfg=225 ctermbg=NONE cterm=bold
   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 NonText ctermfg=63 ctermbg=NONE cterm=bold
+  hi EndOfBuffer ctermfg=63 ctermbg=NONE cterm=bold
   hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
   hi WarningMsg ctermfg=224 ctermbg=NONE cterm=NONE
   hi SignColumn ctermfg=51 ctermbg=248 cterm=NONE
@@ -124,16 +124,16 @@ if s:t_Co >= 256
   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 CursorLineNr ctermfg=226 ctermbg=237 cterm=bold
   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 ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=63 ctermbg=NONE cterm=bold
+  hi Question ctermfg=121 ctermbg=NONE cterm=bold
   hi SpecialKey ctermfg=81 ctermbg=NONE cterm=NONE
   hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
   hi QuickFixLine ctermfg=16 ctermbg=44 cterm=NONE
@@ -146,9 +146,9 @@ if s:t_Co >= 256
   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 TabLineSel ctermfg=231 ctermbg=16 cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
-  hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
+  hi ToolbarButton ctermfg=16 ctermbg=254 cterm=bold
   hi Pmenu ctermfg=fg ctermbg=236 cterm=NONE
   hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
   hi PmenuSel ctermfg=16 ctermbg=254 cterm=NONE
@@ -172,7 +172,7 @@ if s:t_Co >= 16
   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 Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
   hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
   hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
   hi Special ctermfg=blue ctermbg=NONE cterm=NONE
@@ -184,12 +184,12 @@ if s:t_Co >= 16
   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 Title ctermfg=magenta ctermbg=NONE cterm=bold
   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 NonText ctermfg=blue ctermbg=NONE cterm=bold
+  hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=bold
   hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
   hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
   hi SignColumn ctermfg=cyan ctermbg=black cterm=NONE
@@ -205,9 +205,9 @@ if s:t_Co >= 16
   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 ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=blue ctermbg=NONE cterm=bold
+  hi Question ctermfg=green ctermbg=NONE cterm=bold
   hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
   hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
   hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
@@ -220,9 +220,9 @@ if s:t_Co >= 16
   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 TabLineSel ctermfg=white ctermbg=black cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
-  hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
+  hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
   hi Pmenu ctermfg=fg ctermbg=darkgrey cterm=NONE
   hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
   hi PmenuSel ctermfg=black ctermbg=grey cterm=NONE
@@ -235,6 +235,75 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi EndOfBuffer ctermfg=grey ctermbg=black cterm=bold
+  hi StatusLine ctermfg=darkblue ctermbg=grey cterm=reverse
+  hi StatusLineNC ctermfg=grey ctermbg=black cterm=reverse
+  hi StatusLineTerm ctermfg=darkblue ctermbg=grey cterm=reverse
+  hi StatusLineTermNC ctermfg=grey ctermbg=black cterm=reverse
+  hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+  hi PmenuThumb ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi TabLine ctermfg=black ctermbg=grey cterm=NONE
+  hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
+  hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  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=NONE ctermbg=NONE cterm=reverse
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
+  hi VisualNOS ctermfg=black ctermbg=grey cterm=NONE
+  hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+  hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
+  hi ModeMsg ctermfg=grey ctermbg=NONE cterm=NONE
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkblue ctermbg=darkyellow cterm=reverse
+  hi SpellLocal ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi Comment ctermfg=grey ctermbg=NONE cterm=bold
+  hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi PreProc ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+  hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Directory ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -359,4 +428,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/peachpuff.vim
+++ b/runtime/colors/peachpuff.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 10:58:17 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,27 +18,33 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
 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 CursorLineNr guifg=#cd0000 guibg=NONE gui=bold cterm=bold
 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 StatusLine guifg=#ffffff guibg=#000000 gui=bold cterm=bold
+hi StatusLineNC guifg=#ffdab9 guibg=#737373 gui=bold cterm=bold
+hi StatusLineTerm guifg=#ffffff guibg=#2e8b57 gui=bold cterm=bold
+hi StatusLineTermNC guifg=#ffdab9 guibg=#008b8b gui=bold cterm=bold
 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 PmenuSel guifg=#000000 guibg=#f5c195 gui=bold cterm=bold
 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 TabLineSel guifg=#000000 guibg=#ffdab9 gui=bold cterm=bold
 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 ToolbarButton guifg=#ffdab9 guibg=#737373 gui=bold cterm=bold
 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
@@ -47,17 +53,17 @@ hi LineNr guifg=#cd0000 guibg=NONE gui=N
 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 Error guifg=#ff0000 guibg=#ffffff gui=bold,reverse cterm=bold,reverse
+hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=bold,reverse cterm=bold,reverse
+hi WarningMsg guifg=#cd00cd guibg=#ffdab9 gui=bold cterm=bold
+hi MoreMsg guifg=#2e8b57 guibg=#ffdab9 gui=bold cterm=bold
+hi ModeMsg guifg=#000000 guibg=#ffdab9 gui=bold cterm=bold
+hi Question guifg=#c00058 guibg=NONE gui=bold cterm=bold
 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 WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=bold
 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
@@ -68,47 +74,47 @@ hi SpellRare guifg=#6a5acd guibg=NONE gu
 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 Statement guifg=#a52a2a guibg=NONE gui=bold cterm=bold
 hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
-hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
+hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
 hi Special guifg=#6a5acd guibg=NONE gui=NONE cterm=NONE
-hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
+hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=bold
 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 Title guifg=#cd00cd guibg=NONE gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
   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 CursorLineNr ctermfg=160 ctermbg=NONE cterm=bold
   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 StatusLine ctermfg=231 ctermbg=16 cterm=bold
+  hi StatusLineNC ctermfg=223 ctermbg=243 cterm=bold
+  hi StatusLineTerm ctermfg=231 ctermbg=29 cterm=bold
+  hi StatusLineTermNC ctermfg=223 ctermbg=30 cterm=bold
   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 PmenuSel ctermfg=16 ctermbg=180 cterm=bold
   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 TabLineSel ctermfg=16 ctermbg=223 cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
-  hi ToolbarButton ctermfg=223 ctermbg=243 cterm=NONE
+  hi ToolbarButton ctermfg=223 ctermbg=243 cterm=bold
   hi NonText ctermfg=243 ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=243 ctermbg=NONE cterm=NONE
   hi Visual ctermfg=16 ctermbg=252 cterm=NONE
@@ -117,17 +123,17 @@ if s:t_Co >= 256
   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 Error ctermfg=196 ctermbg=231 cterm=bold,reverse
+  hi ErrorMsg ctermfg=196 ctermbg=231 cterm=bold,reverse
+  hi WarningMsg ctermfg=164 ctermbg=223 cterm=bold
+  hi MoreMsg ctermfg=29 ctermbg=223 cterm=bold
+  hi ModeMsg ctermfg=16 ctermbg=223 cterm=bold
+  hi Question ctermfg=161 ctermbg=NONE cterm=bold
   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 WildMenu ctermfg=16 ctermbg=226 cterm=bold
   hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
   hi Cursor ctermfg=223 ctermbg=16 cterm=NONE
   hi lCursor ctermfg=16 ctermbg=161 cterm=NONE
@@ -138,20 +144,14 @@ if s:t_Co >= 256
   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 Statement ctermfg=124 ctermbg=NONE cterm=bold
   hi PreProc ctermfg=164 ctermbg=NONE cterm=NONE
-  hi Type ctermfg=29 ctermbg=NONE cterm=NONE
+  hi Type ctermfg=29 ctermbg=NONE cterm=bold
   hi Special ctermfg=62 ctermbg=NONE cterm=NONE
-  hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=30 ctermbg=NONE cterm=bold
   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 Title ctermfg=164 ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -168,20 +168,20 @@ if s:t_Co >= 16
   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 StatusLine ctermfg=white ctermbg=black cterm=bold
+  hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=bold
+  hi StatusLineTerm ctermfg=white ctermbg=darkgreen cterm=bold
+  hi StatusLineTermNC ctermfg=white ctermbg=darkcyan cterm=bold
   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 PmenuSel ctermfg=black ctermbg=yellow cterm=bold
   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 TabLineSel ctermfg=black ctermbg=white cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
-  hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
+  hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=bold
   hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
   hi Visual ctermfg=black ctermbg=grey cterm=NONE
@@ -190,17 +190,17 @@ if s:t_Co >= 16
   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 Error ctermfg=darkred ctermbg=white cterm=bold,reverse
+  hi ErrorMsg ctermfg=darkred ctermbg=white cterm=bold,reverse
+  hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=white cterm=bold
+  hi ModeMsg ctermfg=black ctermbg=white cterm=bold
+  hi Question ctermfg=darkred ctermbg=NONE cterm=bold
   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 WildMenu ctermfg=black ctermbg=yellow cterm=bold
   hi ColorColumn ctermfg=NONE ctermbg=grey cterm=NONE
   hi Cursor ctermfg=white ctermbg=black cterm=NONE
   hi lCursor ctermfg=black ctermbg=darkred cterm=NONE
@@ -211,20 +211,14 @@ if s:t_Co >= 16
   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 Statement ctermfg=darkred ctermbg=NONE cterm=bold
   hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
-  hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
   hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
-  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
   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 Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -233,6 +227,71 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=black ctermbg=gray 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=gray ctermbg=darkcyan cterm=NONE
+  hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi StatusLine ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi StatusLineNC ctermfg=black ctermbg=gray cterm=reverse
+  hi StatusLineTerm ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=black ctermbg=gray cterm=reverse
+  hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
+  hi TabLine ctermfg=gray ctermbg=black cterm=NONE
+  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=black ctermbg=gray cterm=bold,reverse
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi SpecialKey ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  hi LineNr ctermfg=black ctermbg=NONE cterm=bold
+  hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=darkred ctermbg=gray cterm=bold,reverse
+  hi ErrorMsg ctermfg=darkred ctermbg=gray cterm=bold,reverse
+  hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi ModeMsg ctermfg=black ctermbg=NONE cterm=bold
+  hi Question ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Todo ctermfg=darkblue ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=gray ctermbg=darkblue cterm=NONE
+  hi Search ctermfg=gray ctermbg=darkmagenta cterm=NONE
+  hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi ColorColumn ctermfg=black ctermbg=darkred cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse
+  hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkblue ctermbg=NONE cterm=reverse
+  hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkred ctermbg=NONE cterm=bold
+  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=bold
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -324,6 +383,14 @@ endif
 " Color: blue        #0000ff        21             darkblue
 " Color: red         #ff0000        196            darkred
 " Color: colorcolumn #eeeeee        255            grey
+" Color: black       #000000        16             black
+" Color: darkred     #870000        88             darkred
+" Color: darkgreen   #008700        28             darkgreen
+" Color: darkyellow  #878700        100            darkyellow
+" Color: darkblue    #000087        18             darkblue
+" Color: darkmagenta #870087        18             darkmagenta
+" Color: darkcyan    #008787        30             darkcyan
+" Color: gray        #878787        102            gray
 " 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
@@ -332,4 +399,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/ron.vim
+++ b/runtime/colors/ron.vim
@@ -3,7 +3,7 @@
 " 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
+" Last Updated: Sat 11 Jun 2022 11:29:07 MSK
 
 " Generated by Colortemplate v2.2.0
 
@@ -44,6 +44,8 @@ hi! link lCursor Cursor
 hi! link CurSearch Search
 hi! link CursorLineFold CursorLine
 hi! link CursorLineSign CursorLine
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
 
 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']
@@ -107,8 +109,6 @@ hi Underlined guifg=#80a0ff guibg=NONE g
 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
@@ -174,8 +174,6 @@ if s:t_Co >= 256
   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
@@ -244,8 +242,6 @@ if s:t_Co >= 16
   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
@@ -254,6 +250,72 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=darkcyan ctermbg=black cterm=NONE
+  hi ColorColumn ctermfg=darkcyan ctermbg=darkred cterm=NONE
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=underline
+  hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi EndOfBuffer ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi ErrorMsg ctermfg=darkred ctermbg=grey cterm=reverse
+  hi FoldColumn ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=darkcyan ctermbg=black cterm=reverse
+  hi IncSearch ctermfg=darkyellow ctermbg=darkblue cterm=NONE
+  hi LineNr ctermfg=grey ctermbg=NONE cterm=bold
+  hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=bold
+  hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi NonText ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Pmenu ctermfg=grey 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=darkgreen ctermbg=black cterm=bold
+  hi Search ctermfg=black ctermbg=grey cterm=NONE
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi StatusLine ctermfg=darkblue ctermbg=grey cterm=bold,reverse
+  hi StatusLineNC ctermfg=darkblue ctermbg=grey cterm=reverse
+  hi VertSplit ctermfg=darkblue ctermbg=darkblue cterm=NONE
+  hi TabLine ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi TabLineFill ctermfg=darkblue ctermbg=darkblue cterm=NONE
+  hi TabLineSel ctermfg=darkcyan ctermbg=black cterm=bold
+  hi Terminal ctermfg=darkcyan ctermbg=black cterm=NONE
+  hi Title ctermfg=grey ctermbg=NONE cterm=bold
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+  hi WarningMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi WildMenu ctermfg=black ctermbg=darkgreen cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi Comment ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Error ctermfg=darkred ctermbg=grey cterm=bold,reverse
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=black ctermbg=black cterm=NONE
+  hi Label ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Operator ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Special ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Statement ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Todo ctermfg=black ctermbg=darkyellow cterm=bold
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -375,4 +437,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/shine.vim
+++ b/runtime/colors/shine.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 11:02:11 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,16 +18,25 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
+hi! link EndOfBuffer NonText
+hi! link ErrorMsg Error
+hi! link Tag Special
+hi! link Operator Statement
 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 StatusLine guifg=#ffffff guibg=#000000 gui=bold cterm=bold
 hi StatusLineNC guifg=#ffffff guibg=#a8a8a8 gui=NONE cterm=NONE
-hi StatusLineTerm guifg=#000000 guibg=#90ee90 gui=bold cterm=NONE
+hi StatusLineTerm guifg=#000000 guibg=#90ee90 gui=bold cterm=bold
 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
@@ -36,9 +45,9 @@ hi PmenuSbar guifg=#ffffff guibg=#ffffff
 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 TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=bold
 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 ToolbarButton guifg=NONE guibg=#a8a8a8 gui=bold cterm=bold
 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
@@ -48,7 +57,6 @@ hi FoldColumn guifg=#767676 guibg=NONE g
 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
@@ -57,7 +65,7 @@ hi Todo guifg=#000000 guibg=#ffff00 gui=
 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 WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=bold
 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
@@ -65,45 +73,46 @@ hi SpellBad guifg=#ff0000 guibg=NONE gui
 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 Statement guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
+hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
+hi Comment guifg=#a8a8a8 guibg=NONE gui=bold cterm=NONE
+hi StorageClass guifg=#ff0000 guibg=NONE gui=bold cterm=bold
+hi Conceal guifg=#dadada guibg=#767676 gui=NONE cterm=NONE
 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 Number guifg=#a07070 guibg=NONE gui=bold cterm=bold
+hi Float guifg=#a07070 guibg=NONE gui=bold cterm=bold
 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 Directory guifg=#008b8b guibg=NONE gui=bold cterm=bold
 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 Title guifg=#006400 guibg=NONE gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
+  hi! link EndOfBuffer NonText
+  hi! link ErrorMsg Error
+  hi! link Tag Special
+  hi! link Operator Statement
   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 StatusLine ctermfg=231 ctermbg=16 cterm=bold
   hi StatusLineNC ctermfg=231 ctermbg=248 cterm=NONE
-  hi StatusLineTerm ctermfg=16 ctermbg=120 cterm=NONE
+  hi StatusLineTerm ctermfg=16 ctermbg=120 cterm=bold
   hi StatusLineTermNC ctermfg=253 ctermbg=22 cterm=NONE
   hi VertSplit ctermfg=248 ctermbg=248 cterm=NONE
   hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
@@ -112,9 +121,9 @@ if s:t_Co >= 256
   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 TabLineSel ctermfg=16 ctermbg=231 cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
-  hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=NONE
+  hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=bold
   hi NonText ctermfg=153 ctermbg=231 cterm=NONE
   hi SpecialKey ctermfg=153 ctermbg=NONE cterm=NONE
   hi Visual ctermfg=16 ctermbg=248 cterm=NONE
@@ -124,7 +133,6 @@ if s:t_Co >= 256
   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
@@ -133,7 +141,7 @@ if s:t_Co >= 256
   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 WildMenu ctermfg=16 ctermbg=226 cterm=bold
   hi ColorColumn ctermfg=16 ctermbg=217 cterm=NONE
   hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
   hi lCursor ctermfg=16 ctermbg=95 cterm=NONE
@@ -141,29 +149,21 @@ if s:t_Co >= 256
   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 Statement ctermfg=29 ctermbg=NONE cterm=bold
+  hi Type ctermfg=29 ctermbg=NONE cterm=bold
+  hi Comment ctermfg=248 ctermbg=NONE cterm=NONE
+  hi StorageClass ctermfg=196 ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=253 ctermbg=243 cterm=NONE
   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 Number ctermfg=95 ctermbg=NONE cterm=bold
+  hi Float ctermfg=95 ctermbg=NONE cterm=bold
   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 Directory ctermfg=30 ctermbg=NONE cterm=bold
   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 Title ctermfg=22 ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -176,13 +176,12 @@ 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 CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
   hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
-  hi! link EndOfBuffer NonText
-  hi StatusLine ctermfg=white ctermbg=black cterm=NONE
+  hi StatusLine ctermfg=white ctermbg=black cterm=bold
   hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=NONE
-  hi StatusLineTerm ctermfg=black ctermbg=green cterm=NONE
+  hi StatusLineTerm ctermfg=black ctermbg=green cterm=bold
   hi StatusLineTermNC ctermfg=grey ctermbg=darkgreen cterm=NONE
   hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
   hi Pmenu ctermfg=black ctermbg=darkgrey cterm=NONE
@@ -191,9 +190,9 @@ if s:t_Co >= 16
   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 TabLineSel ctermfg=black ctermbg=white cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
-  hi ToolbarButton ctermfg=NONE ctermbg=darkgrey cterm=NONE
+  hi ToolbarButton ctermfg=NONE ctermbg=darkgrey cterm=bold
   hi NonText ctermfg=blue ctermbg=white cterm=NONE
   hi SpecialKey ctermfg=blue ctermbg=NONE cterm=NONE
   hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
@@ -203,7 +202,6 @@ if s:t_Co >= 16
   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
@@ -212,7 +210,7 @@ if s:t_Co >= 16
   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 WildMenu ctermfg=black ctermbg=yellow cterm=bold
   hi ColorColumn ctermfg=black ctermbg=red cterm=NONE
   hi Cursor ctermfg=white ctermbg=black cterm=NONE
   hi lCursor ctermfg=black ctermbg=darkred cterm=NONE
@@ -220,29 +218,21 @@ if s:t_Co >= 16
   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 Statement ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
+  hi StorageClass ctermfg=red ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=grey ctermbg=darkgrey cterm=NONE
   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 Number ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Float ctermfg=darkred ctermbg=NONE cterm=bold
   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 Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
   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 Title ctermfg=darkgreen ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -251,6 +241,73 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=black ctermbg=grey 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=NONE
+  hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
+  hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi StatusLine ctermfg=black ctermbg=grey cterm=bold,reverse
+  hi StatusLineNC ctermfg=black ctermbg=grey cterm=reverse
+  hi StatusLineTerm ctermfg=black ctermbg=darkgreen cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=grey ctermbg=darkgreen cterm=reverse
+  hi VertSplit ctermfg=black ctermbg=grey cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=grey ctermbg=grey cterm=NONE
+  hi PmenuThumb ctermfg=black ctermbg=black cterm=NONE
+  hi TabLine ctermfg=black ctermbg=grey cterm=reverse
+  hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi TabLineSel ctermfg=grey ctermbg=black cterm=reverse
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold,reverse
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi SpecialKey ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  hi LineNr ctermfg=NONE ctermbg=NONE cterm=bold
+  hi FoldColumn ctermfg=grey ctermbg=NONE cterm=bold
+  hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=darkred ctermbg=NONE cterm=bold,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=darkred ctermbg=NONE cterm=NONE
+  hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=grey ctermbg=darkred cterm=NONE
+  hi Search ctermfg=grey ctermbg=darkmagenta cterm=NONE
+  hi IncSearch ctermfg=darkcyan ctermbg=darkyellow cterm=reverse
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
+  hi ColorColumn ctermfg=black ctermbg=darkred cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse
+  hi SpellCap ctermfg=darkgreen ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=reverse
+  hi SpellRare ctermfg=darkblue ctermbg=NONE cterm=reverse
+  hi Statement ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Comment ctermfg=black ctermbg=NONE cterm=bold
+  hi StorageClass ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Number ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Float ctermfg=darkred ctermbg=NONE cterm=bold
+  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 Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -350,4 +407,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/slate.vim
+++ b/runtime/colors/slate.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 11:03:10 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,6 +18,12 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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
+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 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
@@ -41,6 +47,7 @@ hi Folded guifg=#666666 guibg=#000000 gu
 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 ColorColumn guifg=NONE guibg=#000000 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
@@ -58,7 +65,6 @@ hi MatchParen guifg=#000000 guibg=#ffd70
 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
@@ -70,29 +76,29 @@ hi String guifg=#87d7ff guibg=NONE gui=N
 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 Statement guifg=#5f87d7 guibg=NONE gui=bold cterm=bold
 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 Type guifg=#5f87d7 guibg=NONE gui=bold cterm=bold
 hi Operator guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
-hi Define guifg=#ffd700 guibg=NONE gui=bold cterm=NONE
+hi Define guifg=#ffd700 guibg=NONE gui=bold cterm=bold
 hi Structure guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
-hi Directory guifg=#00875f guibg=NONE gui=bold cterm=NONE
+hi Directory guifg=#00875f guibg=NONE gui=bold cterm=bold
 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 Title guifg=#ffd700 guibg=NONE gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
   hi Normal ctermfg=231 ctermbg=235 cterm=NONE
   hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
   hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
@@ -116,6 +122,7 @@ if s:t_Co >= 256
   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 ColorColumn ctermfg=NONE ctermbg=16 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
@@ -133,9 +140,6 @@ if s:t_Co >= 256
   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
@@ -145,23 +149,17 @@ if s:t_Co >= 256
   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 Statement ctermfg=68 ctermbg=NONE cterm=bold
   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 Type ctermfg=68 ctermbg=NONE cterm=bold
   hi Operator ctermfg=173 ctermbg=NONE cterm=NONE
-  hi Define ctermfg=220 ctermbg=NONE cterm=NONE
+  hi Define ctermfg=220 ctermbg=NONE cterm=bold
   hi Structure ctermfg=46 ctermbg=NONE cterm=NONE
-  hi Directory ctermfg=29 ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=29 ctermbg=NONE cterm=bold
   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 Title ctermfg=220 ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -194,7 +192,7 @@ if s:t_Co >= 16
   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 CursorLineNr ctermfg=yellow ctermbg=NONE cterm=bold
   hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
   hi Visual ctermfg=yellow ctermbg=darkgreen cterm=NONE
   hi SignColumn ctermfg=NONE ctermbg=black cterm=NONE
@@ -212,9 +210,6 @@ if s:t_Co >= 16
   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
@@ -224,23 +219,17 @@ if s:t_Co >= 16
   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 Statement ctermfg=blue ctermbg=NONE cterm=bold
   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 Type ctermfg=blue ctermbg=NONE cterm=bold
   hi Operator ctermfg=darkmagenta ctermbg=NONE cterm=NONE
-  hi Define ctermfg=yellow ctermbg=NONE cterm=NONE
+  hi Define ctermfg=yellow ctermbg=NONE cterm=bold
   hi Structure ctermfg=darkgreen ctermbg=NONE cterm=NONE
-  hi Directory ctermfg=green ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=green ctermbg=NONE cterm=bold
   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 Title ctermfg=yellow ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -249,6 +238,75 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi StatusLine ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi StatusLineNC ctermfg=grey ctermbg=black cterm=reverse
+  hi StatusLineTerm ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=grey ctermbg=black cterm=reverse
+  hi VertSplit ctermfg=grey ctermbg=black cterm=reverse
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=darkyellow cterm=NONE
+  hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi TabLine ctermfg=grey ctermbg=black cterm=reverse
+  hi TabLineFill ctermfg=grey ctermbg=black cterm=reverse
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi SpecialKey ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi QuickFixLine ctermfg=black ctermbg=darkblue 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=darkyellow ctermbg=NONE cterm=bold
+  hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=underline
+  hi LineNr ctermfg=grey ctermbg=NONE cterm=bold
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=darkred ctermbg=grey cterm=reverse
+  hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
+  hi ModeMsg ctermfg=NONE ctermbg=darkyellow cterm=NONE
+  hi WarningMsg ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Todo ctermfg=darkred ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=black ctermbg=darkyellow 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 SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi Comment ctermfg=grey ctermbg=NONE cterm=bold
+  hi String ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Function ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkred ctermbg=NONE cterm=bold
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Operator ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Define ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Structure ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -347,4 +405,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/torte.vim
+++ b/runtime/colors/torte.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 11:04:48 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,9 +18,15 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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=#cccccc guibg=#000000 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! link StatusLineTerm StatusLine
 hi! link StatusLineTermNC StatusLineNC
+hi Normal guifg=#cccccc guibg=#000000 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=#40ffff guibg=NONE gui=NONE cterm=NONE
@@ -44,7 +50,7 @@ hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 g
 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 Title guifg=#ff00ff guibg=NONE gui=bold cterm=bold
 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
@@ -54,9 +60,9 @@ hi ErrorMsg guifg=#ffffff guibg=#cd0000 
 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 ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
+hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=bold
+hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=bold
 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
@@ -65,33 +71,33 @@ hi SpellBad guifg=#ff0000 guibg=NONE gui
 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 StatusLine guifg=#ffffff guibg=#0000ee gui=bold cterm=bold
 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 TabLineSel guifg=#cccccc guibg=#000000 gui=bold cterm=bold
 hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
-hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
+hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
   hi! link StatusLineTerm StatusLine
   hi! link StatusLineTermNC StatusLineNC
+  hi Normal ctermfg=251 ctermbg=16 cterm=NONE
   hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
   hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
   hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE
@@ -115,7 +121,7 @@ if s:t_Co >= 256
   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 Title ctermfg=201 ctermbg=NONE cterm=bold
   hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
   hi Search ctermfg=196 ctermbg=16 cterm=reverse
   hi IncSearch ctermfg=40 ctermbg=16 cterm=reverse
@@ -125,9 +131,9 @@ if s:t_Co >= 256
   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 ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=29 ctermbg=NONE cterm=bold
+  hi Question ctermfg=46 ctermbg=NONE cterm=bold
   hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
   hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
   hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
@@ -136,24 +142,18 @@ if s:t_Co >= 256
   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 StatusLine ctermfg=231 ctermbg=20 cterm=bold
   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 TabLineSel ctermfg=251 ctermbg=16 cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
-  hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
+  hi ToolbarButton ctermfg=16 ctermbg=254 cterm=bold
   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
@@ -164,8 +164,6 @@ 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
@@ -181,7 +179,7 @@ if s:t_Co >= 16
   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 CursorLineNr ctermfg=yellow ctermbg=NONE cterm=bold
   hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
   hi FoldColumn ctermfg=cyan ctermbg=NONE cterm=NONE
   hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
@@ -189,7 +187,7 @@ if s:t_Co >= 16
   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 Title ctermfg=magenta ctermbg=NONE cterm=bold
   hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
   hi Search ctermfg=red ctermbg=black cterm=reverse
   hi IncSearch ctermfg=darkgreen ctermbg=black cterm=reverse
@@ -199,9 +197,9 @@ if s:t_Co >= 16
   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 ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Question ctermfg=green ctermbg=NONE cterm=bold
   hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
   hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
   hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
@@ -210,24 +208,18 @@ if s:t_Co >= 16
   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 StatusLine ctermfg=white ctermbg=darkblue cterm=bold
   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 TabLineSel ctermfg=white ctermbg=black cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
-  hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
+  hi ToolbarButton ctermfg=black ctermbg=grey cterm=bold
   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
@@ -236,6 +228,69 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Ignore ctermfg=black ctermbg=black cterm=NONE
+  hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+  hi Todo ctermfg=darkyellow ctermbg=black cterm=reverse
+  hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=bold,underline
+  hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
+  hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Directory ctermfg=darkcyan ctermbg=NONE cterm=bold
+  hi Search ctermfg=darkred ctermbg=black cterm=bold,reverse
+  hi IncSearch ctermfg=darkgreen ctermbg=black cterm=reverse
+  hi NonText ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
+  hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi LineNr ctermfg=grey ctermbg=NONE cterm=bold
+  hi MatchParen ctermfg=grey ctermbg=darkcyan cterm=NONE
+  hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
+  hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Question ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
+  hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
+  hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=darkyellow cterm=reverse
+  hi SpellCap ctermfg=darkblue ctermbg=darkyellow cterm=reverse
+  hi SpellLocal ctermfg=darkmagenta ctermbg=darkyellow cterm=reverse
+  hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi StatusLine ctermfg=grey ctermbg=darkblue cterm=bold
+  hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
+  hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
+  hi TabLine ctermfg=black ctermbg=grey cterm=NONE
+  hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
+  hi TabLineSel ctermfg=white ctermbg=black cterm=bold
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=darkmagenta cterm=NONE
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -359,4 +414,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/colors/zellner.vim
+++ b/runtime/colors/zellner.vim
@@ -4,7 +4,7 @@
 " 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
+" Last Updated: Sun Jun 12 11:05:43 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -18,11 +18,17 @@ let s:t_Co = exists('&t_Co') && !empty(&
 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! link Terminal Normal
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+hi! link CurSearch Search
+hi! link CursorLineFold CursorLine
+hi! link CursorLineSign CursorLine
 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 CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=bold
 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
@@ -36,9 +42,9 @@ hi PmenuSbar guifg=NONE guibg=#ffffff gu
 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 TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=bold
 hi ToolbarLine guifg=NONE guibg=#d3d3d3 gui=NONE cterm=NONE
-hi ToolbarButton guifg=NONE guibg=#a9a9a9 gui=bold cterm=NONE
+hi ToolbarButton guifg=NONE guibg=#a9a9a9 gui=bold cterm=bold
 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
@@ -50,9 +56,9 @@ hi Underlined guifg=#6a5acd guibg=NONE g
 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 MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
+hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=bold
+hi Question guifg=#ff00ff guibg=NONE gui=bold cterm=bold
 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
@@ -73,27 +79,27 @@ hi PreProc guifg=#a020f0 guibg=NONE gui=
 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 Directory guifg=#0000ff guibg=NONE gui=bold cterm=bold
 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 Title guifg=#a020f0 guibg=NONE gui=bold cterm=bold
 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 Terminal Normal
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  hi! link CurSearch Search
+  hi! link CursorLineFold CursorLine
+  hi! link CursorLineSign CursorLine
   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 CursorLineNr ctermfg=124 ctermbg=NONE cterm=bold
   hi QuickFixLine ctermfg=231 ctermbg=62 cterm=NONE
   hi EndOfBuffer ctermfg=248 ctermbg=NONE cterm=NONE
   hi StatusLine ctermfg=226 ctermbg=248 cterm=NONE
@@ -107,9 +113,9 @@ if s:t_Co >= 256
   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 TabLineSel ctermfg=16 ctermbg=231 cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=252 cterm=NONE
-  hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=NONE
+  hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=bold
   hi NonText ctermfg=248 ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=248 ctermbg=NONE cterm=NONE
   hi Visual ctermfg=16 ctermbg=226 cterm=NONE
@@ -121,9 +127,9 @@ if s:t_Co >= 256
   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 MoreMsg ctermfg=16 ctermbg=231 cterm=bold
+  hi ModeMsg ctermfg=16 ctermbg=231 cterm=bold
+  hi Question ctermfg=201 ctermbg=NONE cterm=bold
   hi Todo ctermfg=16 ctermbg=226 cterm=NONE
   hi MatchParen ctermfg=231 ctermbg=201 cterm=NONE
   hi Search ctermfg=231 ctermbg=129 cterm=NONE
@@ -144,16 +150,10 @@ if s:t_Co >= 256
   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 Directory ctermfg=21 ctermbg=NONE cterm=bold
   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 Title ctermfg=129 ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
   hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
   hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
@@ -164,10 +164,10 @@ endif
 
 if s:t_Co >= 16
   hi Normal ctermfg=black ctermbg=white cterm=NONE
-  hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Folded ctermfg=darkblue ctermbg=NONE cterm=bold
   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 CursorLineNr ctermfg=darkred ctermbg=NONE cterm=bold
   hi QuickFixLine ctermfg=white ctermbg=blue cterm=NONE
   hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
   hi StatusLine ctermfg=yellow ctermbg=darkgrey cterm=NONE
@@ -181,9 +181,9 @@ if s:t_Co >= 16
   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 TabLineSel ctermfg=black ctermbg=white cterm=bold
   hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
-  hi ToolbarButton ctermfg=NONE ctermbg=grey cterm=NONE
+  hi ToolbarButton ctermfg=NONE ctermbg=grey cterm=bold
   hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
   hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
   hi Visual ctermfg=black ctermbg=yellow cterm=NONE
@@ -195,9 +195,9 @@ if s:t_Co >= 16
   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 MoreMsg ctermfg=black ctermbg=white cterm=bold
+  hi ModeMsg ctermfg=black ctermbg=white cterm=bold
+  hi Question ctermfg=magenta ctermbg=NONE cterm=bold
   hi Todo ctermfg=black ctermbg=yellow cterm=NONE
   hi MatchParen ctermfg=white ctermbg=magenta cterm=NONE
   hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
@@ -218,16 +218,10 @@ if s:t_Co >= 16
   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 Directory ctermfg=blue ctermbg=NONE cterm=bold
   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 Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
   hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
   hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
   hi DiffText ctermfg=black ctermbg=grey cterm=NONE
@@ -236,6 +230,71 @@ if s:t_Co >= 16
   finish
 endif
 
+if s:t_Co >= 8
+  hi Normal ctermfg=black ctermbg=gray cterm=NONE
+  hi Folded ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+  hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi CursorLineNr ctermfg=darkred ctermbg=NONE cterm=bold
+  hi QuickFixLine ctermfg=gray ctermbg=darkblue cterm=NONE
+  hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=bold
+  hi StatusLine ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi StatusLineNC ctermfg=black ctermbg=gray cterm=reverse
+  hi StatusLineTerm ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=black ctermbg=gray cterm=reverse
+  hi VertSplit ctermfg=black ctermbg=gray cterm=reverse
+  hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
+  hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
+  hi PmenuThumb ctermfg=NONE ctermbg=darkmagenta cterm=NONE
+  hi TabLine ctermfg=black ctermbg=gray cterm=reverse
+  hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi TabLineSel ctermfg=gray ctermbg=black cterm=bold,reverse
+  hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton ctermfg=black ctermbg=gray cterm=bold,reverse
+  hi NonText ctermfg=gray ctermbg=NONE cterm=bold
+  hi SpecialKey ctermfg=gray ctermbg=NONE cterm=bold
+  hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
+  hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
+  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=NONE ctermbg=NONE cterm=underline
+  hi Error ctermfg=darkred ctermbg=black cterm=reverse
+  hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
+  hi WarningMsg ctermfg=darkmagenta ctermbg=black cterm=NONE
+  hi MoreMsg ctermfg=gray ctermbg=black cterm=bold
+  hi ModeMsg ctermfg=gray ctermbg=black cterm=bold
+  hi Question ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi MatchParen ctermfg=black ctermbg=darkmagenta cterm=NONE
+  hi Search ctermfg=black ctermbg=darkmagenta cterm=NONE
+  hi IncSearch ctermfg=gray ctermbg=NONE cterm=reverse
+  hi WildMenu ctermfg=gray ctermbg=darkyellow cterm=NONE
+  hi ColorColumn ctermfg=black ctermbg=darkred cterm=NONE
+  hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse
+  hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=reverse
+  hi SpellLocal ctermfg=darkyellow ctermbg=darkblue cterm=reverse
+  hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=reverse
+  hi Comment ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  hi Identifier ctermfg=darkblue ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=darkred ctermbg=NONE cterm=bold
+  hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Special ctermfg=darkgreen ctermbg=NONE cterm=NONE
+  hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Conceal ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Title ctermfg=darkmagenta ctermbg=NONE cterm=bold
+  hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
+  hi DiffChange ctermfg=white ctermbg=darkblue cterm=NONE
+  hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+  hi DiffDelete ctermfg=white ctermbg=darkmagenta cterm=NONE
+  unlet s:t_Co
+  finish
+endif
+
 if s:t_Co >= 0
   hi Normal term=NONE
   hi ColorColumn term=reverse
@@ -327,9 +386,14 @@ endif
 " Color: linenr      #a52a2a        124            darkred
 " Color: colorcolumn #eeeeee        255            grey
 " Color: slateblue   #6a5acd        62             blue
-" Color: darkcyan    #008787        30             darkcyan
+" Color: black       #000000        16             black
+" Color: darkred     #870000        88             darkred
 " Color: darkgreen   #008700        28             darkgreen
 " Color: darkyellow  #878700        100            darkyellow
+" Color: darkblue    #000087        18             darkblue
+" Color: darkmagenta #870087        18             darkmagenta
+" Color: darkcyan    #008787        30             darkcyan
+" Color: gray        #878787        102            gray
 " 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
@@ -338,4 +402,6 @@ endif
 " Color: bgDiffT     #C6C6C6        251            grey
 " Color: fgDiffW     #FFFFFF        231            white
 " Color: fgDiffB     #000000        16             black
+" Color: bgDiffC8    #5F87AF        67             darkblue
+" Color: bgDiffD8    #AF5FAF        133            darkmagenta
 " vim: et ts=2 sw=2
--- a/runtime/compiler/perl.vim
+++ b/runtime/compiler/perl.vim
@@ -1,7 +1,11 @@
-" Vim Compiler File
-" Compiler:     Perl syntax checks (perl -Wc)
-" Maintainer:   Christian J. Robinson <heptite@gmail.com>
-" Last Change:  2019 Jul 22
+" Vim compiler file
+" Compiler:      Perl syntax checks (perl -Wc)
+" Maintainer:    vim-perl <vim-perl@googlegroups.com>
+" Author:        Christian J. Robinson <heptite@gmail.com>
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2021 Nov 2
 
 if exists("current_compiler")
   finish
@@ -15,10 +19,10 @@ endif
 let s:savecpo = &cpo
 set cpo&vim
 
-if exists('g:perl_compiler_force_warnings') && g:perl_compiler_force_warnings == 0
+if get(g:, 'perl_compiler_force_warnings', 1)
+	let s:warnopt = 'W'
+else
 	let s:warnopt = 'w'
-else
-	let s:warnopt = 'W'
 endif
 
 if getline(1) =~# '-[^ ]*T'
new file mode 100644
--- /dev/null
+++ b/runtime/compiler/perlcritic.vim
@@ -0,0 +1,27 @@
+" Vim compiler file
+" Compiler:      perlcritic
+" Maintainer:    vim-perl <vim-perl@googlegroups.com>
+" Author:        Doug Kearns <dougkearns@gmail.com>
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2021 Oct 20
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "perlcritic"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=perlcritic\ --nocolor\ --quiet\ --verbose\ \"\\%f:\\%l:\\%c:\\%s:\\%m\\n\"
+CompilerSet errorformat=%f:%l:%c:%n:%m,
+		       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
new file mode 100644
--- /dev/null
+++ b/runtime/compiler/podchecker.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler:      podchecker
+" Maintainer:    vim-perl <vim-perl@googlegroups.com>
+" Author:        Doug Kearns <dougkearns@gmail.com>
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2021 Oct 20
+
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "podchecker"
+
+if exists(":CompilerSet") != 2          " older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=podchecker\ -w
+CompilerSet errorformat=\*\*\*\ %tRROR:\ %m\ at\ line\ %l\ in\ file\ %f,
+                       \\*\*\*\ %tARNING:\ %m\ at\ line\ %l\ in\ file\ %f,
+                       \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.2.  Last change: 2022 Jun 04
+*starting.txt*  For Vim version 8.2.  Last change: 2022 Jun 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -434,7 +434,7 @@ a slash.  Thus "-R" means recovery and "
 --gui-dialog-file {name}				*--gui-dialog-file*
 		When using the GUI, instead of showing a dialog, write the
 		title and message of the dialog to file {name}.  The file is
-		careted or appended to.  Only useful for testing, to avoid
+		created or appended to.  Only useful for testing, to avoid
 		that the test gets stuck on a dialog that can't be seen.
 		Without the GUI the argument is ignored.
 
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1456,6 +1456,7 @@
 --clean	starting.txt	/*--clean*
 --cmd	starting.txt	/*--cmd*
 --echo-wid	starting.txt	/*--echo-wid*
+--gui-dialog-file	starting.txt	/*--gui-dialog-file*
 --help	starting.txt	/*--help*
 --literal	starting.txt	/*--literal*
 --log	starting.txt	/*--log*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2022 Jun 12
+*todo.txt*      For Vim version 8.2.  Last change: 2022 Jun 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,9 +38,13 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+retab test Test_retab_endless() disabled - why is interrupt not caught?
+
 searchpair() must call function to set timeout, not pass the time limit down
 (and set it many times).  #10562
 
+Add test for --gui-dialog-file, check :confirm q with change buffer.
+
 Prepare for Vim 9.0 release:
 - Update the user manual:
   - Add more to usr_50.txt as an "advanced section" of usr_41.txt
@@ -312,8 +316,6 @@ inconsistent with the documentation.
 
 globpath() does not use 'wildignorecase' at all? (related to #8350)
 
-Add a "--gui-dialog-file" argument, to be used in tests to avoid getting stuck.
-
 Add 'termguiattr' option, use "gui=" attributes in the terminal?  Would work
 with 'termguicolors'. #1740
 
--- a/runtime/ftplugin/m3build.vim
+++ b/runtime/ftplugin/m3build.vim
@@ -1,21 +1,20 @@
 " Vim filetype plugin file
 " Language:	Modula-3 Makefile
 " Maintainer:	Doug Kearns <dougkearns@gmail.com>
-" Last Change:	2021 April 15
+" Last Change:	2022 June 12
 
 if exists("b:did_ftplugin")
   finish
 endif
-let b:did_ftplugin = 1
 
 let s:cpo_save = &cpo
 set cpo&vim
 
 runtime! ftplugin/m3quake.vim
 
-if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
-  let b:browsefilter = "Modula-3 Makefile (m3makefile m3overrides)\tm3makefile;m3overrides\n" ..
-	\	       "All Files (*.*)\t*.*\n"
+if (has("gui_win32") || has("gui_gtk")) && exists("b:m3quake_set_browsefilter")
+    let b:browsefilter = "Modula-3 Makefile (m3makefile m3overrides)\tm3makefile;m3overrides\n" ..
+	  \		 "All Files (*.*)\t*.*\n"
 endif
 
 let &cpo = s:cpo_save
--- a/runtime/ftplugin/m3quake.vim
+++ b/runtime/ftplugin/m3quake.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	Modula-3 Quake
 " Maintainer:	Doug Kearns <dougkearns@gmail.com>
-" Last Change:	2021 April 15
+" Last Change:	2022 June 12
 
 if exists("b:did_ftplugin")
   finish
@@ -15,18 +15,20 @@ setlocal comments=s1:/*,mb:*,ex:*/,:%
 setlocal commentstring=%\ %s
 setlocal formatoptions-=t formatoptions+=croql
 
+let b:undo_ftplugin = "setl fo< com< cms<"
+
 if exists("loaded_matchit") && !exists("b:match_words")
   let b:match_words = '\<\%(proc\|if\|foreach\)\>:\<else\>:\<end\>'
+  let b:undo_ftplugin ..= " | unlet! b:match_words"
 endif
 
 if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
   let b:browsefilter = "Modula-3 Quake Source Files (*.quake)\t*.quake\n" ..
 	\	       "All Files (*.*)\t*.*\n"
+  let b:m3quake_set_browsefilter = 1
+  let b:undo_ftplugin ..= " | unlet! b:browsefilter b:m3quake_set_browsefilter"
 endif
 
-let b:undo_ftplugin = "setl fo< com< cms< " ..
-      \		      "| unlet! b:browsefilter b:match_words"
-
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
--- a/runtime/ftplugin/modula3.vim
+++ b/runtime/ftplugin/modula3.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	Modula-3
 " Maintainer:	Doug Kearns <dougkearns@gmail.com>
-" Last Change:	2021 Apr 08
+" Last Change:	2022 June 12 
 
 if exists("b:did_ftplugin")
   finish
@@ -14,24 +14,28 @@ set cpo&vim
 setlocal comments=s0:(*,mb:\ ,ex:*)
 setlocal commentstring=(*%s*)
 setlocal formatoptions-=t formatoptions+=croql
+setlocal suffixesadd+=.m3
+setlocal formatprg=m3pp
+
+let b:undo_ftplugin = "setlocal com< cms< fo< fp< sua<"
 
 if exists("loaded_matchit") && !exists("b:match_words")
   let b:match_words = '\<REPEAT\>:\<UNTIL\>,' ..
-		    \ '\<\%(BEGIN\|CASE\|FOR\|IF\|LOCK\|LOOP\|TRY\|TYPECASE\|WHILE\|WITH\)\>' ..
+		    \ '\<\%(BEGIN\|CASE\|FOR\|IF\|LOCK\|LOOP\|TRY\|TYPECASE\|WHILE\|WITH\|RECORD\|OBJECT\)\>' ..
+		    \	':' ..
+		    \	'\<\%(ELSIF\|ELSE\|EXCEPT\|FINALLY\|METHODS\|OVERRIDES\)\>\|\%(^\s*\)\@<=\S.*=>' ..
 		    \	':' ..
-		    \	'\<\%(ELSIF\|ELSE\|EXCEPT\|FINALLY\)\>\|\%(^\s*\)\@<=\S.*=>' ..
-		    \	':' ..
-		    \ '\<END\>'
+		    \ '\<END\>,' ..
+		    \ '(\*:\*),<\*:\*>'
+  let b:undo_ftplugin ..= " | unlet! b:match_words"
 endif
 
 if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
   let b:browsefilter = "Modula-3 Source Files (*.m3)\t*.m3\n" ..
 		     \ "All Files (*.*)\t*.*\n"
+  let b:undo_ftplugin ..= " | unlet! b:browsefilter"
 endif
 
-let b:undo_ftplugin = "setl com< cms< fo< " ..
-		    \ "| unlet! b:browsefilter b:match_words"
-
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
--- a/runtime/ftplugin/perl.vim
+++ b/runtime/ftplugin/perl.vim
@@ -3,7 +3,8 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      https://github.com/vim-perl/vim-perl
 " Bugs/requests: https://github.com/vim-perl/vim-perl/issues
-" Last Change:   2020 Apr 15
+" License:       Vim License (see :help license)
+" Last Change:   2021 Nov 10
 
 if exists("b:did_ftplugin") | finish | endif
 let b:did_ftplugin = 1
@@ -20,27 +21,36 @@ setlocal keywordprg=perldoc\ -f
 setlocal comments=:#
 setlocal commentstring=#%s
 
-" Change the browse dialog on Win32 to show mainly Perl-related files
-if has("gui_win32")
-    let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" .
-		       \ "Perl Modules (*.pm)\t*.pm\n" .
-		       \ "Perl Documentation Files (*.pod)\t*.pod\n" .
-		       \ "All Files (*.*)\t*.*\n"
-endif
-
 " Provided by Ned Konz <ned at bike-nomad dot com>
 "---------------------------------------------
 setlocal include=\\<\\(use\\\|require\\)\\>
-setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
+" '+' is removed to support plugins in Catalyst or DBIx::Class
+" where the leading plus indicates a fully-qualified module name.
+setlocal includeexpr=substitute(substitute(substitute(substitute(v:fname,'+','',''),'::','/','g'),'->\*','',''),'$','.pm','')
 setlocal define=[^A-Za-z_]
 setlocal iskeyword+=:
 
 " The following line changes a global variable but is necessary to make
 " gf and similar commands work. Thanks to Andrew Pimlott for pointing
-" out the problem. If this causes a problem for you, add an
-" after/ftplugin/perl.vim file that contains
-"       set isfname-=:
+" out the problem.
+let s:old_isfname = &isfname
 set isfname+=:
+let s:new_isfname = &isfname
+
+augroup perl_global_options
+  au!
+  exe "au BufEnter * if &filetype == 'perl' | let &isfname = '" . s:new_isfname . "' | endif"
+  exe "au BufLeave * if &filetype == 'perl' | let &isfname = '" . s:old_isfname . "' | endif"
+augroup END
+
+" Undo the stuff we changed.
+let b:undo_ftplugin = "setlocal fo< kp< com< cms< inc< inex< def< isk<" .
+      \               " | let &isfname = '" .  s:old_isfname . "'"
+
+if get(g:, 'perl_fold', 0)
+  setlocal foldmethod=syntax
+  let b:undo_ftplugin .= " | setlocal fdm<"
+endif
 
 " Set this once, globally.
 if !exists("perlpath")
@@ -74,16 +84,26 @@ if &l:path == ""
 else
     let &l:path=&l:path.",".perlpath
 endif
+
+let b:undo_ftplugin .= " | setlocal pa<"
 "---------------------------------------------
 
-" Undo the stuff we changed.
-let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk< isf< kp< path<" .
-	    \	      " | unlet! b:browsefilter"
+" Change the browse dialog to show mainly Perl-related files
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+    let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" .
+		       \ "Perl Modules (*.pm)\t*.pm\n" .
+		       \ "Perl Documentation Files (*.pod)\t*.pod\n" .
+		       \ "All Files (*.*)\t*.*\n"
+    let b:undo_ftplugin .= " | unlet! b:browsefilter"
+endif
 
-" proper matching for matchit plugin
-let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
-let b:match_words = '\<if\>:\<elsif\>:\<else\>'
+" Proper matching for matchit plugin
+if exists("loaded_matchit") && !exists("b:match_words")
+    let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
+    let b:match_words = '\<if\>:\<elsif\>:\<else\>'
+    let b:undo_ftplugin .= " | unlet! b:match_words b:match_skip"
+endif
 
 " Restore the saved compatibility options.
 let &cpo = s:save_cpo
-unlet s:save_cpo
+unlet s:save_cpo s:old_isfname s:new_isfname
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/pod.vim
@@ -0,0 +1,71 @@
+" Vim filetype plugin file
+" Language:      Perl POD format
+" Maintainer:    vim-perl <vim-perl@googlegroups.com>
+" Author:        Doug Kearns <dougkearns@gmail.com>
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2021 Oct 19
+
+if exists("b:did_ftplugin")
+    finish
+endif
+
+let s:save_cpo = &cpo
+set cpo-=C
+
+setlocal comments=fb:=for\ comment
+setlocal commentstring==for\ comment\ %s
+
+let b:undo_ftplugin = "setl com< cms<"
+
+if exists("loaded_matchit") && !exists("b:match_words")
+  let b:match_words =
+        \ '^=pod\>:^=cut\>,' .
+        \ '^=begin\s\+\(\S\+\):^=end\s\+\1,' .
+        \ '^=over\>:^=item\>:^=back\>,' .
+        \ '[IBCLEFSXZ]<<\%(\s\+\|$\)\@=:\%(\s\+\|^\)\@<=>>,' .
+        \ '[IBCLEFSXZ]<:>'
+  let b:undo_ftplugin .= " | unlet! b:match_words"
+endif
+
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+  let b:browsefilter = "POD Source Files (*.pod)\t*.pod\n" .
+        \              "Perl Source Files (*.pl)\t*.pl\n" .
+        \              "Perl Modules (*.pm)\t*.pm\n" .
+        \              "All Files (*.*)\t*.*\n"
+  let b:undo_ftplugin .= " | unlet! b:browsefilter"
+endif
+
+function! s:jumpToSection(backwards)
+  let flags = a:backwards ? 'bsWz' : 'sWz'
+  if has('syntax_items')
+    let skip = "synIDattr(synID(line('.'), col('.'), 1), 'name') !~# '\\<podCommand\\>'"
+  else
+    let skip = ''
+  endif
+  for i in range(v:count1)
+    call search('^=\a', flags, 0, 0, skip)
+  endfor
+endfunction
+
+if !exists("no_plugin_maps") && !exists("no_pod_maps")
+  nnoremap <silent> <buffer> ]] <Cmd>call <SID>jumpToSection()<CR>
+  vnoremap <silent> <buffer> ]] <Cmd>call <SID>jumpToSection()<CR>
+  nnoremap <silent> <buffer> ][ <Cmd>call <SID>jumpToSection()<CR>
+  vnoremap <silent> <buffer> ][ <Cmd>call <SID>jumpToSection()<CR>
+  nnoremap <silent> <buffer> [[ <Cmd>call <SID>jumpToSection(1)<CR>
+  vnoremap <silent> <buffer> [[ <Cmd>call <SID>jumpToSection(1)<CR>
+  nnoremap <silent> <buffer> [] <Cmd>call <SID>jumpToSection(1)<CR>
+  vnoremap <silent> <buffer> [] <Cmd>call <SID>jumpToSection(1)<CR>
+  let b:undo_ftplugin .=
+        \ " | silent! exe 'nunmap <buffer> ]]' | silent! exe 'vunmap <buffer> ]]'" .
+        \ " | silent! exe 'nunmap <buffer> ][' | silent! exe 'vunmap <buffer> ]['" .
+        \ " | silent! exe 'nunmap <buffer> ]]' | silent! exe 'vunmap <buffer> ]]'" .
+        \ " | silent! exe 'nunmap <buffer> []' | silent! exe 'vunmap <buffer> []'"
+endif
+
+let &cpo = s:save_cpo
+unlet s:save_cpo
+
+" vim: set expandtab:
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/tap.vim
@@ -0,0 +1,27 @@
+" Vim filetype plugin file
+" Language:      Verbose TAP Output
+" Maintainer:    vim-perl <vim-perl@googlegroups.com>
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2021 Oct 22
+
+" Only do this when not done yet for this buffer
+if exists('b:did_ftplugin')
+    finish
+endif
+let b:did_ftplugin = 1
+
+setlocal foldtext=TAPTestLine_foldtext()
+function! TAPTestLine_foldtext()
+    let line = getline(v:foldstart)
+    let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
+    return sub
+endfunction
+
+setlocal foldminlines=5
+setlocal foldcolumn=2
+setlocal foldenable
+setlocal foldmethod=syntax
+
+let b:undo_ftplugin = 'setlocal foldtext< foldminlines< foldcolumn< foldenable< foldmethod<'
--- a/runtime/ftplugin/tt2html.vim
+++ b/runtime/ftplugin/tt2html.vim
@@ -1,8 +1,10 @@
+" Vim filetype plugin file
 " Language:      TT2 embedded with HTML
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
-" Homepage:      http://github.com/vim-perl/vim-perl
-" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013-07-21
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2018 Mar 28
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
--- a/runtime/ftplugin/xs.vim
+++ b/runtime/ftplugin/xs.vim
@@ -1,9 +1,10 @@
 " Vim filetype plugin file
 " Language:      XS (Perl extension interface language)
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
-" Homepage:      http://github.com/vim-perl/vim-perl
-" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013-07-21
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2018 Mar 28
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
--- a/runtime/indent/perl.vim
+++ b/runtime/indent/perl.vim
@@ -1,180 +1,109 @@
 " Vim indent file
-" Language:      Perl 5
+" Language:      Perl
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      https://github.com/vim-perl/vim-perl
 " Bugs/requests: https://github.com/vim-perl/vim-perl/issues
-" Last Change:   2020 Apr 15
-
-" Suggestions and improvements by :
-"   Aaron J. Sherman (use syntax for hints)
-"   Artem Chuprina (play nice with folding)
-
-" TODO things that are not or not properly indented (yet) :
-" - Continued statements
-"     print "foo",
-"       "bar";
-"     print "foo"
-"       if bar();
-" - Multiline regular expressions (m//x)
-" (The following probably needs modifying the perl syntax file)
-" - qw() lists
-" - Heredocs with terminators that don't match \I\i*
+" License:       Vim License (see :help license)
+" Last Change:   2021 Sep 24
 
-" Only load this indent file when no other was loaded.
-if exists("b:did_indent")
-    finish
-endif
-let b:did_indent = 1
+if exists("b:did_ftplugin") | finish | endif
+let b:did_ftplugin = 1
 
-" Is syntax highlighting active ?
-let b:indent_use_syntax = has("syntax")
-
-setlocal indentexpr=GetPerlIndent()
-setlocal indentkeys+=0=,0),0],0=or,0=and
-if !b:indent_use_syntax
-    setlocal indentkeys+=0=EO
-endif
-
-let s:cpo_save = &cpo
+" Make sure the continuation lines below do not cause problems in
+" compatibility mode.
+let s:save_cpo = &cpo
 set cpo-=C
 
-function! GetPerlIndent()
-
-    " Get the line to be indented
-    let cline = getline(v:lnum)
+setlocal formatoptions-=t
+setlocal formatoptions+=crqol
+setlocal keywordprg=perldoc\ -f
 
-    " Indent POD markers to column 0
-    if cline =~ '^\s*=\L\@!'
-        return 0
-    endif
+setlocal comments=:#
+setlocal commentstring=#%s
 
-    " Get current syntax item at the line's first char
-    let csynid = ''
-    if b:indent_use_syntax
-        let csynid = synIDattr(synID(v:lnum,1,0),"name")
-    endif
+" Provided by Ned Konz <ned at bike-nomad dot com>
+"---------------------------------------------
+setlocal include=\\<\\(use\\\|require\\)\\>
+" '+' is removed to support plugins in Catalyst or DBIx::Class
+" where the leading plus indicates a fully-qualified module name.
+setlocal includeexpr=substitute(substitute(substitute(substitute(v:fname,'+','',''),'::','/','g'),'->\*','',''),'$','.pm','')
+setlocal define=[^A-Za-z_]
+setlocal iskeyword+=:
 
-    " Don't reindent POD and heredocs
-    if csynid == "perlPOD" || csynid == "perlHereDoc" || csynid =~ "^pod"
-        return indent(v:lnum)
-    endif
+" The following line changes a global variable but is necessary to make
+" gf and similar commands work. Thanks to Andrew Pimlott for pointing
+" out the problem.
+let s:old_isfname = &isfname
+set isfname+=:
+let s:new_isfname = &isfname
 
-    " Indent end-of-heredocs markers to column 0
-    if b:indent_use_syntax
-        " Assumes that an end-of-heredoc marker matches \I\i* to avoid
-        " confusion with other types of strings
-        if csynid == "perlStringStartEnd" && cline =~ '^\I\i*$'
-            return 0
-        endif
-    else
-        " Without syntax hints, assume that end-of-heredocs markers begin with EO
-        if cline =~ '^\s*EO'
-            return 0
-        endif
-    endif
+augroup perl_global_options
+  au!
+  exe "au BufEnter * if &filetype == 'perl' | let &isfname = '" . s:new_isfname . "' | endif"
+  exe "au BufLeave * if &filetype == 'perl' | let &isfname = '" . s:old_isfname . "' | endif"
+augroup END
 
-    " Now get the indent of the previous perl line.
+" Undo the stuff we changed.
+let b:undo_ftplugin = "setlocal fo< kp< com< cms< inc< inex< def< isk<" .
+      \               " | let &isfname = '" .  s:old_isfname . "'"
 
-    " Find a non-blank line above the current line.
-    let lnum = prevnonblank(v:lnum - 1)
-    " Hit the start of the file, use zero indent.
-    if lnum == 0
-        return 0
-    endif
-    let line = getline(lnum)
-    let ind = indent(lnum)
-    " Skip heredocs, POD, and comments on 1st column
-    if b:indent_use_syntax
-        let skippin = 2
-        while skippin
-            let synid = synIDattr(synID(lnum,1,0),"name")
-            if (synid == "perlStringStartEnd" && line =~ '^\I\i*$')
-                        \ || (skippin != 2 && synid == "perlPOD")
-                        \ || (skippin != 2 && synid == "perlHereDoc")
-                        \ || synid == "perlComment"
-                        \ || synid =~ "^pod"
-                let lnum = prevnonblank(lnum - 1)
-                if lnum == 0
-                    return 0
-                endif
-                let line = getline(lnum)
-                let ind = indent(lnum)
-                let skippin = 1
-            else
-                let skippin = 0
-            endif
-        endwhile
+if get(g:, 'perl_fold', 0)
+  setlocal foldmethod=syntax
+  let b:undo_ftplugin .= " | setlocal fdm<"
+endif
+
+" Set this once, globally.
+if !exists("perlpath")
+    if executable("perl")
+      try
+	if &shellxquote != '"'
+	    let perlpath = system('perl -e "print join(q/,/,@INC)"')
+	else
+	    let perlpath = system("perl -e 'print join(q/,/,@INC)'")
+	endif
+	let perlpath = substitute(perlpath,',.$',',,','')
+      catch /E145:/
+	let perlpath = ".,,"
+      endtry
     else
-        if line =~ "^EO"
-            let lnum = search("<<[\"']\\=EO", "bW")
-            let line = getline(lnum)
-            let ind = indent(lnum)
-        endif
+	" If we can't call perl to get its path, just default to using the
+	" current directory and the directory of the current file.
+	let perlpath = ".,,"
     endif
+endif
+
+" Append perlpath to the existing path value, if it is set.  Since we don't
+" use += to do it because of the commas in perlpath, we have to handle the
+" global / local settings, too.
+if &l:path == ""
+    if &g:path == ""
+        let &l:path=perlpath
+    else
+        let &l:path=&g:path.",".perlpath
+    endif
+else
+    let &l:path=&l:path.",".perlpath
+endif
 
-    " Indent blocks enclosed by {}, (), or []
-    if b:indent_use_syntax
-        " Find a real opening brace
-        " NOTE: Unlike Perl character classes, we do NOT need to escape the
-        " closing brackets with a backslash.  Doing so just puts a backslash
-        " in the character class and causes sorrow.  Instead, put the closing
-        " bracket as the first character in the class.
-        let braceclass = '[][(){}]'
-        let bracepos = match(line, braceclass, matchend(line, '^\s*[])}]'))
-        while bracepos != -1
-            let synid = synIDattr(synID(lnum, bracepos + 1, 0), "name")
-            " If the brace is highlighted in one of those groups, indent it.
-            " 'perlHereDoc' is here only to handle the case '&foo(<<EOF)'.
-            if synid == ""
-                        \ || synid == "perlMatchStartEnd"
-                        \ || synid == "perlHereDoc"
-                        \ || synid == "perlBraces"
-                        \ || synid == "perlStatementIndirObj"
-                        \ || synid =~ "^perlFiledescStatement"
-                        \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
-                let brace = strpart(line, bracepos, 1)
-                if brace == '(' || brace == '{' || brace == '['
-                    let ind = ind + shiftwidth()
-                else
-                    let ind = ind - shiftwidth()
-                endif
-            endif
-            let bracepos = match(line, braceclass, bracepos + 1)
-        endwhile
-        let bracepos = matchend(cline, '^\s*[])}]')
-        if bracepos != -1
-            let synid = synIDattr(synID(v:lnum, bracepos, 0), "name")
-            if synid == ""
-                        \ || synid == "perlMatchStartEnd"
-                        \ || synid == "perlBraces"
-                        \ || synid == "perlStatementIndirObj"
-                        \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
-                let ind = ind - shiftwidth()
-            endif
-        endif
-    else
-        if line =~ '[{[(]\s*\(#[^])}]*\)\=$'
-            let ind = ind + shiftwidth()
-        endif
-        if cline =~ '^\s*[])}]'
-            let ind = ind - shiftwidth()
-        endif
-    endif
+let b:undo_ftplugin .= " | setlocal pa<"
+"---------------------------------------------
 
-    " Indent lines that begin with 'or' or 'and'
-    if cline =~ '^\s*\(or\|and\)\>'
-        if line !~ '^\s*\(or\|and\)\>'
-            let ind = ind + shiftwidth()
-        endif
-    elseif line =~ '^\s*\(or\|and\)\>'
-        let ind = ind - shiftwidth()
-    endif
+" Change the browse dialog to show mainly Perl-related files
+if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+    let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" .
+		       \ "Perl Modules (*.pm)\t*.pm\n" .
+		       \ "Perl Documentation Files (*.pod)\t*.pod\n" .
+		       \ "All Files (*.*)\t*.*\n"
+    let b:undo_ftplugin .= " | unlet! b:browsefilter"
+endif
 
-    return ind
-
-endfunction
+" Proper matching for matchit plugin
+if exists("loaded_matchit") && !exists("b:match_words")
+    let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
+    let b:match_words = '\<if\>:\<elsif\>:\<else\>'
+    let b:undo_ftplugin .= " | unlet! b:match_words b:match_skip"
+endif
 
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
-" vim:ts=8:sts=4:sw=4:expandtab:ft=vim
+" Restore the saved compatibility options.
+let &cpo = s:save_cpo
+unlet s:save_cpo s:old_isfname s:new_isfname
--- a/runtime/syntax/mason.vim
+++ b/runtime/syntax/mason.vim
@@ -1,11 +1,12 @@
 " Vim syntax file
-" Language:     Mason (Perl embedded in HTML)
-" Maintainer:   vim-perl <vim-perl@googlegroups.com>
-" Homepage:      http://github.com/vim-perl/vim-perl/tree/master
-" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:  2017-09-12
-" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
-"               Andrew Smith <andrewdsmith@yahoo.com>
+" Language:      Mason (Perl embedded in HTML)
+" Maintainer:    vim-perl <vim-perl@googlegroups.com>
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2021 Oct 10
+" Contributors:  Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
+"                Andrew Smith <andrewdsmith@yahoo.com>
 "
 " TODO:
 "  - Fix <%text> blocks to show HTML tags but ignore Mason tags.
@@ -74,6 +75,7 @@ syn cluster masonTop contains=masonLine,
 " syntax files.
 hi def link masonDoc Comment
 hi def link masonPod Comment
+hi def link podOrdinary masonPod
 hi def link masonPerlComment perlComment
 
 let b:current_syntax = "mason"
--- a/runtime/syntax/perl.vim
+++ b/runtime/syntax/perl.vim
@@ -1,15 +1,17 @@
 " Vim syntax file
-" Language:      Perl 5
+" Language:      Perl
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
-" Homepage:      https://github.com/vim-perl/vim-perl/tree/master
+" Homepage:      https://github.com/vim-perl/vim-perl
 " Bugs/requests: https://github.com/vim-perl/vim-perl/issues
-" Last Change:   2020 Apr 15
+" License:       Vim License (see :help license)
+" Last Change:   2021 Oct 7
 " Contributors:  Andy Lester <andy@petdance.com>
 "                Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
 "                Lukas Mai <l.mai.web.de>
 "                Nick Hibma <nick@van-laarhoven.org>
 "                Sonia Heimann <niania@netsurf.org>
 "                Rob Hoelz <rob@hoelz.ro>
+"                Doug Kearns <dougkearns@gmail.com>
 "                and many others.
 "
 " Please download the most recent version first, before mailing
@@ -41,11 +43,11 @@ set cpo&vim
 
 " POD starts with ^=<word> and ends with ^=cut
 
-if !exists("perl_include_pod") || perl_include_pod == 1
+if get(g:, 'perl_include_pod', 1)
   " Include a while extra syntax file
   syn include @Pod syntax/pod.vim
   unlet b:current_syntax
-  if exists("perl_fold")
+  if get(g:, 'perl_fold', 1)
     syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend fold extend
     syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend fold extend
   else
@@ -54,7 +56,7 @@ if !exists("perl_include_pod") || perl_i
   endif
 else
   " Use only the bare minimum of rules
-  if exists("perl_fold")
+  if get(g:, 'perl_fold', 1)
     syn region perlPOD start="^=[a-z]" end="^=cut" fold
   else
     syn region perlPOD start="^=[a-z]" end="^=cut"
@@ -92,7 +94,7 @@ syn match perlStatementFiles		"\<\%(ch\%
 syn match perlStatementFiles		"-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
 syn match perlStatementFlow		"\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>"
 syn match perlStatementInclude		"\<\%(require\|import\|unimport\)\>"
-syn match perlStatementInclude		"\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autodie\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|overloading\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
+syn match perlStatementInclude		"\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autodie\%(::\%(exception\%(::system\)\=\|hints\|skip\)\)\=\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|deprecate\|diagnostics\|encoding\%(::warnings\)\=\|experimental\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|ok\|open\|ops\|overload\|overloading\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
 syn match perlStatementProc		"\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>"
 syn match perlStatementSocket		"\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>"
 syn match perlStatementIPC		"\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>"
@@ -138,38 +140,36 @@ syn match  perlPackageRef	 "[$@#%*&]\%(\
 " If you don't want complex things like @{${"foo"}} to be processed,
 " just set the variable "perl_no_extended_vars"...
 
-if !exists("perl_no_scope_in_variables")
-  syn match  perlVarPlain       "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
-  syn match  perlVarPlain2                   "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
-  syn match  perlFunctionName                "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
+if !get(g:, 'perl_no_scope_in_variables', 0)
+  syn match  perlVarPlain       "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref
+  syn match  perlVarPlain2                   "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref
+  syn match  perlFunctionName                "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref
 else
-  syn match  perlVarPlain       "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
-  syn match  perlVarPlain2                   "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
-  syn match  perlFunctionName                "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
+  syn match  perlVarPlain       "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref
+  syn match  perlVarPlain2                   "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref
+  syn match  perlFunctionName                "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref
 endif
 
 syn match  perlVarPlain2	 "%[-+]"
 
-if !exists("perl_no_extended_vars")
-  syn cluster perlExpr		contains=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ,perlArrow,perlBraces
-  syn region perlArrow		matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
-  syn region perlArrow		matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
-  syn region perlArrow		matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
-  syn match  perlArrow		"->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
-  syn region perlArrow		matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
-  syn region perlVarBlock	matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
-  syn region perlVarBlock2	matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
-  syn match  perlVarPlain2	"[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
-  syn match  perlVarPlain	"\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
-  syn region perlVarMember	matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
-  syn match  perlVarSimpleMember	"\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contains=perlVarSimpleMemberName contained extend
+if !get(g:, 'perl_no_extended_vars', 0)
+  syn cluster perlExpr		contains=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQ,perlQQ,perlQW,perlQR,perlArrow,perlBraces
+  syn region perlArrow		matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref contained
+  syn region perlArrow		matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref contained
+  syn region perlArrow		matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref contained
+  syn match  perlArrow		"->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref contained
+  syn region perlVarBlock	matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref extend
+  syn region perlVarBlock2	matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref extend
+  syn match  perlVarPlain2	"[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref extend
+  syn match  perlVarPlain	"\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref extend
+  syn region perlVarMember	matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref extend
+  syn match  perlVarSimpleMember	"\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref contains=perlVarSimpleMemberName contained extend
   syn match  perlVarSimpleMemberName	"\I\i*" contained
-  syn region perlVarMember	matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
-  syn match perlPackageConst	"__PACKAGE__" nextgroup=perlMethod,perlPostDeref
-  syn match  perlMethod		"->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
-  syn match  perlPostDeref	"->\%($#\|[$@%&*]\)\*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
-  syn region  perlPostDeref	start="->\%($#\|[$@%&*]\)\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
-  syn region  perlPostDeref	matchgroup=perlPostDeref start="->\%($#\|[$@%&*]\){" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
+  syn region perlVarMember	matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlPostDeref extend
+  syn match perlPackageConst	"__PACKAGE__" nextgroup=perlPostDeref
+  syn match  perlPostDeref	"->\%($#\|[$@%&*]\)\*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlPostDeref
+  syn region  perlPostDeref	start="->\%($#\|[$@%&*]\)\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlPostDeref
+  syn region  perlPostDeref	matchgroup=perlPostDeref start="->\%($#\|[$@%&*]\){" skip="\\}" end="}" keepend extend contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlPostDeref
 endif
 
 " File Descriptors
@@ -221,10 +221,16 @@ syn region  perlShellCommand	matchgroup=
 " Constants
 "
 " Numbers
-syn match  perlNumber	"\<\%(0\%(x\x[[:xdigit:]_]*\|b[01][01_]*\|\o[0-7_]*\|\)\|[1-9][[:digit:]_]*\)\>"
-syn match  perlFloat	"\<\d[[:digit:]_]*[eE][\-+]\=\d\+"
-syn match  perlFloat	"\<\d[[:digit:]_]*\.[[:digit:]_]*\%([eE][\-+]\=\d\+\)\="
-syn match  perlFloat    "\.[[:digit:]][[:digit:]_]*\%([eE][\-+]\=\d\+\)\="
+syn case   ignore
+syn match  perlNumber	"\<\%(0\|[1-9]\%(_\=\d\)*\)\>"
+syn match  perlNumber	"\<0\%(x\x\%(_\=\x\)*\|b[01]\%(_\=[01]\)*\|o\=\%(_\=\o\)*\)\>"
+syn match  perlFloat	"\<\d\%(_\=\d\)*e[-+]\=\d\%(_\=\d\)*"
+syn match  perlFloat	"\<\d\%(_\=\d\)*\.\%(\d\%(_\=\d\)*\)\=\%(e[-+]\=\d\%(_\=\d\)*\)\="
+syn match  perlFloat    "\.\d\%(_\=\d\)*\%(e[-+]\=\d\%(_\=\d\)*\)\="
+syn match  perlFloat	"\<0x\x\%(_\=\x\)*p[-+]\=\d\%(_\=\d\)*"
+syn match  perlFloat	"\<0x\x\%(_\=\x\)*\.\%(\x\%(_\=\x\)*\)\=\%(p[-+]\=\d\%(_\=\d\)*\)\="
+syn match  perlFloat    "\<0x\.\x\%(_\=\x\)*\%(p[-+]\=\d\%(_\=\d\)*\)\="
+syn case   match
 
 syn match  perlString	"\<\%(v\d\+\%(\.\d\+\)*\|\d\+\%(\.\d\+\)\{2,}\)\>" contains=perlVStringV
 syn match  perlVStringV	"\<v" contained
@@ -242,22 +248,24 @@ syn region perlAnglesDQ		start=+<+ end=+
 
 
 " Simple version of searches and matches
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[msixpodualgcn]*+ contains=@perlInterpMatch keepend extend
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[msixpodualgcn]*+ contains=@perlInterpMatch keepend extend
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[msixpodualgcn]*+ contains=@perlInterpSQ keepend extend
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgcn]*+ contains=@perlInterpSlash keepend extend
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[msixpodualgcn]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[msixpodualgcn]*+ contains=@perlInterpMatch,perlBracesDQ extend
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[msixpodualgcn]*+ contains=@perlInterpMatch,perlAnglesDQ keepend extend
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][msixpodualgcn]*+ contains=@perlInterpMatch,perlBracketsDQ keepend extend
+syn match  perlMatchModifiers "[msixpadluncgo]\+" contained
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1+ contains=@perlInterpMatch keepend extend nextgroup=perlMatchModifiers
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#+ contains=@perlInterpMatch keepend extend nextgroup=perlMatchModifiers
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'+ contains=@perlInterpSQ keepend extend nextgroup=perlMatchModifiers
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/+ contains=@perlInterpSlash keepend extend nextgroup=perlMatchModifiers
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)+ contains=@perlInterpMatch,perlParensDQ keepend extend nextgroup=perlMatchModifiers
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ extend nextgroup=perlMatchModifiers
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ keepend extend nextgroup=perlMatchModifiers
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ keepend extend nextgroup=perlMatchModifiers
 
 " Below some hacks to recognise the // variant. This is virtually impossible to catch in all
 " cases as the / is used in so many other ways, but these should be the most obvious ones.
-syn region perlMatch	matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[msixpodualgcn]*+ contains=@perlInterpSlash extend
+syn region perlMatch	matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/+ contains=@perlInterpSlash extend nextgroup=perlMatchModifiers
 
 
 " Substitutions
 " perlMatch is the first part, perlSubstitution* is the substitution part
+syn match  perlSubstitutionModifiers "[msixpadluncgero]\+" contained
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1+me=e-1 contains=@perlInterpMatch nextgroup=perlSubstitutionGQQ keepend extend
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*'+  end=+'+me=e-1 contains=@perlInterpSQ nextgroup=perlSubstitutionSQ keepend extend
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*/+  end=+/+me=e-1 contains=@perlInterpSlash nextgroup=perlSubstitutionGQQ keepend extend
@@ -266,38 +274,39 @@ syn region perlMatch	matchgroup=perlMatc
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
-syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[msixpodualgcern]*+ keepend contained contains=@perlInterpDQ extend
-syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+(+ end=+)[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlParensDQ keepend extend
-syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+\[+ end=+\][msixpodualgcern]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend extend
-syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+{+ end=+}[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend extend
-syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+<+ end=+>[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend extend
-syn region perlSubstitutionSQ		matchgroup=perlMatchStartEnd start=+'+  end=+'[msixpodualgcern]*+ contained contains=@perlInterpSQ keepend extend
+syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1+ keepend contained contains=@perlInterpDQ extend nextgroup=perlSubstitutionModifiers
+syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+(+ end=+)+ contained contains=@perlInterpDQ,perlParensDQ keepend extend nextgroup=perlSubstitutionModifiers
+syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+\[+ end=+\]+ contained contains=@perlInterpDQ,perlBracketsDQ keepend extend nextgroup=perlSubstitutionModifiers
+syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+{+ end=+}+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend extend nextgroup=perlSubstitutionModifiers
+syn region perlSubstitutionGQQ		matchgroup=perlMatchStartEnd start=+<+ end=+>+ contained contains=@perlInterpDQ,perlAnglesDQ keepend extend nextgroup=perlSubstitutionModifiers
+syn region perlSubstitutionSQ		matchgroup=perlMatchStartEnd start=+'+  end=+'+ contained contains=@perlInterpSQ keepend extend nextgroup=perlSubstitutionModifiers
 
 " Translations
 " perlMatch is the first part, perlTranslation* is the second, translator part.
+syn match  perlTranslationModifiers "[cdsr]\+" contained
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\>\s*\z([^[:space:]([{<#]\)+ end=+\z1+me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)#+ end=+#+me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
-syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+\z([^[:space:]([{<]\)+ end=+\z1[cdsr]*+ contained
-syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+(+ end=+)[cdsr]*+ contains=perlParensSQ contained
-syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+\[+ end=+\][cdsr]*+ contains=perlBracketsSQ contained
-syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+{+ end=+}[cdsr]*+ contains=perlBracesSQ contained
-syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+<+ end=+>[cdsr]*+ contains=perlAnglesSQ contained
+syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+\z([^[:space:]([{<]\)+ end=+\z1+ contained nextgroup=perlTranslationModifiers
+syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+(+ end=+)+ contains=perlParensSQ contained nextgroup=perlTranslationModifiers
+syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+\[+ end=+\]+ contains=perlBracketsSQ contained nextgroup=perlTranslationModifiers
+syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+{+ end=+}+ contains=perlBracesSQ contained nextgroup=perlTranslationModifiers
+syn region perlTranslationGQ		matchgroup=perlMatchStartEnd start=+<+ end=+>+ contains=perlAnglesSQ contained nextgroup=perlTranslationModifiers
 
 
 " Strings and q, qq, qw and qr expressions
 
 syn region perlStringUnexpanded	matchgroup=perlStringStartEnd start="'" end="'" contains=@perlInterpSQ keepend extend
 syn region perlString		matchgroup=perlStringStartEnd start=+"+  end=+"+ contains=@perlInterpDQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q#+ end=+#+ contains=@perlInterpSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
+syn region perlQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend extend
+syn region perlQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q#+ end=+#+ contains=@perlInterpSQ keepend extend
+syn region perlQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
+syn region perlQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
+syn region perlQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
+syn region perlQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
 
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpDQ keepend extend
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]#+ end=+#+ contains=@perlInterpDQ keepend extend
@@ -306,48 +315,83 @@ syn region perlQQ		matchgroup=perlString
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*{+ end=+}+ contains=@perlInterpDQ,perlBracesDQ keepend extend
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*<+ end=+>+ contains=@perlInterpDQ,perlAnglesDQ keepend extend
 
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\z([^[:space:]#([{<]\)+  end=+\z1+ contains=@perlInterpSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw#+  end=+#+ contains=@perlInterpSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*(+  end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\[+  end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+  end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+  end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
+syn region perlQW		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\z([^[:space:]#([{<]\)+  end=+\z1+ contains=@perlInterpSQ keepend extend
+syn region perlQW		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw#+  end=+#+ contains=@perlInterpSQ keepend extend
+syn region perlQW		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*(+  end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
+syn region perlQW		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\[+  end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
+syn region perlQW		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+  end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
+syn region perlQW		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+  end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
 
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+  end=+\z1[imosxdual]*+ contains=@perlInterpMatch keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+  end=+/[imosxdual]*+ contains=@perlInterpSlash keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+  end=+#[imosxdual]*+ contains=@perlInterpMatch keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+  end=+'[imosxdual]*+ contains=@perlInterpSQ keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+  end=+)[imosxdual]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
+syn match  perlQRModifiers "[msixpadluno]\+" contained
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+  end=+\z1+ contains=@perlInterpMatch keepend extend nextgroup=perlQRModifiers
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+  end=+/+ contains=@perlInterpSlash keepend extend nextgroup=perlQRModifiers
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+  end=+#+ contains=@perlInterpMatch keepend extend nextgroup=perlQRModifiers
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+  end=+'+ contains=@perlInterpSQ keepend extend nextgroup=perlQRModifiers
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+  end=+)+ contains=@perlInterpMatch,perlParensDQ keepend extend nextgroup=perlQRModifiers
 
 " A special case for qr{}, qr<> and qr[] which allows for comments and extra whitespace in the pattern
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+  end=+}[imosxdual]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+  end=+>[imosxdual]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+  end=+\][imosxdual]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+  end=+}+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend nextgroup=perlQRModifiers
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+  end=+>+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend nextgroup=perlQRModifiers
+syn region perlQR		matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+  end=+\]+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend nextgroup=perlQRModifiers
 
 " Constructs such as print <<EOF [...] EOF, 'here' documents
 "
 " XXX Any statements after the identifier are in perlString colour (i.e.
 " 'if $a' in 'print <<EOF if $a'). This is almost impossible to get right it
 " seems due to the 'auto-extending nature' of regions.
-syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\z(\I\i*\)+  end=+$+     contains=@perlTop oneline
-syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+$+ contains=@perlTop oneline
-syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+$+ contains=@perlTop oneline
-syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\s*""+       end=+$+     contains=@perlTop oneline
-syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\s*''+       end=+$+     contains=@perlTop oneline
-if exists("perl_fold")
-  syn region perlHereDoc	start=+<<\z(\I\i*\)+ matchgroup=perlStringStartEnd      end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend
+" XXX Indented heredocs are not perfect - they sometimes seem to take a moment
+"     to update if switched from double to single quotes and vice versa.
+"
+" Note: bare delimiters such as << to mean <<"" are not supported. These are a
+"       fatal error since 5.28 and, apparently, a rarely used feature.
+
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\I\i*+                         end=+$+     contains=@perlTop oneline
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\\\I\i*+                       end=+$+     contains=@perlTop oneline
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\s*"[^\\"]*\%(\\.[^\\"]*\)*"+  end=+$+     contains=@perlTop oneline
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\s*'[^\\']*\%(\\.[^\\']*\)*'+  end=+$+     contains=@perlTop oneline
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\s*`[^\\`]*\%(\\.[^\\`]*\)*`+  end=+$+     contains=@perlTop oneline
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\s*""+                         end=+$+     contains=@perlTop oneline
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\s*''+                         end=+$+     contains=@perlTop oneline
+syn region perlHereDocStart	matchgroup=perlStringStartEnd start=+<<\~\=\s*``+                         end=+$+     contains=@perlTop oneline
+
+if get(g:, 'perl_fold', 0)
+  syn region perlHereDoc	start=+<<\z(\I\i*\)+                        matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend
+  syn region perlHereDoc	start=+<<\\\z(\I\i*\)+                      matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ fold extend
   syn region perlHereDoc	start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend
   syn region perlHereDoc	start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ fold extend
-  syn region perlHereDoc	start=+<<\s*""+ matchgroup=perlStringStartEnd           end=+^$+    contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine fold extend
-  syn region perlHereDoc	start=+<<\s*''+ matchgroup=perlStringStartEnd           end=+^$+    contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine fold extend
-  syn region perlAutoload	matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold extend
+  syn region perlHereDoc	start=+<<\s*`\z([^\\`]*\%(\\.[^\\`]*\)*\)`+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend
+  syn region perlHereDoc	start=+<<\s*""+                             matchgroup=perlStringStartEnd end=+^$+    contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine fold extend
+  syn region perlHereDoc	start=+<<\s*''+                             matchgroup=perlStringStartEnd end=+^$+    contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine fold extend
+  syn region perlHereDoc	start=+<<\s*``+                             matchgroup=perlStringStartEnd end=+^$+    contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine fold extend
 else
-  syn region perlHereDoc	start=+<<\z(\I\i*\)+ matchgroup=perlStringStartEnd      end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ
+  syn region perlHereDoc	start=+<<\z(\I\i*\)+                        matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ
+  syn region perlHereDoc	start=+<<\\\z(\I\i*\)+                      matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ
   syn region perlHereDoc	start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ
   syn region perlHereDoc	start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ
-  syn region perlHereDoc	start=+<<\s*""+ matchgroup=perlStringStartEnd           end=+^$+    contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine
-  syn region perlHereDoc	start=+<<\s*''+ matchgroup=perlStringStartEnd           end=+^$+    contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine
-  syn region perlAutoload	matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL
+  syn region perlHereDoc	start=+<<\s*`\z([^\\`]*\%(\\.[^\\`]*\)*\)`+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ
+  syn region perlHereDoc	start=+<<\s*""+                             matchgroup=perlStringStartEnd end=+^$+    contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine
+  syn region perlHereDoc	start=+<<\s*''+                             matchgroup=perlStringStartEnd end=+^$+    contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine
+  syn region perlHereDoc	start=+<<\s*``+                             matchgroup=perlStringStartEnd end=+^$+    contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine
+endif
+
+if get(g:, 'perl_fold', 0)
+  syn region perlIndentedHereDoc	start=+<<\~\z(\I\i*\)+                        matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlIndentedHereDocStart,@perlInterpDQ fold extend
+  syn region perlIndentedHereDoc	start=+<<\~\\\z(\I\i*\)+                      matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlIndentedHereDocStart,@perlInterpSQ fold extend
+  syn region perlIndentedHereDoc	start=+<<\~\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlIndentedHereDocStart,@perlInterpDQ fold extend
+  syn region perlIndentedHereDoc	start=+<<\~\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlIndentedHereDocStart,@perlInterpSQ fold extend
+  syn region perlIndentedHereDoc	start=+<<\~\s*`\z([^\\`]*\%(\\.[^\\`]*\)*\)`+ matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlIndentedHereDocStart,@perlInterpDQ fold extend
+  syn region perlIndentedHereDoc	start=+<<\~\s*""+                             matchgroup=perlStringStartEnd end=+^$+       contains=perlIndentedHereDocStart,@perlInterpDQ,perlNotEmptyLine fold extend
+  syn region perlIndentedHereDoc	start=+<<\~\s*''+                             matchgroup=perlStringStartEnd end=+^$+       contains=perlIndentedHereDocStart,@perlInterpSQ,perlNotEmptyLine fold extend
+  syn region perlIndentedHereDoc	start=+<<\~\s*``+                             matchgroup=perlStringStartEnd end=+^$+       contains=perlIndentedHereDocStart,@perlInterpDQ,perlNotEmptyLine fold extend
+else
+  syn region perlIndentedHereDoc	start=+<<\~\z(\I\i*\)+                        matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlHereDocStart,@perlInterpDQ
+  syn region perlIndentedHereDoc	start=+<<\~\\\z(\I\i*\)+                      matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlHereDocStart,@perlInterpSQ
+  syn region perlIndentedHereDoc	start=+<<\~\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlHereDocStart,@perlInterpDQ
+  syn region perlIndentedHereDoc	start=+<<\~\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlHereDocStart,@perlInterpSQ
+  syn region perlIndentedHereDoc	start=+<<\~\s*`\z([^\\`]*\%(\\.[^\\`]*\)*\)`+ matchgroup=perlStringStartEnd end=+^\s*\z1$+ contains=perlHereDocStart,@perlInterpDQ
+  syn region perlIndentedHereDoc	start=+<<\~\s*""+                             matchgroup=perlStringStartEnd end=+^$+       contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine
+  syn region perlIndentedHereDoc	start=+<<\~\s*''+                             matchgroup=perlStringStartEnd end=+^$+       contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine
+  syn region perlIndentedHereDoc	start=+<<\~\s*``+                             matchgroup=perlStringStartEnd end=+^$+       contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine
 endif
 
 
@@ -357,24 +401,15 @@ syn match   perlPackageDecl		"\<package\
 syn keyword perlStatementPackage	package contained
 
 " Functions
-"       sub [name] [(prototype)] {
-"
-syn match perlSubError "[^[:space:];{#]" contained
-syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained
-syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ
-syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError,perlFakeGroup
-syn match perlSubAttributes "" contained nextgroup=perlSubError
-syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe
 if get(g:, "perl_sub_signatures", 0)
-    syn match perlSignature +(\_[^)]*)\_s*+ nextgroup=perlSubAttributes,perlComment contained
+    syn match perlSubSignature "\s*([^)]*)" contained extend
 else
-    syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained
-    syn match perlSubPrototype +(\_[^)]*)\_s*+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError
+    syn match perlSubPrototype "\s*([\\$@%&*\[\];]*)" contained extend
 endif
-
-syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlSignature,perlSubAttributes,perlComment
-
-syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName
+syn match perlSubAttribute "\s*:\s*\h\w*\%(([^)]*)\|\)" contained extend
+syn match perlSubName "\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\s*" contained extend
+syn region perlSubDeclaration start="" end="[;{]" contains=perlSubName,perlSubPrototype,perlSubAttribute,perlSubSignature,perlComment contained transparent
+syn match perlFunction "\<sub\>\_s*" nextgroup=perlSubDeclaration
 
 " The => operator forces a bareword to the left of it to be interpreted as
 " a string
@@ -394,39 +429,68 @@ syn match  perlFormatField	"@[^A-Za-z_|<
 syn match  perlFormatField	"@$" contained
 
 " __END__ and __DATA__ clauses
-if exists("perl_fold")
-  syntax region perlDATA		start="^__DATA__$" skip="." end="." contains=@perlDATA fold
-  syntax region perlDATA		start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA fold
+
+" Vim excludes empty syn-region end lines from the fold region.  This is
+" probably a bug and means a DATA section ending with an empty line does not
+" have that final line included in the fold.
+"
+" As a workaround we exploit an unterminated syntax region here with an end
+" pattern that will (probably) never match.  This forces all lines to be
+" included in the fold region.  Of course, if it does match then there's
+" nothing to work around as it is a non-empty line.
+"
+" This problem also exists with empty string delimited heredocs but there's no
+" known workaround for that case.
+if get(g:, 'perl_fold', 0)
+  syntax region perlDATA matchgroup=perlDATAStart start="^__DATA__$" end="VIM_PERL_EOF\%$" contains=perlPOD,@perlDATA fold
+  syntax region perlEND  matchgroup=perlENDStart  start="^__END__$"  end="VIM_PERL_EOF\%$" contains=perlPOD,@perlDATA fold
 else
-  syntax region perlDATA		start="^__DATA__$" skip="." end="." contains=@perlDATA
-  syntax region perlDATA		start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA
+  syntax region perlDATA matchgroup=perlDATAStart start="^__DATA__$" end="\%$" contains=perlPOD,@perlDATA
+  syntax region perlEND  matchgroup=perlENDStart  start="^__END__$"  end="\%$" contains=perlPOD,@perlDATA
 endif
 
 "
 " Folding
-
-if exists("perl_fold")
+if get(g:, 'perl_fold', 0)
   " Note: this bit must come before the actual highlighting of the "package"
   " keyword, otherwise this will screw up Pod lines that match /^package/
-  if !exists("perl_nofold_packages")
+  if !get(g:, 'perl_nofold_packages', 0)
     syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend
+    syn region perlPackageFold start="^\z(\s*\)package\s*\S\+\s*{" end="^\z1}" transparent fold keepend
   endif
-  if !exists("perl_nofold_subs")
+  if !get(g:, 'perl_nofold_subs', 0)
     if get(g:, "perl_fold_anonymous_subs", 0)
-      syn region perlSubFold start="\<sub\>[^{]*{" end="}" transparent fold keepend extend
-      syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
+      " EXPLANATION:
+      " \<sub\>                  - "sub" keyword
+      " \_[^;{]*                 - any characters, including new line, but not ";" or "{", zero or more times
+      " \%(([\\$@%&*\[\];]*)\)\= - prototype definition, \$@%&*[]; characters between (), zero or 1 times
+      " \_[^;]*                  - any characters, including new line, but not ";" or "{", zero or more times
+      " {                        - start subroutine block
+      syn region perlSubFold start="\<sub\>\_[^;{]*\%(([\\$@%&*\[\];]*)\)\=\_[^;{]*{" end="}" transparent fold keepend extend
     else
-      syn region perlSubFold     start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
-      syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend
+      " EXPLANATION:
+      " same, as above, but first non-space character after "sub" keyword must
+      " be [A-Za-z_] 
+      syn region perlSubFold start="\<sub\>\s*\h\_[^;{]*\%(([\\$@%&*\[\];]*)\)\=\_[^;]*{" end="}" transparent fold keepend extend
+    endif
+
+    syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>\_s*{" end="}" transparent fold keepend
+  endif
+
+  if get(g:, 'perl_fold_blocks', 0)
+    syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)for\%(each\)\=\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
+
+    " TODO this is works incorrectly
+    syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
+  else
+    if get(g:, 'perl_fold_do_blocks', 0)
+      syn region perlDoBlockDeclaration start="" end="{" contains=perlComment contained transparent
+      syn match perlOperator "\<do\>\_s*" nextgroup=perlDoBlockDeclaration
+
+      syn region perlDoBlockFold start="\<do\>\_[^{]*{" end="}" transparent fold keepend extend
     endif
   endif
 
-  if exists("perl_fold_blocks")
-    syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)for\%(each\)\=\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
-    syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
-  endif
-
-  setlocal foldmethod=syntax
   syn sync fromstart
 else
   " fromstart above seems to set minlines even if perl_fold is not set.
@@ -438,29 +502,28 @@ endif
 
 " The default highlighting.
 hi def link perlSharpBang		PreProc
-hi def link perlControl		PreProc
-hi def link perlInclude		Include
-hi def link perlSpecial		Special
-hi def link perlString		String
+hi def link perlControl			PreProc
+hi def link perlInclude			Include
+hi def link perlSpecial			Special
+hi def link perlString			String
 hi def link perlCharacter		Character
-hi def link perlNumber		Number
-hi def link perlFloat		Float
+hi def link perlNumber			Number
+hi def link perlFloat			Float
 hi def link perlType			Type
 hi def link perlIdentifier		Identifier
-hi def link perlLabel		Label
+hi def link perlLabel			Label
 hi def link perlStatement		Statement
 hi def link perlConditional		Conditional
-hi def link perlRepeat		Repeat
+hi def link perlRepeat			Repeat
 hi def link perlOperator		Operator
 hi def link perlFunction		Keyword
-hi def link perlSubName		Function
+hi def link perlSubName			Function
 hi def link perlSubPrototype		Type
-hi def link perlSignature		Type
-hi def link perlSubAttributes	PreProc
-hi def link perlSubAttributesCont	perlSubAttributes
-hi def link perlComment		Comment
+hi def link perlSubSignature		Type
+hi def link perlSubAttribute		PreProc
+hi def link perlComment			Comment
 hi def link perlTodo			Todo
-if exists("perl_string_as_statement")
+if get(g:, 'perl_string_as_statement', 0)
   hi def link perlStringStartEnd	perlStatement
 else
   hi def link perlStringStartEnd	perlString
@@ -470,21 +533,29 @@ hi def link perlList			perlStatement
 hi def link perlMisc			perlStatement
 hi def link perlVarPlain		perlIdentifier
 hi def link perlVarPlain2		perlIdentifier
-hi def link perlArrow		perlIdentifier
+hi def link perlArrow			perlIdentifier
 hi def link perlFiledescRead		perlIdentifier
 hi def link perlFiledescStatement	perlIdentifier
-hi def link perlVarSimpleMember	perlIdentifier
-hi def link perlVarSimpleMemberName 	perlString
-hi def link perlVarNotInMatches	perlIdentifier
+hi def link perlVarSimpleMember		perlIdentifier
+hi def link perlVarSimpleMemberName	perlString
+hi def link perlVarNotInMatches		perlIdentifier
 hi def link perlVarSlash		perlIdentifier
+hi def link perlQ			perlString
 hi def link perlQQ			perlString
-hi def link perlHereDoc		perlString
+hi def link perlQW			perlString
+hi def link perlQR			perlString
+hi def link perlMatchModifiers          perlMatchStartEnd
+hi def link perlSubstitutionModifiers   perlMatchStartEnd
+hi def link perlTranslationModifiers    perlMatchStartEnd
+hi def link perlQRModifiers             perlStringStartEnd
+hi def link perlHereDoc			perlString
+hi def link perlIndentedHereDoc		perlString
 hi def link perlStringUnexpanded	perlString
-hi def link perlSubstitutionSQ	perlString
-hi def link perlSubstitutionGQQ	perlString
-hi def link perlTranslationGQ	perlString
-hi def link perlMatch		perlString
-hi def link perlMatchStartEnd	perlStatement
+hi def link perlSubstitutionSQ		perlString
+hi def link perlSubstitutionGQQ		perlString
+hi def link perlTranslationGQ		perlString
+hi def link perlMatch			perlString
+hi def link perlMatchStartEnd		perlStatement
 hi def link perlFormatName		perlIdentifier
 hi def link perlFormatField		perlString
 hi def link perlPackageDecl		perlType
@@ -493,44 +564,48 @@ hi def link perlPackageRef		perlType
 hi def link perlStatementPackage	perlStatement
 hi def link perlStatementStorage	perlStatement
 hi def link perlStatementControl	perlStatement
-hi def link perlStatementScalar	perlStatement
-hi def link perlStatementRegexp	perlStatement
+hi def link perlStatementScalar		perlStatement
+hi def link perlStatementRegexp		perlStatement
 hi def link perlStatementNumeric	perlStatement
-hi def link perlStatementList	perlStatement
-hi def link perlStatementHash	perlStatement
-hi def link perlStatementIOfunc	perlStatement
+hi def link perlStatementList		perlStatement
+hi def link perlStatementHash		perlStatement
+hi def link perlStatementIOfunc		perlStatement
 hi def link perlStatementFiledesc	perlStatement
-hi def link perlStatementVector	perlStatement
-hi def link perlStatementFiles	perlStatement
-hi def link perlStatementFlow	perlStatement
+hi def link perlStatementVector		perlStatement
+hi def link perlStatementFiles		perlStatement
+hi def link perlStatementFlow		perlStatement
 hi def link perlStatementInclude	perlStatement
-hi def link perlStatementProc	perlStatement
-hi def link perlStatementSocket	perlStatement
+hi def link perlStatementProc		perlStatement
+hi def link perlStatementSocket		perlStatement
 hi def link perlStatementIPC		perlStatement
 hi def link perlStatementNetwork	perlStatement
-hi def link perlStatementPword	perlStatement
-hi def link perlStatementTime	perlStatement
-hi def link perlStatementMisc	perlStatement
+hi def link perlStatementPword		perlStatement
+hi def link perlStatementTime		perlStatement
+hi def link perlStatementMisc		perlStatement
 hi def link perlStatementIndirObj	perlStatement
 hi def link perlFunctionName		perlIdentifier
-hi def link perlMethod		perlIdentifier
+hi def link perlMethod			perlIdentifier
 hi def link perlPostDeref		perlIdentifier
 hi def link perlFunctionPRef		perlType
+
 if !get(g:, 'perl_include_pod', 1)
   hi def link perlPOD		perlComment
 endif
 hi def link perlShellCommand		perlString
 hi def link perlSpecialAscii		perlSpecial
-hi def link perlSpecialDollar	perlSpecial
-hi def link perlSpecialString	perlSpecial
-hi def link perlSpecialStringU	perlSpecial
+hi def link perlSpecialDollar		perlSpecial
+hi def link perlSpecialString		perlSpecial
+hi def link perlSpecialStringU		perlSpecial
 hi def link perlSpecialMatch		perlSpecial
+hi def link perlEND			perlComment
+hi def link perlENDStart		perlEND
 hi def link perlDATA			perlComment
+hi def link perlDATAStart		perlDATA
 
 " NOTE: Due to a bug in Vim (or more likely, a misunderstanding on my part),
-"       I had to remove the transparent property from the following regions
-"       in order to get them to highlight correctly.  Feel free to remove
-"       these and reinstate the transparent property if you know how.
+"	I had to remove the transparent property from the following regions
+"	in order to get them to highlight correctly.  Feel free to remove
+"	these and reinstate the transparent property if you know how.
 hi def link perlParensSQ		perlString
 hi def link perlBracketsSQ		perlString
 hi def link perlBracesSQ		perlString
@@ -546,23 +621,21 @@ hi def link perlSpecialStringU2	perlStri
 " Possible errors
 hi def link perlNotEmptyLine		Error
 hi def link perlElseIfError		Error
-hi def link perlSubPrototypeError	Error
-hi def link perlSubError		Error
 
 " Syncing to speed up processing
 "
-if !exists("perl_no_sync_on_sub")
+if !get(g:, 'perl_no_sync_on_sub', 0)
   syn sync match perlSync	grouphere NONE "^\s*\<package\s"
   syn sync match perlSync	grouphere NONE "^\s*\<sub\>"
   syn sync match perlSync	grouphere NONE "^}"
 endif
 
-if !exists("perl_no_sync_on_global_var")
+if !get(g:, 'perl_no_sync_on_global_var', 0)
   syn sync match perlSync	grouphere NONE "^$\I[[:alnum:]_:]+\s*=\s*{"
   syn sync match perlSync	grouphere NONE "^[@%]\I[[:alnum:]_:]+\s*=\s*("
 endif
 
-if exists("perl_sync_dist")
+if get(g:, 'perl_sync_dist', 0)
   execute "syn sync maxlines=" . perl_sync_dist
 else
   syn sync maxlines=100
--- a/runtime/syntax/pod.vim
+++ b/runtime/syntax/pod.vim
@@ -2,9 +2,10 @@
 " Language:      Perl POD format
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Previously:    Scott Bigham <dsb@killerbunnies.org>
-" Homepage:      http://github.com/vim-perl/vim-perl
-" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2017-09-12
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2021 Oct 8
 
 " To add embedded POD documentation highlighting to your syntax file, add
 " the commands:
@@ -27,71 +28,117 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-" POD commands
-syn match podCommand    "^=encoding"  nextgroup=podCmdText contains=@NoSpell
-syn match podCommand    "^=head[1234]"  nextgroup=podCmdText contains=@NoSpell
-syn match podCommand    "^=item"        nextgroup=podCmdText contains=@NoSpell
-syn match podCommand    "^=over"        nextgroup=podOverIndent skipwhite contains=@NoSpell
-syn match podCommand    "^=back"        contains=@NoSpell
-syn match podCommand    "^=cut"         contains=@NoSpell
-syn match podCommand    "^=pod"         contains=@NoSpell
-syn match podCommand    "^=for"         nextgroup=podForKeywd skipwhite contains=@NoSpell
-syn match podCommand    "^=begin"       nextgroup=podForKeywd skipwhite contains=@NoSpell
-syn match podCommand    "^=end"         nextgroup=podForKeywd skipwhite contains=@NoSpell
+" TODO: add supported encodings when we can utilize better performing Vim 8 features
+syn match podEncoding	"[0-9A-Za-z_-]\+" contained contains=@NoSpell
 
 " Text of a =head1, =head2 or =item command
-syn match podCmdText	".*$" contained contains=podFormat,@NoSpell
+syn region podCmdText	start="\S.*$" end="^\ze\s*$" end="^\ze=cut\>" contained contains=podFormat,@NoSpell
 
 " Indent amount of =over command
-syn match podOverIndent	"\d\+" contained contains=@NoSpell
+syn match podOverIndent	"\d*\.\=\d\+\>" contained contains=@NoSpell
 
 " Formatter identifier keyword for =for, =begin and =end commands
 syn match podForKeywd	"\S\+" contained contains=@NoSpell
 
 " An indented line, to be displayed verbatim
-syn match podVerbatimLine	"^\s.*$" contains=@NoSpell
+syn region podVerbatim	start="^\s\+\S.*$" end="^\ze\s*$" end="^\ze=cut\>" contains=@NoSpell
+
+syn region podOrdinary	start="^\S.*$" end="^\ze\s*$" end="^\ze=cut\>" contains=podFormat,podSpecial,@Spell
 
 " Inline textual items handled specially by POD
 syn match podSpecial	"\(\<\|&\)\I\i*\(::\I\i*\)*([^)]*)" contains=@NoSpell
 syn match podSpecial	"[$@%]\I\i*\(::\I\i*\)*\>" contains=@NoSpell
 
 " Special formatting sequences
-syn region podFormat	start="[IBSCLFX]<[^<]"me=e-1 end=">" oneline contains=podFormat,@NoSpell
-syn region podFormat	start="[IBSCLFX]<<\s" end="\s>>" oneline contains=podFormat,@NoSpell
+
+syn cluster podFormat contains=podFormat,podFormatError
+
+syn match  podFormatError "[ADGHJKM-RT-WY]<"
+
+syn region podFormat	matchgroup=podFormatDelimiter start="[IBSCLFX]<"              end=">"              contains=@podFormat,@NoSpell
+syn region podFormat	matchgroup=podFormatDelimiter start="[IBSCLFX]<<\%(\s\+\|$\)" end="\%(\s\+\|^\)>>" contains=@podFormat,@NoSpell
+
 syn match  podFormat	"Z<>"
-syn match  podFormat	"E<\(\d\+\|\I\i*\)>" contains=podEscape,podEscape2,@NoSpell
-syn match  podEscape	"\I\i*>"me=e-1 contained contains=@NoSpell
-syn match  podEscape2	"\d\+>"me=e-1 contained contains=@NoSpell
+
+syn region podFormat	matchgroup=podFormatDelimiter start="E<" end=">" oneline contains=podEscape,podEscape2,@NoSpell
+
+" HTML entities {{{1
+" Source: Pod/Escapes.pm
+syn keyword podEscape contained lt gt quot amp apos sol verbar lchevron rchevron nbsp iexcl cent pound curren yen brvbar sect uml copy ordf laquo not shy reg macr deg plusmn sup2 sup3 acute micro para middot cedil sup1 ordm raquo frac14 frac12 frac34 iquest Agrave Aacute Acirc Atilde Auml Aring AElig Ccedil Egrave Eacute Ecirc Euml Igrave Iacute Icirc Iuml ETH Ntilde Ograve Oacute Ocirc Otilde Ouml times Oslash Ugrave Uacute Ucirc Uuml Yacute THORN szlig agrave aacute acirc atilde auml aring aelig ccedil egrave eacute ecirc euml igrave iacute icirc iuml eth ntilde ograve oacute ocirc otilde ouml divide oslash ugrave uacute ucirc uuml yacute thorn yuml fnof Alpha Beta Gamma Delta Epsilon Zeta Eta Theta Iota Kappa Lambda Mu Nu Xi Omicron Pi Rho Sigma Tau Upsilon Phi Chi Psi Omega alpha beta gamma delta epsilon zeta eta theta iota kappa lambda mu nu xi omicron pi rho sigmaf sigma tau upsilon phi chi psi omega thetasym upsih piv bull hellip prime Prime oline frasl weierp image real trade alefsym larr uarr rarr darr harr crarr lArr uArr rArr dArr hArr forall part exist empty nabla isin notin ni prod sum minus lowast radic prop infin ang and or cap cup int there4 sim cong asymp ne equiv le ge sub sup nsub sube supe oplus otimes perp sdot lceil rceil lfloor rfloor lang rang loz spades clubs hearts diams OElig oelig Scaron scaron Yuml circ tilde ensp emsp thinsp zwnj zwj lrm rlm ndash mdash lsquo rsquo sbquo ldquo rdquo bdquo dagger Dagger permil lsaquo rsaquo
+" }}}
+
+syn match  podEscape2	"\d\+"     contained contains=@NoSpell
+syn match  podEscape2	"0\=x\x\+" contained contains=@NoSpell
+syn match  podEscape2	"0\o\+"    contained contains=@NoSpell
+
+
+" POD commands
+syn match podCommand    "^=encoding\>"   nextgroup=podEncoding skipwhite contains=@NoSpell
+syn match podCommand    "^=head[1234]\>" nextgroup=podCmdText skipwhite skipnl contains=@NoSpell
+syn match podCommand    "^=item\>"       nextgroup=podCmdText skipwhite skipnl contains=@NoSpell
+syn match podCommand    "^=over\>"       nextgroup=podOverIndent skipwhite contains=@NoSpell
+syn match podCommand    "^=back"         contains=@NoSpell
+syn match podCommand    "^=cut"          contains=@NoSpell
+syn match podCommand    "^=pod"          contains=@NoSpell
+syn match podCommand    "^=for"          nextgroup=podForKeywd skipwhite contains=@NoSpell
+syn match podCommand    "^=begin"        nextgroup=podForKeywd skipwhite contains=@NoSpell
+syn match podCommand    "^=end"          nextgroup=podForKeywd skipwhite contains=@NoSpell
+
+" Comments
+
+syn keyword podForKeywd comment contained nextgroup=podForComment skipwhite skipnl
+
+if exists("perl_pod_no_comment_fold")
+  syn region podBeginComment start="^=begin\s\+comment\s*$" end="^=end\s\+comment\ze\s*$" keepend extend contains=podCommand
+  syn region podForComment start="\S.*$" end="^\ze\s*$" end="^\ze=cut\>" contained contains=@Spell,podTodo
+else
+  syn region podBeginComment start="^=begin\s\+comment\s*$" end="^=end\s\+comment\ze\s*$" keepend extend contains=podCommand,podTodo fold
+  syn region podForComment start="\S.*$" end="^\ze\s*$" end="^\ze=cut\>" contained contains=@Spell,podTodo fold
+endif
+
+syn keyword podTodo contained TODO FIXME XXX
+
+" Plain Pod files
+syn region podNonPod			   start="\%^\%(=\w\+\>\)\@!" end="^\ze=\a\w*\>"
+syn region podNonPod matchgroup=podCommand start="^=cut\>"	      end="\%$"
+syn region podNonPod matchgroup=podCommand start="^=cut\>"	      end="^\ze=\a\w*\>"
 
 " Define the default highlighting.
 " Only when an item doesn't have highlighting yet
 
 hi def link podCommand		Statement
+hi def link podBeginComment	Comment
+hi def link podForComment	Comment
+hi def link podNonPod		Comment
+hi def link podTodo		Todo
 hi def link podCmdText		String
+hi def link podEncoding		Constant
 hi def link podOverIndent	Number
 hi def link podForKeywd		Identifier
+hi def link podVerbatim		PreProc
 hi def link podFormat		Identifier
-hi def link podVerbatimLine	PreProc
+hi def link podFormatDelimiter	podFormat
+hi def link podFormatError	Error
 hi def link podSpecial		Identifier
-hi def link podEscape		String
+hi def link podEscape		Constant
 hi def link podEscape2		Number
 
 if exists("perl_pod_spellcheck_headings")
   " Spell-check headings
   syn clear podCmdText
-  syn match podCmdText    ".*$" contained contains=podFormat
+  syn region podCmdText start="\S.*$" end="^\s*$" end="^\ze=cut\>" contained contains=podFormat
 endif
 
 if exists("perl_pod_formatting")
   " By default, escapes like C<> are not checked for spelling. Remove B<>
   " and I<> from the list of escapes.
   syn clear podFormat
-  syn region podFormat start="[CLF]<[^<]"me=e-1 end=">" oneline contains=podFormat,@NoSpell
-  syn region podFormat start="[CLF]<<\s" end="\s>>" oneline contains=podFormat,@NoSpell
+  syn region podFormat start="[CLF]<[^<]"me=e-1 end=">" contains=@podFormat,@NoSpell
+  syn region podFormat start="[CLF]<<\%(\s\+\|$\)" end="\%(\s\+\|^\)>>" contains=@podFormat,@NoSpell
 
   " Don't spell-check inside E<>, but ensure that the E< itself isn't
   " marked as a spelling mistake.
-  syn match podFormat   "E<\(\d\+\|\I\i*\)>" contains=podEscape,podEscape2,@NoSpell
+  syn region podFormat	start="E<" end=">" oneline contains=podEscape,podEscape2,@NoSpell
 
   " Z<> is a mock formatting code. Ensure Z<> on its own isn't marked as a
   " spelling mistake.
@@ -105,41 +152,41 @@ if exists("perl_pod_formatting")
   syn match podIndexOpen   "X<" contains=@NoSpell
 
   " Same as above but for the << >> syntax.
-  syn match podBoldAlternativeDelimOpen    "B<< " contains=@NoSpell
-  syn match podItalicAlternativeDelimOpen  "I<< " contains=@NoSpell
-  syn match podNoSpaceAlternativeDelimOpen "S<< " contains=@NoSpell
-  syn match podIndexAlternativeDelimOpen   "X<< " contains=@NoSpell
+  syn match podBoldAlternativeDelimOpen    "B<<\%(\s\+\|$\)" contains=@NoSpell
+  syn match podItalicAlternativeDelimOpen  "I<<\%(\s\+\|$\)" contains=@NoSpell
+  syn match podNoSpaceAlternativeDelimOpen "S<<\%(\s\+\|$\)" contains=@NoSpell
+  syn match podIndexAlternativeDelimOpen   "X<<\%(\s\+\|$\)" contains=@NoSpell
 
   " Add support for spell checking text inside B<>, I<>, S<> and X<>.
-  syn region podBold start="B<[^<]"me=e end=">" oneline contains=podBoldItalic,podBoldOpen
-  syn region podBoldAlternativeDelim start="B<<\s" end="\s>>" oneline contains=podBoldAlternativeDelimOpen
+  syn region podBold start="B<[^<]"me=e end=">" contains=podBoldItalic,podBoldOpen
+  syn region podBoldAlternativeDelim start="B<<\%(\s\+\|$\)" end="\%(\s\+\|^\)>>" contains=podBoldAlternativeDelimOpen
 
-  syn region podItalic start="I<[^<]"me=e end=">" oneline contains=podItalicBold,podItalicOpen
-  syn region podItalicAlternativeDelim start="I<<\s" end="\s>>" oneline contains=podItalicAlternativeDelimOpen
+  syn region podItalic start="I<[^<]"me=e end=">" contains=podItalicBold,podItalicOpen
+  syn region podItalicAlternativeDelim start="I<<\%(\s\+\|$\)" end="\%(\s\+\|^\)>>" contains=podItalicAlternativeDelimOpen
 
   " Nested bold/italic and vice-versa
-  syn region podBoldItalic contained start="I<[^<]"me=e end=">" oneline
-  syn region podItalicBold contained start="B<[^<]"me=e end=">" oneline
+  syn region podBoldItalic contained start="I<[^<]"me=e end=">"
+  syn region podItalicBold contained start="B<[^<]"me=e end=">"
 
-  syn region podNoSpace start="S<[^<]"ms=s-2 end=">"me=e oneline contains=podNoSpaceOpen
-  syn region podNoSpaceAlternativeDelim start="S<<\s"ms=s-2 end="\s>>"me=e oneline contains=podNoSpaceAlternativeDelimOpen
+  syn region podNoSpace start="S<[^<]"ms=s-2 end=">"me=e contains=podNoSpaceOpen
+  syn region podNoSpaceAlternativeDelim start="S<<\%(\s\+\|$\)"ms=s-2 end="\%(\s\+\|^\)>>"me=e contains=podNoSpaceAlternativeDelimOpen
 
-  syn region podIndex start="X<[^<]"ms=s-2 end=">"me=e oneline contains=podIndexOpen
-  syn region podIndexAlternativeDelim start="X<<\s"ms=s-2 end="\s>>"me=e oneline contains=podIndexAlternativeDelimOpen
+  syn region podIndex start="X<[^<]"ms=s-2 end=">"me=e contains=podIndexOpen
+  syn region podIndexAlternativeDelim start="X<<\%(\s\+\|$\)"ms=s-2 end="\%(\s\+\|^\)>>"me=e contains=podIndexAlternativeDelimOpen
 
   " Restore this (otherwise B<> is shown as bold inside verbatim)
-  syn match podVerbatimLine	"^\s.*$" contains=@NoSpell
+  syn region podVerbatim start="^\s\+\S.*$" end="^\ze\s*$" end="^\ze=cut\>" contains=@NoSpell
 
   " Ensure formatted text can be displayed in headings and items
   syn clear podCmdText
 
   if exists("perl_pod_spellcheck_headings")
-    syn match podCmdText ".*$" contained contains=podFormat,podBold,
+    syn match podCmdText ".*$" contained contains=@podFormat,podBold,
           \podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim,
           \podBoldOpen,podItalicOpen,podBoldAlternativeDelimOpen,
           \podItalicAlternativeDelimOpen,podNoSpaceOpen
   else
-    syn match podCmdText ".*$" contained contains=podFormat,podBold,
+    syn match podCmdText ".*$" contained contains=@podFormat,podBold,
           \podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim,
           \@NoSpell
   endif
@@ -172,4 +219,4 @@ let b:current_syntax = "pod"
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
-" vim: ts=8
+" vim: ts=8 fdm=marker:
--- a/runtime/syntax/tap.vim
+++ b/runtime/syntax/tap.vim
@@ -2,9 +2,9 @@
 " Language:    Verbose TAP Output
 " Maintainer:  Rufus Cable <rufus@threebytesfull.com>
 " Remark:      Simple syntax highlighting for TAP output
-" License:
+" License:     Vim License (see :help license)
 " Copyright:   (c) 2008-2013 Rufus Cable
-" Last Change: 2014-12-13
+" Last Change: 2020 Mar 15
 
 if exists("b:current_syntax")
   finish
@@ -29,12 +29,12 @@ syn match tapTestStatusOK /ok/ contained
 syn match tapTestStatusNotOK /not ok/ contained
 
 " highlight todo tests
-syn match tapTestTodo /\(# TODO\|Failed (TODO)\) .*$/ contained contains=tapTestTodoRev
-syn match tapTestTodoRev /\<TODO\>/ contained
+syn match tapTestTodo /\c\(# TODO\|Failed (TODO)\) .*$/ contained contains=tapTestTodoRev
+syn match tapTestTodoRev /\c\<TODO\>/ contained
 
 " highlight skipped tests
-syn match tapTestSkip /# skip .*$/ contained contains=tapTestSkipTag
-syn match tapTestSkipTag /\(# \)\@<=skip\>/ contained
+syn match tapTestSkip /\c# skip .*$/ contained contains=tapTestSkipTag
+syn match tapTestSkipTag /\c\(# \)\@<=skip\>/ contained
 
 " look behind so "ok 123" and "not ok 124" match test number
 syn match tapTestNumber /\(ok \)\@<=\d\d*/ contained
@@ -51,17 +51,6 @@ syn region tapTestResultsSummaryNotOK st
 
 syn region tapTestInstructionsRegion start=/\%1l/ end=/^$/
 
-set foldtext=TAPTestLine_foldtext()
-function! TAPTestLine_foldtext()
-    let line = getline(v:foldstart)
-    let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
-    return sub
-endfunction
-
-set foldminlines=5
-set foldcolumn=2
-set foldenable
-set foldmethod=syntax
 syn sync fromstart
 
 if !exists("did_tapverboseoutput_syntax_inits")
--- a/runtime/syntax/tt2.vim
+++ b/runtime/syntax/tt2.vim
@@ -1,9 +1,11 @@
+" Vim syntax file
 " Language:      TT2 (Perl Template Toolkit)
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Author:        Moriki, Atsushi <4woods+vim@gmail.com>
-" Homepage:      http://github.com/vim-perl/vim-perl
-" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2015-04-25
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2018 Mar 28
 "
 " Installation:
 "   put tt2.vim and tt2html.vim in to your syntax directory.
@@ -42,9 +44,6 @@
 "               Release
 "           0.1.0
 "               Internal
-"
-" License: follow Vim :help uganda
-"
 
 if !exists("b:tt2_syn_tags")
     let b:tt2_syn_tags = '\[% %]'
@@ -95,7 +94,7 @@ if exists("b:tt2_syn_tags")
 
         "Include Perl syntax when 'PERL' 'RAWPERL' block
         if b:tt2_syn_inc_perl
-            syn include @Perl $VIMRUNTIME/syntax/perl.vim
+            syn include @Perl syntax/perl.vim
             exec 'syn region tt2_perlcode '.
                         \ 'start=+\(\(RAW\)\=PERL\s*[-]\=' . s:ed . '\(\n\)\=\)\@<=+ ' .
                         \ 'end=+' . s:st . '[-]\=\s*END+me=s-1 contains=@Perl keepend'
@@ -122,7 +121,7 @@ else
 
     "Include Perl syntax when 'PERL' 'RAWPERL' block
     if b:tt2_syn_inc_perl
-        syn include @Perl $VIMRUNTIME/syntax/perl.vim
+        syn include @Perl syntax/perl.vim
         syn region tt2_perlcode
                     \ start=+\(\(RAW\)\=PERL\s*[-]\=%]\(\n\)\=\)\@<=+
                     \ end=+\[%[-]\=\s*END+me=s-1
@@ -155,7 +154,7 @@ syn match   tt2_operator  "[!=<>]=\=\|&&
 syn match   tt2_operator  "\(\s\)\@<=_\(\s\)\@="            contained
 syn match   tt2_operator  "=>\|,"                           contained
 syn match   tt2_deref     "\([[:alnum:]_)\]}]\s*\)\@<=\."   contained
-syn match   tt2_comment   +#.*$+                            contained extend
+syn match   tt2_comment   +#.*$+                            contained
 syn match   tt2_func      +\<\I\w*\(\s*(\)\@=+              contained nextgroup=tt2_bracket_r skipempty skipwhite
 "
 syn region  tt2_bracket_r  start=+(+ end=+)+                contained contains=@tt2_statement_cluster keepend extend
--- a/runtime/syntax/tt2html.vim
+++ b/runtime/syntax/tt2html.vim
@@ -1,9 +1,11 @@
+" Vim syntax file
 " Language:      TT2 embedded with HTML
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Author:        Moriki, Atsushi <4woods+vim@gmail.com>
-" Homepage:      http://github.com/vim-perl/vim-perl
-" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013-07-21
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2018 Mar 28
 
 if exists("b:current_syntax")
     finish
--- a/runtime/syntax/tt2js.vim
+++ b/runtime/syntax/tt2js.vim
@@ -1,9 +1,11 @@
+" Vim syntax file
 " Language:      TT2 embedded with Javascript
 " Maintainer:    Andy Lester <andy@petdance.com>
 " Author:        Yates, Peter <pd.yates@gmail.com>
-" Homepage:      http://github.com/vim-perl/vim-perl
-" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013-07-21
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2018 Mar 28
 
 if exists("b:current_syntax")
     finish
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 8.2 script
 " Maintainer:	Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
-" Last Change:	Jun 12, 2022
-" Version:	8.2-43
+" Last Change:	June 12, 2022
+" Version:	8.2-44
 " URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
@@ -19,13 +19,12 @@ syn keyword vimTodo contained	COMBAK	FIX
 syn cluster vimCommentGroup	contains=vimTodo,@Spell
 
 " regular vim commands {{{2
-syn keyword vimCommand contained	a ar[gs] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endf[unction] enum exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wq xmapc[lear] xr[estore]
-syn keyword vimCommand contained	ab arga[dd] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endfo[r] eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wqa[ll] xme xunme
-syn keyword vimCommand contained	abc[lear] argd[elete] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] endinterface ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wundo xmenu xunmenu
-syn keyword vimCommand contained	abo[veleft] argded[upe] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] endclass endt[ry] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp static sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wv[iminfo] xnoreme xwininfo
-syn keyword vimCommand contained	abstract argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon enddef endw[hile] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] wn[ext] x[it] xnoremenu y[ank]
-syn keyword vimCommand contained	addd arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endenum ene[w] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wp[revious] xa[ll] xprop z[^.=]
-syn keyword vimCommand contained	al[l]
+syn keyword vimCommand contained	a al[l] arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endenum ene[w] export filt[er] fo[ld] fu[nction] h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wq xmapc[lear] xr[estore]
+syn keyword vimCommand contained	ab ar[gs] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endf[unction] enum exu[sage] fin[d] foldc[lose] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wqa[ll] xme xunme
+syn keyword vimCommand contained	abc[lear] arga[dd] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endfo[r] eval f[ile] fina[lly] foldd[oopen] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wundo xmenu xunmenu
+syn keyword vimCommand contained	abo[veleft] argd[elete] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] endinterface ex files fini[sh] folddoc[losed] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp static sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wv[iminfo] xnoreme xwininfo
+syn keyword vimCommand contained	abstract argded[upe] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] endclass endt[ry] exi[t] filet fir[st] foldo[pen] gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] wn[ext] x[it] xnoremenu y[ank]
+syn keyword vimCommand contained	addd argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon enddef endw[hile] exp filetype fix[del] for gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wp[revious] xa[ll] xprop z[^.=]
 syn match   vimCommand contained	"\<z[-+^.=]\=\>"
 syn keyword vimStdPlugin contained	Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Until Winbar XMLent XMLns
 
@@ -466,12 +465,11 @@ syn case match
 " User Function Highlighting: {{{2
 " (following Gautam Iyer's suggestion)
 " ==========================
-syn match vimFunc		"\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*("		contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute
+syn match vimFunc		"\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*("		contains=vimCommand,vimFuncEcho,vimFuncName,vimUserFunc,vimExecute
 syn match vimUserFunc contained	"\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>"	contains=vimCommand,vimNotation
 syn keyword vimFuncEcho contained	ec ech echo
 
 " User Command Highlighting: {{{2
-"syn match vimUsrCmd	'^\s*\zs\u\w*.*$'
 syn match vimUsrCmd	'^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
 
 " Errors And Warnings: {{{2
--- a/runtime/syntax/xs.vim
+++ b/runtime/syntax/xs.vim
@@ -1,9 +1,12 @@
 " Vim syntax file
-" Language:    XS (Perl extension interface language)
-" Author:      Autogenerated from perl headers, on an original basis of Michael W. Dodge <sarge@pobox.com>
-" Maintainer:  vim-perl <vim-perl@googlegroups.com>
-" Previous:    Vincent Pit <perl@profvince.com>
-" Last Change: 2017-09-12
+" Language:      XS (Perl extension interface language)
+" Author:        Autogenerated from perl headers, on an original basis of Michael W. Dodge <sarge@pobox.com>
+" Maintainer:    vim-perl <vim-perl@googlegroups.com>
+" Previous:      Vincent Pit <perl@profvince.com>
+" Homepage:      https://github.com/vim-perl/vim-perl
+" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
+" License:       Vim License (see :help license)
+" Last Change:   2018 Mar 28
 
 if exists("b:current_syntax")
   finish