changeset 29779:90a966f5c77a

Update runtime files Commit: https://github.com/vim/vim/commit/e80086446cc20856ed8359bc8dc87c4d430da4c8 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 19 17:15:35 2022 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Fri, 19 Aug 2022 18:30:06 +0200
parents b7d232b59d5e
children 9f8dd1b77563
files runtime/autoload/python.vim 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/habamax.vim runtime/colors/industry.vim runtime/colors/koehler.vim runtime/colors/lunaperche.vim runtime/colors/morning.vim runtime/colors/murphy.vim runtime/colors/pablo.vim runtime/colors/peachpuff.vim runtime/colors/quiet.vim runtime/colors/ron.vim runtime/colors/shine.vim runtime/colors/slate.vim runtime/colors/tools/check_colors.vim runtime/colors/torte.vim runtime/colors/zellner.vim runtime/doc/builtin.txt runtime/doc/options.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/todo.txt runtime/ftplugin/j.vim runtime/indent/testdir/html.in runtime/indent/testdir/html.ok runtime/indent/testdir/python.in runtime/indent/testdir/python.ok runtime/syntax/typescriptcommon.vim runtime/syntax/vim.vim src/INSTALLpc.txt
diffstat 35 files changed, 1342 insertions(+), 2460 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/python.vim
+++ b/runtime/autoload/python.vim
@@ -15,8 +15,9 @@ let s:maxoff = 50       " maximum number
 
 function s:SearchBracket(fromlnum, flags)
   return searchpairpos('[[({]', '', '[])}]', a:flags,
-          \ {-> synID('.', col('.'), v:true)->synIDattr('name')
-          \ =~ '\%(Comment\|Todo\|String\)$'},
+          \ {-> synstack('.', col('.'))
+          \   ->map({_, id -> id->synIDattr('name')})
+          \   ->match('\%(Comment\|Todo\|String\)$') >= 0},
           \ [0, a:fromlnum - s:maxoff]->max(), s:searchpair_timeout)
 endfunction
 
@@ -143,12 +144,16 @@ function python#GetIndent(lnum, ...)
     " If the last character in the line is a comment, do a binary search for
     " the start of the comment.  synID() is slow, a linear search would take
     " too long on a long line.
-    if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)"
+    if synstack(plnum, pline_len)
+    \ ->map({_, id -> id->synIDattr('name')})
+    \ ->match('\%(Comment\|Todo\)$') >= 0
       let min = 1
       let max = pline_len
       while min < max
 	let col = (min + max) / 2
-	if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)"
+        if synstack(plnum, col)
+        \ ->map({_, id -> id->synIDattr('name')})
+        \ ->match('\%(Comment\|Todo\)$') >= 0
 	  let max = col
 	else
 	  let min = col + 1
--- 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: 2022-07-26 15:49:58
+" Last Updated: Fri Aug  5 12:25:12 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,12 +13,12 @@ set background=dark
 hi clear
 let g:colors_name = 'blue'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
-  let g:terminal_ansi_colors = ['#000000', '#870000', '#006400', '#878700', '#000087', '#870087', '#008787', '#bcbcbc', '#878787', '#d70000', '#00ff00', '#ffdf00', '#5fafff', '#d787d7', '#5fffff', '#ffffff']
+  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=#ffdf00 guibg=#000087 gui=NONE cterm=NONE
+hi Normal guifg=#ffd700 guibg=#000087 gui=NONE cterm=NONE
 hi CursorLine guifg=NONE guibg=#005faf gui=NONE cterm=NONE
 hi Pmenu guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
 hi PmenuSel guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
@@ -27,9 +27,9 @@ 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=#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 CursorIM guifg=#000000 guibg=#ffd700 gui=NONE cterm=NONE
+hi CursorLineNr guifg=#ffd700 guibg=#005faf gui=bold cterm=NONE
+hi EndOfBuffer guifg=#ffd700 guibg=#000087 gui=NONE cterm=NONE
 hi Error guifg=#ff7f50 guibg=#000087 gui=reverse cterm=reverse
 hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
 hi FoldColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
@@ -43,7 +43,7 @@ hi NonText guifg=#d787d7 guibg=NONE gui=
 hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
 hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
 hi Question guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
-hi Search guifg=#ffdf00 guibg=#000000 gui=reverse cterm=reverse
+hi Search guifg=#ffd700 guibg=#000000 gui=reverse cterm=reverse
 hi SignColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
 hi SpecialKey guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
 hi SpellBad guifg=#d70000 guibg=NONE guisp=#d70000 gui=undercurl cterm=underline
@@ -58,7 +58,7 @@ hi VertSplit guifg=#008787 guibg=NONE gu
 hi Visual guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
 hi VisualNOS guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
 hi WarningMsg guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
-hi WildMenu guifg=#000087 guibg=#ffdf00 gui=NONE cterm=NONE
+hi WildMenu guifg=#000087 guibg=#ffd700 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
@@ -73,7 +73,7 @@ hi Statement guifg=#ffffff guibg=NONE gu
 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 Label guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
 hi! link Terminal Normal
 hi! link Debug Special
 hi! link diffAdded String
@@ -526,6 +526,22 @@ if s:t_Co >= 0
 endif
 
 " Background: dark
+" Color: x_black       #000000           16                black
+" Color: x_darkred     #cd0000           160               darkred
+" Color: x_darkgreen   #00cd00           40                darkgreen
+" Color: x_darkyellow  #cdcd00           184               darkyellow
+" Color: x_darkblue    #0000ee           21                darkblue
+" Color: x_darkmagenta #cd00cd           164               darkmagenta
+" Color: x_darkcyan    #00cdcd           44                darkcyan
+" Color: x_gray        #e5e5e5           254               gray
+" Color: x_darkgray    #7f7f7f           244               darkgray
+" Color: x_red         #ff0000           196               red
+" Color: x_green       #00ff00           46                green
+" Color: x_yellow      #ffff00           226               yellow
+" Color: x_blue        #5c5cff           63                blue
+" Color: x_magenta     #ff00ff           201               magenta
+" Color: x_cyan        #00ffff           51                cyan
+" Color: x_white       #ffffff           231               white
 " Color: black         #000000           16                black
 " Color: darkred       #870000           88                darkred
 " Color: darkyellow    #878700           100               darkyellow
@@ -537,7 +553,7 @@ endif
 " Color: darkgray      #878787           102               darkgray
 " Color: red           #d70000           160               red
 " Color: green         #00ff00           46                green
-" Color: yellow        #ffdf00           220               yellow
+" Color: yellow        #ffd700           220               yellow
 " Color: blue          #005faf           25                blue
 " Color: magenta       #d787d7           176               magenta
 " Color: cyan          #5fffff           87                cyan
@@ -549,8 +565,8 @@ endif
 " Color: coral         #ff7f50           209               red
 " Color: olivedrab     #6b8e23           64                green
 " Color: slateblue     #6a5acd           62                darkmagenta
-" Term colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan gray
-" Term colors: darkgray red green yellow xtermblue magenta cyan white
+" Term colors: x_black x_darkred x_darkgreen x_darkyellow x_darkblue x_darkmagenta x_darkcyan x_gray
+" Term colors: x_darkgray x_red x_green x_yellow x_blue x_magenta x_cyan x_white
 " Color: bgDiffA     #5F875F        65             darkgreen
 " Color: bgDiffC     #5F87AF        67             blue
 " Color: bgDiffD     #AF5FAF        133            magenta
--- 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: 2022-07-26 15:49:59
+" Last Updated: Mon Aug  8 15:21:06 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=dark
 hi clear
 let g:colors_name = 'darkblue'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 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']
--- 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: 2022-07-26 15:50:00
+" Last Updated: Mon Aug  8 15:21:07 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=light
 hi clear
 let g:colors_name = 'delek'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
--- 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: 2022-07-26 15:50:01
+" Last Updated: Mon Aug  8 15:21:08 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=dark
 hi clear
 let g:colors_name = 'desert'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 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']
--- 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: 2022-07-26 15:50:02
+" Last Updated: Mon Aug  8 15:21:08 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -12,7 +12,7 @@ set background=dark
 hi clear
 let g:colors_name = 'elflord'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 hi! link Terminal Normal
 hi! link Boolean Constant
--- 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: 2022-07-26 15:50:03
+" Last Updated: Mon Aug  8 15:21:09 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=dark
 hi clear
 let g:colors_name = 'evening'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#000000', '#ffa500', '#2e8b57', '#ffff00', '#006faf', '#8b008b', '#008b8b', '#bebebe', '#4d4d4d', '#ff5f5f', '#00ff00', '#ffff60', '#0087ff', '#ff80ff', '#00ffff', '#ffffff']
--- a/runtime/colors/habamax.vim
+++ b/runtime/colors/habamax.vim
@@ -4,7 +4,7 @@
 " Maintainer:   Maxim Kim <habamax@gmail.com>
 " Website:      https://github.com/vim/colorschemes
 " License:      Same as Vim
-" Last Updated: 2022-07-26 15:50:04
+" Last Updated: Mon Aug  8 15:21:10 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,10 +13,10 @@ set background=dark
 hi clear
 let g:colors_name = 'habamax'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
-  let g:terminal_ansi_colors = ['#1c1c1c', '#d75f5f', '#87af87', '#afaf87', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#df875f', '#afd7af', '#dfdf87', '#87afd7', '#dfafdf', '#87afaf', '#bcbcbc']
+  let g:terminal_ansi_colors = ['#1c1c1c', '#d75f5f', '#87af87', '#afaf87', '#5f87af', '#af87af', '#5f8787', '#9e9e9e', '#767676', '#d7875f', '#afd7af', '#d7d787', '#87afd7', '#d7afd7', '#87afaf', '#bcbcbc']
 endif
 hi! link Terminal Normal
 hi! link StatuslineTerm Statusline
@@ -58,14 +58,14 @@ hi! link elixirInclude Statement
 hi! link elixirAtom PreProc
 hi! link elixirDocTest String
 hi ALEErrorSign guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
-hi ALEInfoSign guifg=#dfdf87 guibg=NONE gui=NONE cterm=NONE
+hi ALEInfoSign guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
 hi ALEWarningSign guifg=#af87af guibg=NONE gui=NONE cterm=NONE
 hi ALEError guifg=#1c1c1c guibg=#d75f5f gui=NONE cterm=NONE
 hi ALEVirtualTextError guifg=#1c1c1c guibg=#d75f5f gui=NONE cterm=NONE
 hi ALEWarning guifg=#1c1c1c guibg=#af87af gui=NONE cterm=NONE
 hi ALEVirtualTextWarning guifg=#1c1c1c guibg=#af87af gui=NONE cterm=NONE
-hi ALEInfo guifg=#dfdf87 guibg=NONE gui=NONE cterm=NONE
-hi ALEVirtualTextInfo guifg=#dfdf87 guibg=NONE gui=NONE cterm=NONE
+hi ALEInfo guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
+hi ALEVirtualTextInfo guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
 hi Normal guifg=#bcbcbc guibg=#1c1c1c gui=NONE cterm=NONE
 hi Statusline guifg=#1c1c1c guibg=#9e9e9e gui=NONE cterm=NONE
 hi StatuslineNC guifg=#1c1c1c guibg=#767676 gui=NONE cterm=NONE
@@ -93,18 +93,18 @@ hi PmenuSel guifg=#1c1c1c guibg=#afaf87 
 hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
 hi Error guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
 hi ErrorMsg guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
-hi ModeMsg guifg=#1c1c1c guibg=#dfdf87 gui=NONE cterm=NONE
+hi ModeMsg guifg=#1c1c1c guibg=#d7d787 gui=NONE cterm=NONE
 hi MoreMsg guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
 hi Question guifg=#afaf87 guibg=NONE gui=NONE cterm=NONE
-hi WarningMsg guifg=#df875f guibg=NONE gui=NONE cterm=NONE
-hi Todo guifg=#dfdf87 guibg=#1c1c1c gui=reverse cterm=reverse
+hi WarningMsg guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
+hi Todo guifg=#d7d787 guibg=#1c1c1c gui=reverse cterm=reverse
 hi MatchParen guifg=#5f8787 guibg=#1c1c1c gui=reverse cterm=reverse
 hi Search guifg=#1c1c1c guibg=#87af87 gui=NONE cterm=NONE
 hi IncSearch guifg=#1c1c1c guibg=#ffaf5f gui=NONE cterm=NONE
 hi CurSearch guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
-hi WildMenu guifg=#1c1c1c guibg=#dfdf87 gui=NONE cterm=NONE
+hi WildMenu guifg=#1c1c1c guibg=#d7d787 gui=NONE cterm=NONE
 hi debugPC guifg=#1c1c1c guibg=#5f87af gui=NONE cterm=NONE
-hi debugBreakpoint guifg=#1c1c1c guibg=#df875f gui=NONE cterm=NONE
+hi debugBreakpoint guifg=#1c1c1c guibg=#d7875f gui=NONE cterm=NONE
 hi Cursor guifg=#1c1c1c guibg=#ffaf5f gui=NONE cterm=NONE
 hi lCursor guifg=#1c1c1c guibg=#5fff00 gui=NONE cterm=NONE
 hi CursorLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
@@ -114,9 +114,9 @@ hi ColorColumn guifg=NONE guibg=#262626 
 hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
 hi SpellCap guifg=NONE guibg=NONE guisp=#5f87af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
 hi SpellLocal guifg=NONE guibg=NONE guisp=#87af87 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
-hi SpellRare guifg=NONE guibg=NONE guisp=#dfafdf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
+hi SpellRare guifg=NONE guibg=NONE guisp=#d7afd7 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
 hi Comment guifg=#767676 guibg=NONE gui=NONE cterm=NONE
-hi Constant guifg=#df875f guibg=NONE gui=NONE cterm=NONE
+hi Constant guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
 hi String guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
 hi Character guifg=#afd7af guibg=NONE gui=NONE cterm=NONE
 hi Identifier guifg=#87afaf guibg=NONE gui=NONE cterm=NONE
@@ -125,7 +125,7 @@ hi PreProc guifg=#afaf87 guibg=NONE gui=
 hi Type guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
 hi Special guifg=#5f8787 guibg=NONE gui=NONE cterm=NONE
 hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
-hi Title guifg=#dfdf87 guibg=NONE gui=bold cterm=bold
+hi Title guifg=#d7d787 guibg=NONE gui=bold cterm=bold
 hi Directory guifg=#87afaf guibg=NONE gui=bold cterm=bold
 hi Conceal guifg=#767676 guibg=NONE gui=NONE cterm=NONE
 hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -135,7 +135,7 @@ hi DiffDelete guifg=#af875f guibg=NONE g
 hi diffAdded guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
 hi diffRemoved guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
 hi diffSubname guifg=#af87af guibg=NONE gui=NONE cterm=NONE
-hi DiffText guifg=#000000 guibg=#dfdfdf gui=NONE cterm=NONE
+hi DiffText guifg=#000000 guibg=#d7d7d7 gui=NONE cterm=NONE
 hi DiffChange guifg=#000000 guibg=#afafaf gui=NONE cterm=NONE
 
 if s:t_Co >= 256
@@ -254,7 +254,7 @@ if s:t_Co >= 256
   hi diffAdded ctermfg=108 ctermbg=NONE cterm=NONE
   hi diffRemoved ctermfg=167 ctermbg=NONE cterm=NONE
   hi diffSubname ctermfg=139 ctermbg=NONE cterm=NONE
-  hi DiffText ctermfg=16 ctermbg=254 cterm=NONE
+  hi DiffText ctermfg=16 ctermbg=188 cterm=NONE
   hi DiffChange ctermfg=16 ctermbg=145 cterm=NONE
   unlet s:t_Co
   finish
@@ -489,15 +489,15 @@ endif
 " Color: color00          #1C1C1C        234            black
 " Color: color08          #767676        243            darkgray
 " Color: color01          #D75F5F        167            darkred
-" Color: color09          #DF875F        173            red
+" Color: color09          #D7875F        173            red
 " Color: color02          #87AF87        108            darkgreen
 " Color: color10          #AFD7AF        151            green
 " Color: color03          #AFAF87        144            darkyellow
-" Color: color11          #DFDF87        186            yellow
+" Color: color11          #D7D787        186            yellow
 " Color: color04          #5F87AF        67             blue
 " Color: color12          #87AFD7        110            blue
 " Color: color05          #AF87AF        139            darkmagenta
-" Color: color13          #DFAFDF        182            magenta
+" Color: color13          #D7AFD7        182            magenta
 " Color: color06          #5F8787        66             darkcyan
 " Color: color14          #87AFAF        109            cyan
 " Color: color07          #9E9E9E        247            gray
@@ -506,12 +506,12 @@ endif
 " Color: colorB           #262626        235            darkgrey
 " Color: colorNonT        #585858        240            darkgrey
 " Color: colorC           #FFAF5F        215            red
-" Color: colorlC          #5FFF00        ~
+" Color: colorlC          #5FFF00        82             green
 " Color: colorV           #1F3F5F        109            cyan
 " Color: diffAdd          #87AF87        108            darkgreen
 " Color: diffDelete       #af875f        137            darkyellow
 " Color: diffChange       #AFAFAF        145            darkgray
-" Color: diffText         #DFDFDF        254            lightgrey
+" Color: diffText         #D7D7D7        188            lightgrey
 " Color: black            #000000        16             black
 " Color: white            #FFFFFF        231            white
 " Term colors: color00 color01 color02 color03 color04 color05 color06 color07
--- 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: 2022-07-26 15:50:05
+" Last Updated: Mon Aug  8 15:21:11 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=dark
 hi clear
 let g:colors_name = 'industry'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#303030', '#870000', '#5fd75f', '#afaf00', '#87afff', '#af00af', '#00afaf', '#6c6c6c', '#444444', '#ff0000', '#00ff00', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
--- 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: 2022-07-26 15:50:06
+" Last Updated: Mon Aug  8 15:21:12 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -12,7 +12,7 @@ set background=dark
 hi clear
 let g:colors_name = 'koehler'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 hi! link Terminal Normal
 hi! link Boolean Constant
new file mode 100644
--- /dev/null
+++ b/runtime/colors/lunaperche.vim
@@ -0,0 +1,911 @@
+" Name:         Perchè il sole a Milano? Portofino? Dimmi la luna perchè?
+" Description:  White(perchè il sole)/Black(la luna perchè?) background colorscheme.
+" Author:       Maxim Kim <habamax@gmail.com>
+" Maintainer:   Maxim Kim <habamax@gmail.com>
+" Website:      https://www.github.com/vim/colorschemes
+" License:      Vim License (see `:help license`)
+" Last Updated: Thu Aug 18 14:36:32 2022
+
+" Generated by Colortemplate v2.2.0
+
+hi clear
+let g:colors_name = 'lunaperche'
+
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
+
+hi! link helpVim Title
+hi! link helpHeader Title
+hi! link helpHyperTextJump Underlined
+hi! link fugitiveSymbolicRef PreProc
+hi! link fugitiveHeading Statement
+hi! link fugitiveStagedHeading Statement
+hi! link fugitiveUnstagedHeading Statement
+hi! link fugitiveUntrackedHeading Statement
+hi! link fugitiveStagedModifier PreProc
+hi! link fugitiveUnstagedModifier PreProc
+hi! link fugitiveHash Constant
+hi! link diffFile PreProc
+hi! link markdownHeadingDelimiter Special
+hi! link rstSectionDelimiter PreProc
+hi! link rstDirective Special
+hi! link rstHyperlinkReference Special
+hi! link rstFieldName Special
+hi! link rstDelimiter Special
+hi! link rstInterpretedText Special
+hi! link colortemplateKey Statement
+hi! link xmlTagName Statement
+hi! link javaScriptFunction Statement
+hi! link javaScriptIdentifier Statement
+hi! link sqlKeyword Statement
+hi! link yamlBlockMappingKey Statement
+hi! link rubyMacro Statement
+hi! link rubyDefine Statement
+hi! link vimGroup Normal
+hi! link vimVar Normal
+hi! link vimOper Normal
+hi! link vimSep Normal
+hi! link vimParenSep Normal
+hi! link vimOption Normal
+hi! link vimCommentString Comment
+hi! link pythonInclude Statement
+hi! link elixirOperator Statement
+hi! link elixirKeyword Statement
+hi! link elixirBlockDefinition Statement
+hi! link elixirDefine Statement
+hi! link elixirPrivateDefine Statement
+hi! link elixirGuard Statement
+hi! link elixirPrivateGuard Statement
+hi! link elixirModuleDefine Statement
+hi! link elixirProtocolDefine Statement
+hi! link elixirImplDefine Statement
+hi! link elixirRecordDefine Statement
+hi! link elixirPrivateRecordDefine Statement
+hi! link elixirMacroDefine Statement
+hi! link elixirPrivateMacroDefine Statement
+hi! link elixirDelegateDefine Statement
+hi! link elixirOverridableDefine Statement
+hi! link elixirExceptionDefine Statement
+hi! link elixirCallbackDefine Statement
+hi! link elixirStructDefine Statement
+hi! link elixirExUnitMacro Statement
+hi! link elixirInclude Statement
+hi! link elixirVariable Special
+hi! link elixirAtom Constant
+hi! link elixirDocTest String
+hi! link shQuote Constant
+hi! link shNoQuote Normal
+hi! link shTestOpr Normal
+hi! link shOperator Normal
+hi! link shSetOption Normal
+hi! link shOption Normal
+hi! link shCommandSub Normal
+hi! link shDerefPattern shQuote
+hi! link shDerefOp Special
+hi! link Terminal Normal
+hi! link StatuslineTerm Statusline
+hi! link StatuslineTermNC StatuslineNC
+hi! link LineNrAbove LineNr
+hi! link LineNrBelow LineNr
+if &background ==# 'dark'
+  if (has('termguicolors') && &termguicolors) || has('gui_running')
+    let g:terminal_ansi_colors = ['#000000', '#af5f5f', '#5faf5f', '#af875f', '#5f87af', '#d787af', '#5fafaf', '#c6c6c6', '#767676', '#ff5f5f', '#5fd75f', '#ffd787', '#87afd7', '#ffafd7', '#5fd7d7', '#ffffff']
+  endif
+  hi Normal guifg=#c6c6c6 guibg=#000000 gui=NONE cterm=NONE
+  hi Statusline guifg=#000000 guibg=#c6c6c6 gui=bold cterm=bold
+  hi StatuslineNC guifg=#000000 guibg=#767676 gui=NONE cterm=NONE
+  hi VertSplit guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
+  hi TabLine guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
+  hi TabLineFill guifg=NONE guibg=#767676 gui=NONE cterm=NONE
+  hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=bold
+  hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+  hi QuickFixLine guifg=#000000 guibg=#87afd7 gui=NONE cterm=NONE
+  hi CursorLineNr guifg=#ffffff guibg=NONE gui=bold cterm=bold
+  hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
+  hi NonText guifg=#585858 guibg=NONE gui=NONE cterm=NONE
+  hi FoldColumn guifg=#585858 guibg=NONE gui=NONE cterm=NONE
+  hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
+  hi SpecialKey guifg=#585858 guibg=NONE gui=NONE cterm=NONE
+  hi Pmenu guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
+  hi PmenuSel guifg=NONE guibg=#005f00 gui=NONE cterm=NONE
+  hi PmenuThumb guifg=NONE guibg=#c6c6c6 gui=NONE cterm=NONE
+  hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Error guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
+  hi ErrorMsg guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
+  hi ModeMsg guifg=#ffd787 guibg=NONE gui=reverse cterm=reverse
+  hi MoreMsg guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
+  hi Question guifg=#ffafd7 guibg=NONE gui=NONE cterm=NONE
+  hi WarningMsg guifg=#ff5f5f guibg=NONE gui=NONE cterm=NONE
+  hi Todo guifg=#5fd7d7 guibg=#000000 gui=reverse cterm=reverse
+  hi Search guifg=#000000 guibg=#ffd787 gui=NONE cterm=NONE
+  hi IncSearch guifg=#000000 guibg=#5fd75f gui=NONE cterm=NONE
+  hi CurSearch guifg=#000000 guibg=#5fd75f gui=NONE cterm=NONE
+  hi WildMenu guifg=#000000 guibg=#ffd787 gui=bold cterm=bold
+  hi debugPC guifg=#5f87af guibg=NONE gui=reverse cterm=reverse
+  hi debugBreakpoint guifg=#5fafaf guibg=NONE gui=reverse cterm=reverse
+  hi Cursor guifg=#ffffff guibg=#000000 gui=reverse cterm=reverse
+  hi lCursor guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
+  hi Visual guifg=#ffffff guibg=#005f87 gui=NONE cterm=NONE
+  hi MatchParen guifg=#c5e7c5 guibg=#000000 gui=reverse cterm=reverse
+  hi VisualNOS guifg=#000000 guibg=#5fafaf gui=NONE cterm=NONE
+  hi CursorLine guifg=NONE guibg=#262626 gui=NONE cterm=NONE
+  hi CursorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
+  hi Folded guifg=#767676 guibg=#1c1c1c gui=NONE cterm=NONE
+  hi ColorColumn guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
+  hi SpellBad guifg=NONE guibg=NONE guisp=#ff5f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SpellCap guifg=NONE guibg=NONE guisp=#5fafaf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SpellLocal guifg=NONE guibg=NONE guisp=#5faf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SpellRare guifg=NONE guibg=NONE guisp=#ffafd7 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Comment guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
+  hi Constant guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
+  hi Identifier guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Statement guifg=#eeeeee guibg=NONE gui=bold cterm=bold
+  hi Type guifg=#5fd75f guibg=NONE gui=bold cterm=bold
+  hi PreProc guifg=#af875f guibg=NONE gui=NONE cterm=NONE
+  hi Special guifg=#5fafaf guibg=NONE gui=NONE cterm=NONE
+  hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
+  hi Directory guifg=#5fd7d7 guibg=NONE gui=bold cterm=bold
+  hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi DiffAdd guifg=#000000 guibg=#af87af gui=NONE cterm=NONE
+  hi DiffChange guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
+  hi DiffText guifg=#000000 guibg=#5fd7d7 gui=NONE cterm=NONE
+  hi DiffDelete guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
+  hi diffAdded guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
+  hi diffRemoved guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
+  hi diffSubname guifg=#ffafd7 guibg=NONE gui=NONE cterm=NONE
+  hi dirType guifg=#d787af guibg=NONE gui=NONE cterm=NONE
+  hi dirPermissionUser guifg=#5faf5f guibg=NONE gui=NONE cterm=NONE
+  hi dirPermissionGroup guifg=#af875f guibg=NONE gui=NONE cterm=NONE
+  hi dirPermissionOther guifg=#5fafaf guibg=NONE gui=NONE cterm=NONE
+  hi dirOwner guifg=#767676 guibg=NONE gui=NONE cterm=NONE
+  hi dirGroup guifg=#767676 guibg=NONE gui=NONE cterm=NONE
+  hi dirTime guifg=#767676 guibg=NONE gui=NONE cterm=NONE
+  hi dirSize guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
+  hi dirSizeMod guifg=#d787af guibg=NONE gui=NONE cterm=NONE
+  hi FilterMenuDirectorySubtle guifg=#878787 guibg=NONE gui=NONE cterm=NONE
+  hi dirFilterMenuBookmarkPath guifg=#878787 guibg=NONE gui=NONE cterm=NONE
+  hi dirFilterMenuHistoryPath guifg=#878787 guibg=NONE gui=NONE cterm=NONE
+  hi FilterMenuLineNr guifg=#878787 guibg=NONE gui=NONE cterm=NONE
+  hi CocMenuSel guifg=NONE guibg=#005f00 gui=NONE cterm=NONE
+  hi CocSearch guifg=#ffd787 guibg=NONE gui=NONE cterm=NONE
+else
+  " Light background
+  if (has('termguicolors') && &termguicolors) || has('gui_running')
+    let g:terminal_ansi_colors = ['#000000', '#870000', '#008700', '#875f00', '#005faf', '#870087', '#005f5f', '#808080', '#767676', '#d70000', '#87d787', '#d7d787', '#0087d7', '#af00af', '#00afaf', '#ffffff']
+  endif
+  hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
+  hi Statusline guifg=#ffffff guibg=#000000 gui=bold cterm=bold
+  hi StatuslineNC guifg=#ffffff guibg=#767676 gui=NONE cterm=NONE
+  hi VertSplit guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
+  hi TabLine guifg=#000000 guibg=#bcbcbc gui=NONE cterm=NONE
+  hi TabLineFill guifg=NONE guibg=#767676 gui=NONE cterm=NONE
+  hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold,reverse cterm=bold,reverse
+  hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi ToolbarButton guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
+  hi QuickFixLine guifg=#ffffff guibg=#0087d7 gui=NONE cterm=NONE
+  hi CursorLineNr guifg=#000000 guibg=NONE gui=bold cterm=bold
+  hi LineNr guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
+  hi NonText guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
+  hi FoldColumn guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
+  hi EndOfBuffer guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
+  hi SpecialKey guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
+  hi Pmenu guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
+  hi PmenuSel guifg=NONE guibg=#afd7af gui=NONE cterm=NONE
+  hi PmenuThumb guifg=NONE guibg=#767676 gui=NONE cterm=NONE
+  hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Error guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
+  hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
+  hi ModeMsg guifg=#d7d787 guibg=#000000 gui=reverse cterm=reverse
+  hi MoreMsg guifg=#008700 guibg=NONE gui=bold cterm=bold
+  hi Question guifg=#870087 guibg=NONE gui=bold cterm=bold
+  hi WarningMsg guifg=#d70000 guibg=NONE gui=bold cterm=bold
+  hi Todo guifg=#005f5f guibg=#ffffff gui=reverse cterm=reverse
+  hi Search guifg=#000000 guibg=#d7d787 gui=NONE cterm=NONE
+  hi IncSearch guifg=#000000 guibg=#87d787 gui=NONE cterm=NONE
+  hi CurSearch guifg=#000000 guibg=#87d787 gui=NONE cterm=NONE
+  hi WildMenu guifg=#000000 guibg=#d7d787 gui=bold cterm=bold
+  hi debugPC guifg=#005faf guibg=NONE gui=reverse cterm=reverse
+  hi debugBreakpoint guifg=#005f5f guibg=NONE gui=reverse cterm=reverse
+  hi Cursor guifg=#000000 guibg=#ffffff gui=reverse cterm=reverse
+  hi lCursor guifg=#ff00ff guibg=#000000 gui=reverse cterm=reverse
+  hi Visual guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
+  hi MatchParen guifg=NONE guibg=#c5e7c5 gui=NONE cterm=NONE
+  hi VisualNOS guifg=#ffffff guibg=#00afaf gui=NONE cterm=NONE
+  hi CursorLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
+  hi CursorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
+  hi Folded guifg=#767676 guibg=#eeeeee gui=NONE cterm=NONE
+  hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
+  hi SpellBad guifg=NONE guibg=NONE guisp=#870000 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SpellCap guifg=NONE guibg=NONE guisp=#005f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SpellLocal guifg=NONE guibg=NONE guisp=#008700 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi SpellRare guifg=NONE guibg=NONE guisp=#af00af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Comment guifg=#005faf guibg=NONE gui=NONE cterm=NONE
+  hi Constant guifg=#870000 guibg=NONE gui=NONE cterm=NONE
+  hi Identifier guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Statement guifg=#000000 guibg=NONE gui=bold cterm=bold
+  hi Type guifg=#008700 guibg=NONE gui=bold cterm=bold
+  hi PreProc guifg=#875f00 guibg=NONE gui=NONE cterm=NONE
+  hi Special guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
+  hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
+  hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
+  hi Directory guifg=#005faf guibg=NONE gui=bold cterm=bold
+  hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
+  hi DiffAdd guifg=#000000 guibg=#d7afd7 gui=NONE cterm=NONE
+  hi DiffChange guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
+  hi DiffText guifg=#000000 guibg=#5fd7d7 gui=NONE cterm=NONE
+  hi DiffDelete guifg=#870000 guibg=NONE gui=NONE cterm=NONE
+  hi diffAdded guifg=#008700 guibg=NONE gui=NONE cterm=NONE
+  hi diffRemoved guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
+  hi diffSubname guifg=#870087 guibg=NONE gui=NONE cterm=NONE
+  hi dirType guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
+  hi dirPermissionUser guifg=#875f00 guibg=NONE gui=NONE cterm=NONE
+  hi dirPermissionGroup guifg=#008700 guibg=NONE gui=NONE cterm=NONE
+  hi dirPermissionOther guifg=#870087 guibg=NONE gui=NONE cterm=NONE
+  hi dirOwner guifg=#808080 guibg=NONE gui=NONE cterm=NONE
+  hi dirGroup guifg=#808080 guibg=NONE gui=NONE cterm=NONE
+  hi dirTime guifg=#808080 guibg=NONE gui=NONE cterm=NONE
+  hi dirSize guifg=#870000 guibg=NONE gui=NONE cterm=NONE
+  hi dirSizeMod guifg=#005f5f guibg=NONE gui=NONE cterm=NONE
+  hi dirLink guifg=#008700 guibg=NONE gui=bold cterm=bold
+  hi dirFilterMenuBookmarkPath guifg=#626262 guibg=NONE gui=NONE cterm=NONE
+  hi dirFilterMenuHistoryPath guifg=#626262 guibg=NONE gui=NONE cterm=NONE
+  hi FilterMenuDirectorySubtle guifg=#626262 guibg=NONE gui=NONE cterm=NONE
+  hi FilterMenuLineNr guifg=#626262 guibg=NONE gui=NONE cterm=NONE
+  hi CocMenuSel guifg=NONE guibg=#afd7af gui=NONE cterm=NONE
+  hi CocSearch guifg=#870000 guibg=NONE gui=NONE cterm=NONE
+endif
+
+if s:t_Co >= 256
+  hi! link helpVim Title
+  hi! link helpHeader Title
+  hi! link helpHyperTextJump Underlined
+  hi! link fugitiveSymbolicRef PreProc
+  hi! link fugitiveHeading Statement
+  hi! link fugitiveStagedHeading Statement
+  hi! link fugitiveUnstagedHeading Statement
+  hi! link fugitiveUntrackedHeading Statement
+  hi! link fugitiveStagedModifier PreProc
+  hi! link fugitiveUnstagedModifier PreProc
+  hi! link fugitiveHash Constant
+  hi! link diffFile PreProc
+  hi! link markdownHeadingDelimiter Special
+  hi! link rstSectionDelimiter PreProc
+  hi! link rstDirective Special
+  hi! link rstHyperlinkReference Special
+  hi! link rstFieldName Special
+  hi! link rstDelimiter Special
+  hi! link rstInterpretedText Special
+  hi! link colortemplateKey Statement
+  hi! link xmlTagName Statement
+  hi! link javaScriptFunction Statement
+  hi! link javaScriptIdentifier Statement
+  hi! link sqlKeyword Statement
+  hi! link yamlBlockMappingKey Statement
+  hi! link rubyMacro Statement
+  hi! link rubyDefine Statement
+  hi! link vimGroup Normal
+  hi! link vimVar Normal
+  hi! link vimOper Normal
+  hi! link vimSep Normal
+  hi! link vimParenSep Normal
+  hi! link vimOption Normal
+  hi! link vimCommentString Comment
+  hi! link pythonInclude Statement
+  hi! link elixirOperator Statement
+  hi! link elixirKeyword Statement
+  hi! link elixirBlockDefinition Statement
+  hi! link elixirDefine Statement
+  hi! link elixirPrivateDefine Statement
+  hi! link elixirGuard Statement
+  hi! link elixirPrivateGuard Statement
+  hi! link elixirModuleDefine Statement
+  hi! link elixirProtocolDefine Statement
+  hi! link elixirImplDefine Statement
+  hi! link elixirRecordDefine Statement
+  hi! link elixirPrivateRecordDefine Statement
+  hi! link elixirMacroDefine Statement
+  hi! link elixirPrivateMacroDefine Statement
+  hi! link elixirDelegateDefine Statement
+  hi! link elixirOverridableDefine Statement
+  hi! link elixirExceptionDefine Statement
+  hi! link elixirCallbackDefine Statement
+  hi! link elixirStructDefine Statement
+  hi! link elixirExUnitMacro Statement
+  hi! link elixirInclude Statement
+  hi! link elixirVariable Special
+  hi! link elixirAtom Constant
+  hi! link elixirDocTest String
+  hi! link shQuote Constant
+  hi! link shNoQuote Normal
+  hi! link shTestOpr Normal
+  hi! link shOperator Normal
+  hi! link shSetOption Normal
+  hi! link shOption Normal
+  hi! link shCommandSub Normal
+  hi! link shDerefPattern shQuote
+  hi! link shDerefOp Special
+  hi! link Terminal Normal
+  hi! link StatuslineTerm Statusline
+  hi! link StatuslineTermNC StatuslineNC
+  hi! link LineNrAbove LineNr
+  hi! link LineNrBelow LineNr
+  if &background ==# 'dark'
+    hi Normal ctermfg=251 ctermbg=16 cterm=NONE
+    hi Statusline ctermfg=16 ctermbg=251 cterm=bold
+    hi StatuslineNC ctermfg=16 ctermbg=243 cterm=NONE
+    hi VertSplit ctermfg=243 ctermbg=243 cterm=NONE
+    hi TabLine ctermfg=16 ctermbg=251 cterm=NONE
+    hi TabLineFill ctermfg=NONE ctermbg=243 cterm=NONE
+    hi TabLineSel ctermfg=231 ctermbg=16 cterm=bold
+    hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi ToolbarButton ctermfg=16 ctermbg=231 cterm=NONE
+    hi QuickFixLine ctermfg=16 ctermbg=110 cterm=NONE
+    hi CursorLineNr ctermfg=231 ctermbg=NONE cterm=bold
+    hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
+    hi NonText ctermfg=240 ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=240 ctermbg=NONE cterm=NONE
+    hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=240 ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=NONE ctermbg=234 cterm=NONE
+    hi PmenuSel ctermfg=NONE ctermbg=22 cterm=NONE
+    hi PmenuThumb ctermfg=NONE ctermbg=251 cterm=NONE
+    hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Error ctermfg=231 ctermbg=203 cterm=NONE
+    hi ErrorMsg ctermfg=231 ctermbg=203 cterm=NONE
+    hi ModeMsg ctermfg=222 ctermbg=NONE cterm=reverse
+    hi MoreMsg ctermfg=77 ctermbg=NONE cterm=NONE
+    hi Question ctermfg=218 ctermbg=NONE cterm=NONE
+    hi WarningMsg ctermfg=203 ctermbg=NONE cterm=NONE
+    hi Todo ctermfg=116 ctermbg=16 cterm=reverse
+    hi Search ctermfg=16 ctermbg=222 cterm=NONE
+    hi IncSearch ctermfg=16 ctermbg=77 cterm=NONE
+    hi CurSearch ctermfg=16 ctermbg=77 cterm=NONE
+    hi WildMenu ctermfg=16 ctermbg=222 cterm=bold
+    hi debugPC ctermfg=67 ctermbg=NONE cterm=reverse
+    hi debugBreakpoint ctermfg=73 ctermbg=NONE cterm=reverse
+    hi Visual ctermfg=231 ctermbg=24 cterm=NONE
+    hi MatchParen ctermfg=30 ctermbg=16 cterm=reverse
+    hi VisualNOS ctermfg=16 ctermbg=73 cterm=NONE
+    hi CursorLine ctermfg=NONE ctermbg=235 cterm=NONE
+    hi CursorColumn ctermfg=NONE ctermbg=235 cterm=NONE
+    hi Folded ctermfg=243 ctermbg=234 cterm=NONE
+    hi ColorColumn ctermfg=NONE ctermbg=234 cterm=NONE
+    hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=73 ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=218 ctermbg=NONE cterm=underline
+    hi Comment ctermfg=110 ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=222 ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=255 ctermbg=NONE cterm=bold
+    hi Type ctermfg=77 ctermbg=NONE cterm=bold
+    hi PreProc ctermfg=137 ctermbg=NONE cterm=NONE
+    hi Special ctermfg=73 ctermbg=NONE cterm=NONE
+    hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+    hi Title ctermfg=NONE ctermbg=NONE cterm=bold
+    hi Directory ctermfg=116 ctermbg=NONE cterm=bold
+    hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi DiffAdd ctermfg=16 ctermbg=139 cterm=NONE
+    hi DiffChange ctermfg=16 ctermbg=252 cterm=NONE
+    hi DiffText ctermfg=16 ctermbg=80 cterm=NONE
+    hi DiffDelete ctermfg=174 ctermbg=NONE cterm=NONE
+    hi diffAdded ctermfg=77 ctermbg=NONE cterm=NONE
+    hi diffRemoved ctermfg=174 ctermbg=NONE cterm=NONE
+    hi diffSubname ctermfg=218 ctermbg=NONE cterm=NONE
+    hi dirType ctermfg=175 ctermbg=NONE cterm=NONE
+    hi dirPermissionUser ctermfg=71 ctermbg=NONE cterm=NONE
+    hi dirPermissionGroup ctermfg=137 ctermbg=NONE cterm=NONE
+    hi dirPermissionOther ctermfg=73 ctermbg=NONE cterm=NONE
+    hi dirOwner ctermfg=243 ctermbg=NONE cterm=NONE
+    hi dirGroup ctermfg=243 ctermbg=NONE cterm=NONE
+    hi dirTime ctermfg=243 ctermbg=NONE cterm=NONE
+    hi dirSize ctermfg=222 ctermbg=NONE cterm=NONE
+    hi dirSizeMod ctermfg=175 ctermbg=NONE cterm=NONE
+    hi FilterMenuDirectorySubtle ctermfg=102 ctermbg=NONE cterm=NONE
+    hi dirFilterMenuBookmarkPath ctermfg=102 ctermbg=NONE cterm=NONE
+    hi dirFilterMenuHistoryPath ctermfg=102 ctermbg=NONE cterm=NONE
+    hi FilterMenuLineNr ctermfg=102 ctermbg=NONE cterm=NONE
+    hi CocMenuSel ctermfg=NONE ctermbg=22 cterm=NONE
+    hi CocSearch ctermfg=222 ctermbg=NONE cterm=NONE
+  else
+    " Light background
+    hi Normal ctermfg=16 ctermbg=231 cterm=NONE
+    hi Statusline ctermfg=231 ctermbg=16 cterm=bold
+    hi StatuslineNC ctermfg=231 ctermbg=243 cterm=NONE
+    hi VertSplit ctermfg=243 ctermbg=243 cterm=NONE
+    hi TabLine ctermfg=16 ctermbg=250 cterm=NONE
+    hi TabLineFill ctermfg=NONE ctermbg=243 cterm=NONE
+    hi TabLineSel ctermfg=231 ctermbg=16 cterm=bold,reverse
+    hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi ToolbarButton ctermfg=231 ctermbg=16 cterm=NONE
+    hi QuickFixLine ctermfg=231 ctermbg=32 cterm=NONE
+    hi CursorLineNr ctermfg=16 ctermbg=NONE cterm=bold
+    hi LineNr ctermfg=247 ctermbg=NONE cterm=NONE
+    hi NonText ctermfg=247 ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=247 ctermbg=NONE cterm=NONE
+    hi EndOfBuffer ctermfg=247 ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=247 ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=NONE ctermbg=255 cterm=NONE
+    hi PmenuSel ctermfg=NONE ctermbg=151 cterm=NONE
+    hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
+    hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Error ctermfg=231 ctermbg=160 cterm=NONE
+    hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
+    hi ModeMsg ctermfg=186 ctermbg=16 cterm=reverse
+    hi MoreMsg ctermfg=28 ctermbg=NONE cterm=bold
+    hi Question ctermfg=90 ctermbg=NONE cterm=bold
+    hi WarningMsg ctermfg=160 ctermbg=NONE cterm=bold
+    hi Todo ctermfg=23 ctermbg=231 cterm=reverse
+    hi Search ctermfg=16 ctermbg=186 cterm=NONE
+    hi IncSearch ctermfg=16 ctermbg=114 cterm=NONE
+    hi CurSearch ctermfg=16 ctermbg=114 cterm=NONE
+    hi WildMenu ctermfg=16 ctermbg=186 cterm=bold
+    hi debugPC ctermfg=25 ctermbg=NONE cterm=reverse
+    hi debugBreakpoint ctermfg=23 ctermbg=NONE cterm=reverse
+    hi Visual ctermfg=231 ctermbg=67 cterm=NONE
+    hi MatchParen ctermfg=30 ctermbg=231 cterm=reverse
+    hi VisualNOS ctermfg=231 ctermbg=37 cterm=NONE
+    hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
+    hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
+    hi Folded ctermfg=243 ctermbg=255 cterm=NONE
+    hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
+    hi SpellBad ctermfg=88 ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=23 ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=28 ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=133 ctermbg=NONE cterm=underline
+    hi Comment ctermfg=25 ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=88 ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=16 ctermbg=NONE cterm=bold
+    hi Type ctermfg=28 ctermbg=NONE cterm=bold
+    hi PreProc ctermfg=94 ctermbg=NONE cterm=NONE
+    hi Special ctermfg=23 ctermbg=NONE cterm=NONE
+    hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+    hi Title ctermfg=NONE ctermbg=NONE cterm=bold
+    hi Directory ctermfg=25 ctermbg=NONE cterm=bold
+    hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi DiffAdd ctermfg=16 ctermbg=182 cterm=NONE
+    hi DiffChange ctermfg=16 ctermbg=252 cterm=NONE
+    hi DiffText ctermfg=16 ctermbg=80 cterm=NONE
+    hi DiffDelete ctermfg=88 ctermbg=NONE cterm=NONE
+    hi diffAdded ctermfg=28 ctermbg=NONE cterm=NONE
+    hi diffRemoved ctermfg=160 ctermbg=NONE cterm=NONE
+    hi diffSubname ctermfg=90 ctermbg=NONE cterm=NONE
+    hi dirType ctermfg=23 ctermbg=NONE cterm=NONE
+    hi dirPermissionUser ctermfg=94 ctermbg=NONE cterm=NONE
+    hi dirPermissionGroup ctermfg=28 ctermbg=NONE cterm=NONE
+    hi dirPermissionOther ctermfg=90 ctermbg=NONE cterm=NONE
+    hi dirOwner ctermfg=244 ctermbg=NONE cterm=NONE
+    hi dirGroup ctermfg=244 ctermbg=NONE cterm=NONE
+    hi dirTime ctermfg=244 ctermbg=NONE cterm=NONE
+    hi dirSize ctermfg=88 ctermbg=NONE cterm=NONE
+    hi dirSizeMod ctermfg=23 ctermbg=NONE cterm=NONE
+    hi dirLink ctermfg=28 ctermbg=NONE cterm=bold
+    hi dirFilterMenuBookmarkPath ctermfg=241 ctermbg=NONE cterm=NONE
+    hi dirFilterMenuHistoryPath ctermfg=241 ctermbg=NONE cterm=NONE
+    hi FilterMenuDirectorySubtle ctermfg=241 ctermbg=NONE cterm=NONE
+    hi FilterMenuLineNr ctermfg=241 ctermbg=NONE cterm=NONE
+    hi CocMenuSel ctermfg=NONE ctermbg=151 cterm=NONE
+    hi CocSearch ctermfg=88 ctermbg=NONE cterm=NONE
+  endif
+  unlet s:t_Co
+  finish
+endif
+
+if s:t_Co >= 16
+  if &background ==# 'dark'
+    hi Normal ctermfg=grey ctermbg=black cterm=NONE
+    hi Statusline ctermfg=black ctermbg=grey cterm=bold
+    hi StatuslineNC ctermfg=black ctermbg=darkgrey cterm=NONE
+    hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
+    hi TabLine ctermfg=black ctermbg=grey cterm=NONE
+    hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
+    hi TabLineSel ctermfg=white ctermbg=black cterm=bold
+    hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi ToolbarButton ctermfg=black ctermbg=white cterm=NONE
+    hi QuickFixLine ctermfg=black ctermbg=blue cterm=NONE
+    hi CursorLineNr ctermfg=white ctermbg=NONE cterm=bold
+    hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
+    hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=grey ctermbg=NONE cterm=NONE
+    hi EndOfBuffer ctermfg=grey ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=black ctermbg=darkgrey cterm=NONE
+    hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
+    hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
+    hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Error ctermfg=white ctermbg=red cterm=NONE
+    hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
+    hi ModeMsg ctermfg=yellow ctermbg=NONE cterm=reverse
+    hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
+    hi Question ctermfg=magenta ctermbg=NONE cterm=NONE
+    hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
+    hi Todo ctermfg=cyan ctermbg=black cterm=reverse
+    hi Search ctermfg=black ctermbg=yellow cterm=NONE
+    hi IncSearch ctermfg=black ctermbg=green cterm=NONE
+    hi CurSearch ctermfg=black ctermbg=green cterm=NONE
+    hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
+    hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
+    hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
+    hi Visual ctermfg=white ctermbg=darkblue cterm=NONE
+    hi MatchParen ctermfg=darkcyan ctermbg=black cterm=reverse
+    hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
+    hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+    hi CursorColumn ctermfg=black ctermbg=yellow cterm=NONE
+    hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=green ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
+    hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=yellow ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=grey ctermbg=NONE cterm=bold
+    hi Type ctermfg=green ctermbg=NONE cterm=bold
+    hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
+    hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
+    hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+    hi Title ctermfg=NONE ctermbg=NONE cterm=bold
+    hi Directory ctermfg=cyan ctermbg=NONE cterm=bold
+    hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
+    hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
+    hi DiffText ctermfg=black ctermbg=cyan cterm=NONE
+    hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi diffAdded ctermfg=green ctermbg=NONE cterm=NONE
+    hi diffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi diffSubname ctermfg=magenta ctermbg=NONE cterm=NONE
+  else
+    " Light background
+    hi Normal ctermfg=black ctermbg=white cterm=NONE
+    hi Statusline ctermfg=white ctermbg=black cterm=bold
+    hi StatuslineNC ctermfg=white ctermbg=darkgrey cterm=NONE
+    hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
+    hi TabLine ctermfg=black ctermbg=lightgrey cterm=NONE
+    hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
+    hi TabLineSel ctermfg=white ctermbg=black cterm=bold,reverse
+    hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi ToolbarButton ctermfg=white ctermbg=black cterm=NONE
+    hi QuickFixLine ctermfg=white ctermbg=blue cterm=NONE
+    hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
+    hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
+    hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
+    hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
+    hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
+    hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
+    hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Error ctermfg=white ctermbg=red cterm=NONE
+    hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
+    hi ModeMsg ctermfg=yellow ctermbg=black cterm=reverse
+    hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=bold
+    hi Question ctermfg=darkmagenta ctermbg=NONE cterm=bold
+    hi WarningMsg ctermfg=red ctermbg=NONE cterm=bold
+    hi Todo ctermfg=darkcyan ctermbg=white cterm=reverse
+    hi Search ctermfg=black ctermbg=yellow cterm=NONE
+    hi IncSearch ctermfg=black ctermbg=green cterm=NONE
+    hi CurSearch ctermfg=black ctermbg=green cterm=NONE
+    hi WildMenu ctermfg=black ctermbg=yellow cterm=bold
+    hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
+    hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
+    hi Visual ctermfg=white ctermbg=darkblue cterm=NONE
+    hi MatchParen ctermfg=darkcyan ctermbg=white cterm=reverse
+    hi VisualNOS ctermfg=black ctermbg=cyan cterm=NONE
+    hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+    hi CursorColumn ctermfg=black ctermbg=yellow cterm=NONE
+    hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=darkgreen ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
+    hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=black ctermbg=NONE cterm=bold
+    hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+    hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
+    hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
+    hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+    hi Title ctermfg=NONE ctermbg=NONE cterm=bold
+    hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
+    hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
+    hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
+    hi DiffText ctermfg=black ctermbg=cyan cterm=NONE
+    hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi diffAdded ctermfg=darkgreen ctermbg=NONE cterm=NONE
+    hi diffRemoved ctermfg=red ctermbg=NONE cterm=NONE
+    hi diffSubname ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+  endif
+  unlet s:t_Co
+  finish
+endif
+
+if s:t_Co >= 8
+  if &background ==# 'dark'
+    hi Normal ctermfg=grey ctermbg=black cterm=NONE
+    hi Statusline ctermfg=grey ctermbg=black cterm=bold,reverse
+    hi StatuslineNC ctermfg=black ctermbg=grey cterm=NONE
+    hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
+    hi TabLine ctermfg=grey ctermbg=black cterm=reverse
+    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 QuickFixLine ctermfg=grey ctermbg=darkblue cterm=bold
+    hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
+    hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+    hi NonText ctermfg=black ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
+    hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
+    hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
+    hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+    hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
+    hi ModeMsg ctermfg=darkyellow ctermbg=black cterm=reverse
+    hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+    hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+    hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi Todo ctermfg=darkcyan ctermbg=black cterm=reverse
+    hi Search ctermfg=darkyellow ctermbg=black cterm=reverse
+    hi IncSearch ctermfg=darkgreen ctermbg=black cterm=reverse
+    hi CurSearch ctermfg=darkgreen ctermbg=black cterm=reverse
+    hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
+    hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
+    hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
+    hi Visual ctermfg=black ctermbg=darkblue cterm=NONE
+    hi MatchParen ctermfg=darkcyan ctermbg=black cterm=reverse
+    hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
+    hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+    hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse,underline
+    hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=reverse,underline
+    hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse,underline
+    hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=reverse,underline
+    hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=black ctermbg=NONE cterm=bold
+    hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+    hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
+    hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
+    hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+    hi Title ctermfg=NONE 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 DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
+    hi DiffChange ctermfg=black ctermbg=darkcyan cterm=NONE
+    hi DiffText ctermfg=black ctermbg=grey cterm=NONE
+    hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
+  else
+    " Light background
+    hi Normal ctermfg=black ctermbg=grey cterm=NONE
+    hi Statusline ctermfg=grey ctermbg=black cterm=bold
+    hi StatuslineNC ctermfg=grey ctermbg=darkgrey cterm=NONE
+    hi VertSplit ctermfg=black ctermbg=black cterm=NONE
+    hi TabLine ctermfg=black ctermbg=grey cterm=reverse
+    hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
+    hi TabLineSel ctermfg=black ctermbg=grey cterm=NONE
+    hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold
+    hi QuickFixLine ctermfg=grey ctermbg=darkblue cterm=bold
+    hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
+    hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
+    hi NonText ctermfg=black ctermbg=NONE cterm=NONE
+    hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
+    hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
+    hi Pmenu ctermfg=grey ctermbg=black cterm=NONE
+    hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
+    hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi PmenuSel ctermfg=black ctermbg=darkgreen cterm=NONE
+    hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Error ctermfg=grey ctermbg=darkred cterm=NONE
+    hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
+    hi ModeMsg ctermfg=darkyellow ctermbg=black cterm=reverse
+    hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
+    hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
+    hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi Todo ctermfg=darkcyan ctermbg=black cterm=reverse
+    hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
+    hi CurSearch ctermfg=black ctermbg=darkgreen cterm=NONE
+    hi WildMenu ctermfg=black ctermbg=darkyellow cterm=bold
+    hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
+    hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
+    hi Visual ctermfg=grey ctermbg=darkblue cterm=NONE
+    hi MatchParen ctermfg=darkcyan ctermbg=grey cterm=reverse
+    hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
+    hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
+    hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi Folded ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
+    hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse,underline
+    hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=reverse,underline
+    hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse,underline
+    hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=reverse,underline
+    hi Comment ctermfg=darkblue ctermbg=NONE cterm=NONE
+    hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
+    hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
+    hi Statement ctermfg=black ctermbg=NONE cterm=bold
+    hi Type ctermfg=darkgreen ctermbg=NONE cterm=bold
+    hi PreProc ctermfg=darkyellow ctermbg=NONE cterm=NONE
+    hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
+    hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
+    hi Title ctermfg=black 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 DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
+    hi DiffChange ctermfg=black ctermbg=darkcyan cterm=NONE
+    hi DiffText ctermfg=grey ctermbg=black cterm=NONE
+    hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
+  endif
+  unlet s:t_Co
+  finish
+endif
+
+if s:t_Co >= 0
+  hi Normal term=NONE
+  hi ColorColumn term=reverse
+  hi Conceal term=NONE
+  hi Cursor term=reverse
+  hi CursorColumn term=NONE
+  hi CursorLine term=underline
+  hi CursorLineNr term=bold
+  hi DiffAdd term=reverse
+  hi DiffChange term=NONE
+  hi DiffDelete term=reverse
+  hi DiffText term=reverse
+  hi Directory term=NONE
+  hi EndOfBuffer term=NONE
+  hi ErrorMsg term=bold,reverse
+  hi FoldColumn term=NONE
+  hi Folded term=NONE
+  hi IncSearch term=bold,reverse,underline
+  hi LineNr term=NONE
+  hi MatchParen term=bold,underline
+  hi ModeMsg term=bold
+  hi MoreMsg term=NONE
+  hi NonText term=NONE
+  hi Pmenu term=reverse
+  hi PmenuSbar term=reverse
+  hi PmenuSel term=bold
+  hi PmenuThumb term=NONE
+  hi Question term=standout
+  hi Search term=reverse
+  hi SignColumn term=reverse
+  hi SpecialKey term=bold
+  hi SpellBad term=underline
+  hi SpellCap term=underline
+  hi SpellLocal term=underline
+  hi SpellRare term=underline
+  hi StatusLine term=bold,reverse
+  hi StatusLineNC term=bold,underline
+  hi TabLine term=bold,underline
+  hi TabLineFill term=NONE
+  hi Terminal term=NONE
+  hi TabLineSel term=bold,reverse
+  hi Title term=NONE
+  hi VertSplit term=NONE
+  hi Visual term=reverse
+  hi VisualNOS term=NONE
+  hi WarningMsg term=standout
+  hi WildMenu term=bold
+  hi CursorIM term=NONE
+  hi ToolbarLine term=reverse
+  hi ToolbarButton term=bold,reverse
+  hi CurSearch term=reverse
+  hi CursorLineFold term=underline
+  hi CursorLineSign term=underline
+  hi Comment term=bold
+  hi Constant term=NONE
+  hi Error term=bold,reverse
+  hi Identifier term=NONE
+  hi Ignore term=NONE
+  hi PreProc term=NONE
+  hi Special term=NONE
+  hi Statement term=NONE
+  hi Todo term=bold,reverse
+  hi Type term=NONE
+  hi Underlined term=underline
+  unlet s:t_Co
+  finish
+endif
+
+" Background: any
+" Background: dark
+" Color: color00                 #000000        16             black
+" Color: color08                 #767676        243            darkgrey
+" Color: color01                 #AF5F5F        131            darkred
+" Color: color09                 #FF5F5F        203            red
+" Color: color02                 #5FAF5F        71             darkgreen
+" Color: color10                 #5FD75F        77             green
+" Color: color03                 #AF875F        137            darkyellow
+" Color: color11                 #FFD787        222            yellow
+" Color: color04                 #5F87AF        67             darkblue
+" Color: color12                 #87AFD7        110            blue
+" Color: color05                 #D787AF        175            darkmagenta
+" Color: color13                 #FFAFD7        218            magenta
+" Color: color06                 #5FAFAF        73             darkcyan
+" Color: color14                 #5FD7D7        116            cyan
+" Color: color07                 #C6C6C6        251            grey
+" Color: color15                 #FFFFFF        231            white
+" Color: colorDimWhite           #EEEEEE        255            grey
+" Color: colorLine               #262626        235            darkgrey
+" Color: colorB                  #1C1C1C        234            darkgrey
+" Color: colorNonT               #585858        240            grey
+" Color: colorTab                #585858        240            grey
+" Color: colorC                  #FFFFFF        231            white
+" Color: colorlC                 #FF5FFF        207            magenta
+" Color: colorV                  #005F87        24             darkblue
+" Color: colorMP                 #C5E7C5        30             darkcyan
+" Color: colorPMenuSel           #005F00        22             darkgreen
+" Color: colorDim                #878787        102            grey
+" Color: diffAdd                 #AF87AF        139            darkmagenta
+" Color: diffDelete              #D78787        174            darkred
+" Color: diffChange              #D0D0D0        252            lightgray
+" Color: diffText                #5FD7D7        80             cyan
+" Color: fgDiff                  #000000        16             black
+" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Background: light
+" Color: color00                 #000000        16             black
+" Color: color08                 #767676        243            darkgrey
+" Color: color01                 #870000        88             darkred
+" Color: color09                 #D70000        160            red
+" Color: color02                 #008700        28             darkgreen
+" Color: color10                 #87D787        114            green
+" Color: color03                 #875F00        94             darkyellow
+" Color: color11                 #D7D787        186            yellow
+" Color: color04                 #005FAF        25             darkblue
+" Color: color12                 #0087D7        32             blue
+" Color: color05                 #870087        90             darkmagenta
+" Color: color13                 #AF00AF        133            magenta
+" Color: color06                 #005F5F        23             darkcyan
+" Color: color14                 #00AFAF        37             cyan
+" Color: color07                 #808080        244            grey
+" Color: color15                 #FFFFFF        231            white
+" Color: colorLine               #E4E4E4        254            grey
+" Color: colorB                  #EEEEEE        255            grey
+" Color: colorNonT               #9E9E9E        247            darkgrey
+" Color: colorTab                #BCBCBC        250            lightgrey
+" Color: colorC                  #000000        16             black
+" Color: colorlC                 #FF00FF        201            magenta
+" Color: colorV                  #5F87AF        67             darkblue
+" Color: colorMP                 #C5E7C5        30             darkcyan
+" Color: colorPMenuSel           #AFD7AF        151            darkgreen
+" Color: colorDim                #626262        241            darkgrey
+" Color: diffAdd                 #D7AFD7        182            darkmagenta
+" Color: diffDelete              #870000        88             darkred
+" Color: diffChange              #D0D0D0        252            lightgray
+" Color: diffText                #5FD7D7        80             cyan
+" Color: fgDiff                  #000000        16             black
+" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
+" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Background: any
+" 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: 2022-07-26 15:50:07
+" Last Updated: Mon Aug  8 15:21:13 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=light
 hi clear
 let g:colors_name = 'morning'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#e4e4e4', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#bcbcbc', '#0000ff', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#000000']
--- 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: 2022-07-26 15:50:08
+" Last Updated: Mon Aug  8 15:21:14 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=dark
 hi clear
 let g:colors_name = 'murphy'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#303030', '#ffa700', '#005f00', '#ffd7af', '#87afff', '#ffafaf', '#00afaf', '#bcbcbc', '#444444', '#ff0000', '#00875f', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
--- 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: 2022-07-26 15:50:09
+" Last Updated: Mon Aug  8 15:21:15 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -12,7 +12,7 @@ set background=dark
 hi clear
 let g:colors_name = 'pablo'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
--- 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: 2022-07-26 15:50:10
+" Last Updated: Mon Aug  8 15:21:16 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=light
 hi clear
 let g:colors_name = 'peachpuff'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#ffdab9', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#737373', '#406090', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#000000']
--- a/runtime/colors/quiet.vim
+++ b/runtime/colors/quiet.vim
@@ -4,15 +4,16 @@
 " Maintainer:   neutaaaaan <neutaaaaan-gh@protonmail.com>
 " Website:      https://github.com/vim/colorschemes
 " License:      Vim License (see `:help license`)`
-" Last Updated: 2022-08-01 15:13:21
+" Last Updated: 2022-08-14 15:17:11
 
 " Generated by Colortemplate v2.2.0
 
 hi clear
 let g:colors_name = 'quiet'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
+hi! link Terminal Normal
 hi! link StatusLineTerm StatusLine
 hi! link StatusLineTermNC StatusLineNC
 hi! link Boolean Constant
@@ -48,7 +49,6 @@ if &background ==# 'dark'
     let g:terminal_ansi_colors = ['#080808', '#d7005f', '#00af5f', '#d78700', '#0087d7', '#d787d7', '#00afaf', '#dadada', '#707070', '#ff005f', '#00d75f', '#ffaf00', '#5fafff', '#ff87ff', '#00d7d7', '#ffffff']
   endif
   hi Normal guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
-  hi Terminal guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
   hi ColorColumn guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
   hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
   hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -62,39 +62,39 @@ if &background ==# 'dark'
   hi Directory guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
   hi EndOfBuffer guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
   hi ErrorMsg guifg=#dadada guibg=#080808 gui=reverse cterm=reverse
-  hi FoldColumn guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
+  hi FoldColumn guifg=#707070 guibg=NONE gui=NONE cterm=NONE
   hi Folded guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
   hi IncSearch guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
-  hi LineNr guifg=#444444 guibg=#080808 gui=NONE cterm=NONE
-  hi MatchParen guifg=#ff00af guibg=#080808 gui=bold cterm=bold
-  hi ModeMsg guifg=#dadada guibg=#080808 gui=bold cterm=bold
-  hi MoreMsg guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
+  hi LineNr guifg=#444444 guibg=NONE gui=NONE cterm=NONE
+  hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
+  hi ModeMsg guifg=#dadada guibg=NONE gui=bold cterm=bold
+  hi MoreMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
   hi NonText guifg=#707070 guibg=NONE gui=NONE cterm=NONE
   hi Pmenu guifg=#080808 guibg=#87afd7 gui=NONE cterm=NONE
   hi PmenuSbar guifg=#dadada guibg=#707070 gui=NONE cterm=NONE
   hi PmenuSel guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
   hi PmenuThumb guifg=#dadada guibg=#d787d7 gui=NONE cterm=NONE
-  hi Question guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
+  hi Question guifg=#dadada guibg=NONE gui=NONE cterm=NONE
   hi QuickFixLine guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
   hi Search guifg=#00afff guibg=#080808 gui=reverse cterm=reverse
-  hi SignColumn guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
-  hi SpecialKey guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
-  hi SpellBad guifg=#d7005f guibg=#080808 guisp=#d7005f gui=undercurl cterm=underline
-  hi SpellCap guifg=#0087d7 guibg=#080808 guisp=#0087d7 gui=undercurl cterm=underline
-  hi SpellLocal guifg=#d787d7 guibg=#080808 guisp=#d787d7 gui=undercurl cterm=underline
-  hi SpellRare guifg=#00afaf guibg=#080808 guisp=#00afaf gui=undercurl cterm=underline
+  hi SignColumn guifg=#dadada guibg=NONE gui=NONE cterm=NONE
+  hi SpecialKey guifg=#dadada guibg=NONE gui=NONE cterm=NONE
+  hi SpellBad guifg=#d7005f guibg=NONE guisp=#d7005f gui=undercurl cterm=underline
+  hi SpellCap guifg=#0087d7 guibg=NONE guisp=#0087d7 gui=undercurl cterm=underline
+  hi SpellLocal guifg=#d787d7 guibg=NONE guisp=#d787d7 gui=undercurl cterm=underline
+  hi SpellRare guifg=#00afaf guibg=NONE guisp=#00afaf gui=undercurl cterm=underline
   hi StatusLine guifg=#080808 guibg=#dadada gui=bold cterm=bold
   hi StatusLineNC guifg=#707070 guibg=#080808 gui=underline cterm=underline
   hi TabLine guifg=#707070 guibg=#080808 gui=underline cterm=underline
   hi TabLineFill guifg=#dadada guibg=NONE gui=NONE cterm=NONE
   hi TabLineSel guifg=#080808 guibg=#dadada gui=bold cterm=bold
-  hi Title guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
+  hi Title guifg=#dadada guibg=NONE gui=NONE cterm=NONE
   hi VertSplit guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
   hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
   hi VisualNOS guifg=NONE guibg=#303030 gui=NONE cterm=NONE
-  hi WarningMsg guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
+  hi WarningMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
   hi WildMenu guifg=#00afff guibg=#080808 gui=bold cterm=bold
-  hi Comment guifg=#707070 guibg=#080808 gui=bold cterm=bold
+  hi Comment guifg=#707070 guibg=NONE gui=bold cterm=bold
   hi Constant guifg=#dadada guibg=NONE gui=NONE cterm=NONE
   hi Error guifg=#ff005f guibg=#080808 gui=bold,reverse cterm=bold,reverse
   hi Identifier guifg=#dadada guibg=NONE gui=NONE cterm=NONE
@@ -114,7 +114,6 @@ else
     let g:terminal_ansi_colors = ['#080808', '#af0000', '#005f00', '#af5f00', '#005faf', '#870087', '#008787', '#d7d7d7', '#626262', '#d70000', '#008700', '#d78700', '#0087d7', '#af00af', '#00afaf', '#ffffff']
   endif
   hi Normal guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
-  hi Terminal guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
   hi ColorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
   hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
   hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -125,26 +124,26 @@ else
   hi DiffChange guifg=#afafd7 guibg=#080808 gui=reverse cterm=reverse
   hi DiffDelete guifg=#d78787 guibg=#080808 gui=reverse cterm=reverse
   hi DiffText guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
-  hi Directory guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
-  hi EndOfBuffer guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi Directory guifg=#080808 guibg=NONE gui=NONE cterm=NONE
+  hi EndOfBuffer guifg=#080808 guibg=NONE gui=NONE cterm=NONE
   hi ErrorMsg guifg=#080808 guibg=#d7d7d7 gui=reverse cterm=reverse
-  hi FoldColumn guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi FoldColumn guifg=#626262 guibg=NONE gui=NONE cterm=NONE
   hi Folded guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
   hi IncSearch guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
-  hi LineNr guifg=#a8a8a8 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi LineNr guifg=#a8a8a8 guibg=NONE gui=NONE cterm=NONE
   hi MatchParen guifg=#ff00af guibg=#d7d7d7 gui=bold cterm=bold
-  hi ModeMsg guifg=#080808 guibg=#d7d7d7 gui=bold cterm=bold
-  hi MoreMsg guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi ModeMsg guifg=#080808 guibg=NONE gui=bold cterm=bold
+  hi MoreMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
   hi NonText guifg=#626262 guibg=NONE gui=NONE cterm=NONE
   hi Pmenu guifg=#080808 guibg=#afafd7 gui=NONE cterm=NONE
   hi PmenuSbar guifg=#080808 guibg=#626262 gui=NONE cterm=NONE
   hi PmenuSel guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
   hi PmenuThumb guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
-  hi Question guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi Question guifg=#080808 guibg=NONE gui=NONE cterm=NONE
   hi QuickFixLine guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
   hi Search guifg=#00afff guibg=#080808 gui=reverse cterm=reverse
-  hi SignColumn guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
-  hi SpecialKey guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi SignColumn guifg=#080808 guibg=NONE gui=NONE cterm=NONE
+  hi SpecialKey guifg=#080808 guibg=NONE gui=NONE cterm=NONE
   hi SpellBad guifg=#af0000 guibg=#d7d7d7 guisp=#af0000 gui=undercurl cterm=underline
   hi SpellCap guifg=#005faf guibg=#d7d7d7 guisp=#005faf gui=undercurl cterm=underline
   hi SpellLocal guifg=#870087 guibg=#d7d7d7 guisp=#870087 gui=undercurl cterm=underline
@@ -154,13 +153,13 @@ else
   hi TabLine guifg=#080808 guibg=#a8a8a8 gui=NONE cterm=NONE
   hi TabLineFill guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
   hi TabLineSel guifg=#eeeeee guibg=#080808 gui=bold cterm=bold
-  hi Title guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi Title guifg=#080808 guibg=NONE gui=NONE cterm=NONE
   hi VertSplit guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
   hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
   hi VisualNOS guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
-  hi WarningMsg guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
+  hi WarningMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
   hi WildMenu guifg=#080808 guibg=#eeeeee gui=bold cterm=bold
-  hi Comment guifg=#080808 guibg=#d7d7d7 gui=bold cterm=bold
+  hi Comment guifg=#080808 guibg=NONE gui=bold cterm=bold
   hi Constant guifg=#080808 guibg=NONE gui=NONE cterm=NONE
   hi Error guifg=#ff005f guibg=#080808 gui=bold,reverse cterm=bold,reverse
   hi Identifier guifg=#080808 guibg=NONE gui=NONE cterm=NONE
@@ -179,7 +178,6 @@ endif
 if s:t_Co >= 256
   if &background ==# 'dark'
     hi Normal ctermfg=253 ctermbg=232 cterm=NONE
-    hi Terminal ctermfg=253 ctermbg=232 cterm=NONE
     hi ColorColumn ctermfg=NONE ctermbg=234 cterm=NONE
     hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -193,39 +191,39 @@ if s:t_Co >= 256
     hi Directory ctermfg=253 ctermbg=232 cterm=NONE
     hi EndOfBuffer ctermfg=253 ctermbg=232 cterm=NONE
     hi ErrorMsg ctermfg=253 ctermbg=232 cterm=reverse
-    hi FoldColumn ctermfg=242 ctermbg=232 cterm=NONE
+    hi FoldColumn ctermfg=242 ctermbg=NONE cterm=NONE
     hi Folded ctermfg=242 ctermbg=232 cterm=NONE
     hi IncSearch ctermfg=214 ctermbg=232 cterm=reverse
-    hi LineNr ctermfg=238 ctermbg=232 cterm=NONE
-    hi MatchParen ctermfg=199 ctermbg=232 cterm=bold
-    hi ModeMsg ctermfg=253 ctermbg=232 cterm=bold
-    hi MoreMsg ctermfg=253 ctermbg=232 cterm=NONE
+    hi LineNr ctermfg=238 ctermbg=NONE cterm=NONE
+    hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
+    hi ModeMsg ctermfg=253 ctermbg=NONE cterm=bold
+    hi MoreMsg ctermfg=253 ctermbg=NONE cterm=NONE
     hi NonText ctermfg=242 ctermbg=NONE cterm=NONE
     hi Pmenu ctermfg=232 ctermbg=110 cterm=NONE
     hi PmenuSbar ctermfg=253 ctermbg=242 cterm=NONE
     hi PmenuSel ctermfg=232 ctermbg=176 cterm=NONE
     hi PmenuThumb ctermfg=253 ctermbg=176 cterm=NONE
-    hi Question ctermfg=253 ctermbg=232 cterm=NONE
+    hi Question ctermfg=253 ctermbg=NONE cterm=NONE
     hi QuickFixLine ctermfg=176 ctermbg=232 cterm=reverse
     hi Search ctermfg=39 ctermbg=232 cterm=reverse
-    hi SignColumn ctermfg=253 ctermbg=232 cterm=NONE
-    hi SpecialKey ctermfg=253 ctermbg=232 cterm=NONE
-    hi SpellBad ctermfg=161 ctermbg=232 cterm=underline
-    hi SpellCap ctermfg=32 ctermbg=232 cterm=underline
-    hi SpellLocal ctermfg=176 ctermbg=232 cterm=underline
-    hi SpellRare ctermfg=37 ctermbg=232 cterm=underline
+    hi SignColumn ctermfg=253 ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=253 ctermbg=NONE cterm=NONE
+    hi SpellBad ctermfg=161 ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=32 ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=176 ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline
     hi StatusLine ctermfg=232 ctermbg=253 cterm=bold
     hi StatusLineNC ctermfg=242 ctermbg=232 cterm=underline
     hi TabLine ctermfg=242 ctermbg=232 cterm=underline
     hi TabLineFill ctermfg=253 ctermbg=NONE cterm=NONE
     hi TabLineSel ctermfg=232 ctermbg=253 cterm=bold
-    hi Title ctermfg=253 ctermbg=232 cterm=NONE
+    hi Title ctermfg=253 ctermbg=NONE cterm=NONE
     hi VertSplit ctermfg=242 ctermbg=232 cterm=NONE
     hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
     hi VisualNOS ctermfg=NONE ctermbg=236 cterm=NONE
-    hi WarningMsg ctermfg=253 ctermbg=232 cterm=NONE
+    hi WarningMsg ctermfg=253 ctermbg=NONE cterm=NONE
     hi WildMenu ctermfg=39 ctermbg=232 cterm=bold
-    hi Comment ctermfg=242 ctermbg=232 cterm=bold
+    hi Comment ctermfg=242 ctermbg=NONE cterm=bold
     hi Constant ctermfg=253 ctermbg=NONE cterm=NONE
     hi Error ctermfg=197 ctermbg=232 cterm=bold,reverse
     hi Identifier ctermfg=253 ctermbg=NONE cterm=NONE
@@ -242,7 +240,6 @@ if s:t_Co >= 256
   else
     " Light background
     hi Normal ctermfg=232 ctermbg=188 cterm=NONE
-    hi Terminal ctermfg=232 ctermbg=188 cterm=NONE
     hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE
     hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
@@ -253,26 +250,26 @@ if s:t_Co >= 256
     hi DiffChange ctermfg=146 ctermbg=232 cterm=reverse
     hi DiffDelete ctermfg=174 ctermbg=232 cterm=reverse
     hi DiffText ctermfg=176 ctermbg=232 cterm=reverse
-    hi Directory ctermfg=232 ctermbg=188 cterm=NONE
-    hi EndOfBuffer ctermfg=232 ctermbg=188 cterm=NONE
+    hi Directory ctermfg=232 ctermbg=NONE cterm=NONE
+    hi EndOfBuffer ctermfg=232 ctermbg=NONE cterm=NONE
     hi ErrorMsg ctermfg=232 ctermbg=188 cterm=reverse
-    hi FoldColumn ctermfg=241 ctermbg=188 cterm=NONE
+    hi FoldColumn ctermfg=241 ctermbg=NONE cterm=NONE
     hi Folded ctermfg=241 ctermbg=188 cterm=NONE
     hi IncSearch ctermfg=214 ctermbg=232 cterm=reverse
-    hi LineNr ctermfg=248 ctermbg=188 cterm=NONE
+    hi LineNr ctermfg=248 ctermbg=NONE cterm=NONE
     hi MatchParen ctermfg=199 ctermbg=188 cterm=bold
-    hi ModeMsg ctermfg=232 ctermbg=188 cterm=bold
-    hi MoreMsg ctermfg=232 ctermbg=188 cterm=NONE
+    hi ModeMsg ctermfg=232 ctermbg=NONE cterm=bold
+    hi MoreMsg ctermfg=232 ctermbg=NONE cterm=NONE
     hi NonText ctermfg=241 ctermbg=NONE cterm=NONE
     hi Pmenu ctermfg=232 ctermbg=146 cterm=NONE
     hi PmenuSbar ctermfg=232 ctermbg=241 cterm=NONE
     hi PmenuSel ctermfg=232 ctermbg=176 cterm=NONE
     hi PmenuThumb ctermfg=232 ctermbg=176 cterm=NONE
-    hi Question ctermfg=232 ctermbg=188 cterm=NONE
+    hi Question ctermfg=232 ctermbg=NONE cterm=NONE
     hi QuickFixLine ctermfg=176 ctermbg=232 cterm=reverse
     hi Search ctermfg=39 ctermbg=232 cterm=reverse
-    hi SignColumn ctermfg=232 ctermbg=188 cterm=NONE
-    hi SpecialKey ctermfg=232 ctermbg=188 cterm=NONE
+    hi SignColumn ctermfg=232 ctermbg=NONE cterm=NONE
+    hi SpecialKey ctermfg=232 ctermbg=NONE cterm=NONE
     hi SpellBad ctermfg=124 ctermbg=188 cterm=underline
     hi SpellCap ctermfg=25 ctermbg=188 cterm=underline
     hi SpellLocal ctermfg=90 ctermbg=188 cterm=underline
@@ -282,13 +279,13 @@ if s:t_Co >= 256
     hi TabLine ctermfg=232 ctermbg=248 cterm=NONE
     hi TabLineFill ctermfg=232 ctermbg=188 cterm=NONE
     hi TabLineSel ctermfg=255 ctermbg=232 cterm=bold
-    hi Title ctermfg=232 ctermbg=188 cterm=NONE
+    hi Title ctermfg=232 ctermbg=NONE cterm=NONE
     hi VertSplit ctermfg=241 ctermbg=188 cterm=NONE
     hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
     hi VisualNOS ctermfg=NONE ctermbg=255 cterm=NONE
-    hi WarningMsg ctermfg=232 ctermbg=188 cterm=NONE
+    hi WarningMsg ctermfg=232 ctermbg=NONE cterm=NONE
     hi WildMenu ctermfg=232 ctermbg=255 cterm=bold
-    hi Comment ctermfg=232 ctermbg=188 cterm=bold
+    hi Comment ctermfg=232 ctermbg=NONE cterm=bold
     hi Constant ctermfg=232 ctermbg=NONE cterm=NONE
     hi Error ctermfg=197 ctermbg=232 cterm=bold,reverse
     hi Identifier ctermfg=232 ctermbg=NONE cterm=NONE
@@ -310,23 +307,22 @@ endif
 if s:t_Co >= 16
   if &background ==# 'dark'
     hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
     hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
-    hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
-    hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
-    hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
-    hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
+    hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
+    hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
+    hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
+    hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
     hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
     hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
+    hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
     hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
     hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
@@ -337,14 +333,14 @@ if s:t_Co >= 16
     hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
     hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Question ctermfg=NONE ctermbg=NONE cterm=standout
-    hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
-    hi Search ctermfg=6 ctermbg=0 cterm=reverse
+    hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
+    hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
     hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
-    hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
-    hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
-    hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
-    hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
+    hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
     hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
@@ -373,23 +369,22 @@ if s:t_Co >= 16
   else
     " Light background
     hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
     hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
-    hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
-    hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
-    hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
-    hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
+    hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
+    hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
+    hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
+    hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
     hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
     hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
+    hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
     hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
     hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
@@ -400,14 +395,14 @@ if s:t_Co >= 16
     hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
     hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Question ctermfg=NONE ctermbg=NONE cterm=standout
-    hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
-    hi Search ctermfg=6 ctermbg=0 cterm=reverse
+    hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
+    hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
     hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
-    hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
-    hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
-    hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
-    hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
+    hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
     hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
@@ -441,23 +436,22 @@ endif
 if s:t_Co >= 8
   if &background ==# 'dark'
     hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
     hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
-    hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
-    hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
-    hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
-    hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
+    hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
+    hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
+    hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
+    hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
     hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
     hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
+    hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
     hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
     hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
@@ -468,14 +462,14 @@ if s:t_Co >= 8
     hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
     hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Question ctermfg=NONE ctermbg=NONE cterm=standout
-    hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
-    hi Search ctermfg=6 ctermbg=0 cterm=reverse
+    hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
+    hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
     hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
-    hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
-    hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
-    hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
-    hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
+    hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
     hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
@@ -504,23 +498,22 @@ if s:t_Co >= 8
   else
     " Light background
     hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi Terminal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
     hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
     hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
-    hi DiffAdd ctermfg=2 ctermbg=0 cterm=reverse
-    hi DiffChange ctermfg=4 ctermbg=0 cterm=reverse
-    hi DiffDelete ctermfg=1 ctermbg=0 cterm=reverse
-    hi DiffText ctermfg=5 ctermbg=0 cterm=reverse
+    hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
+    hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
+    hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
+    hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
     hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
     hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
     hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
-    hi IncSearch ctermfg=3 ctermbg=0 cterm=bold,reverse,underline
+    hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
     hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
     hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
@@ -531,14 +524,14 @@ if s:t_Co >= 8
     hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
     hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
     hi Question ctermfg=NONE ctermbg=NONE cterm=standout
-    hi QuickFixLine ctermfg=5 ctermbg=0 cterm=reverse
-    hi Search ctermfg=6 ctermbg=0 cterm=reverse
+    hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
+    hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
     hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
     hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
-    hi SpellBad ctermfg=1 ctermbg=NONE cterm=underline
-    hi SpellCap ctermfg=4 ctermbg=NONE cterm=underline
-    hi SpellLocal ctermfg=5 ctermbg=NONE cterm=underline
-    hi SpellRare ctermfg=6 ctermbg=NONE cterm=underline
+    hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
+    hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
+    hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
+    hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
     hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
     hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
     hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
@@ -638,69 +631,69 @@ if s:t_Co >= 0
 endif
 
 " Background: dark
-" Color: dark0         #080808                       ~     0
-" Color: dark1         #d7005f                       ~     1
-" Color: dark2         #00af5f                       ~     2
-" Color: dark3         #d78700                       ~     3
-" Color: dark4         #0087d7                       ~     4
-" Color: dark5         #d787d7                       ~     5
-" Color: dark6         #00afaf                       ~     6
-" Color: dark7         #dadada                       ~     7
-" Color: dark8         #707070                       ~     8
-" Color: dark9         #ff005f                       ~     9
-" Color: dark10        #00d75f                       ~    10
-" Color: dark11        #ffaf00                       ~    11
-" Color: dark12        #5fafff                       ~    12
-" Color: dark13        #ff87ff                       ~    13
-" Color: dark14        #00d7d7                       ~    14
-" Color: dark15        #ffffff                       ~    15
-" Color: diffred              #d75f5f                ~          
-" Color: diffgreen            #00af00                ~          
-" Color: diffblue             #87afd7                ~          
-" Color: diffpink 	          #d787d7                ~
-" Color: uipink               #ff00af                ~          
-" Color: uilime               #afff00                ~          
-" Color: uiteal               #00ffaf                ~                                      
-" Color: uiblue               #00afff                ~          
-" Color: uipurple             #af00ff                ~          
-" Color: uiamber              #ffaf00                ~          
-" Color: uiblack              #303030                ~          
-" Color: yasogrey             #1c1c1c                ~
-" Color: linenrblack          #444444                ~
-" Color: errorred             #ff005f                ~
+" Color: dark0         #080808           232               black
+" Color: dark1         #d7005f           161               darkred
+" Color: dark2         #00af5f           35                darkgreen
+" Color: dark3         #d78700           172               darkyellow
+" Color: dark4         #0087d7           32                darkblue
+" Color: dark5         #d787d7           176               darkmagenta
+" Color: dark6         #00afaf           37                darkcyan
+" Color: dark7         #dadada           253               grey
+" Color: dark8         #707070           242               darkgrey
+" Color: dark9         #ff005f           197               red
+" Color: dark10        #00d75f           41                green
+" Color: dark11        #ffaf00           214               yellow
+" Color: dark12        #5fafff           75                blue
+" Color: dark13        #ff87ff           213               magenta
+" Color: dark14        #00d7d7           44                cyan
+" Color: dark15        #ffffff           231               white
+" Color: diffred       #d75f5f           167               darkred
+" Color: diffgreen     #00af00           34                darkgreen
+" Color: diffblue      #87afd7           110               darkblue
+" Color: diffpink 	   #d787d7           176               darkmagenta
+" Color: uipink        #ff00af           199               magenta
+" Color: uilime        #afff00           154               green
+" Color: uiteal        #00ffaf           49                green
+" Color: uiblue        #00afff           39                blue
+" Color: uipurple      #af00ff           129               darkmagenta
+" Color: uiamber       #ffaf00           214               darkyellow
+" Color: uiblack       #303030           236               darkgrey
+" Color: yasogrey      #1c1c1c           234               black
+" Color: linenrblack   #444444           238               darkgrey
+" Color: errorred      #ff005f           197               red
 " Term colors: dark0 dark1 dark2 dark3 dark4 dark5 dark6 dark7
 " Term colors: dark8 dark9 dark10 dark11 dark12 dark13 dark14 dark15
 " Background: light
-" Color: brightwhite          #eeeeee                ~   
-" Color: light0        #080808                       ~     0
-" Color: light1        #af0000                       ~     1
-" Color: light2        #005f00                       ~     2
-" Color: light3        #af5f00                       ~     3
-" Color: light4        #005faf                       ~     4
-" Color: light5        #870087                       ~     5
-" Color: light6        #008787                       ~     6
-" Color: light7        #d7d7d7                       ~     7
-" Color: light8        #626262                       ~     8
-" Color: light9        #d70000                       ~     9
-" Color: light10       #008700                       ~    10
-" Color: light11       #d78700                       ~    11
-" Color: light12       #0087d7                       ~    12
-" Color: light13       #af00af                       ~    13
-" Color: light14       #00afaf                       ~    14
-" Color: light15       #ffffff                       ~    15
-" Color: diffred              #d78787                ~   
-" Color: diffgreen            #87d787                ~   
-" Color: diffblue             #afafd7                ~   
-" Color: diffpink 	          #d787d7                ~
-" Color: uipink               #ff00af                ~          
-" Color: uilime               #afff00                ~          
-" Color: uiteal               #00ffaf                ~                                      
-" Color: uiblue               #00afff                ~          
-" Color: uipurple             #af00ff                ~          
-" Color: uiamber              #ffaf00                ~          
-" Color: invisigrey           #a8a8a8                ~   
-" Color: yasogrey             #e4e4e4                ~
-" Color: errorred             #ff005f                ~
+" Color: brightwhite   #eeeeee           255               grey
+" Color: light0        #080808           232               black
+" Color: light1        #af0000           124               darkred
+" Color: light2        #005f00           22                darkgreen
+" Color: light3        #af5f00           130               darkyellow
+" Color: light4        #005faf           25                darkblue
+" Color: light5        #870087           90                darkmagenta
+" Color: light6        #008787           30                darkcyan
+" Color: light7        #d7d7d7           188               grey
+" Color: light8        #626262           241               darkgrey
+" Color: light9        #d70000           160               red
+" Color: light10       #008700           28                green
+" Color: light11       #d78700           172               yellow
+" Color: light12       #0087d7           32                blue
+" Color: light13       #af00af           127               magenta
+" Color: light14       #00afaf           37                cyan
+" Color: light15       #ffffff           231               white
+" Color: diffred       #d78787           174               red
+" Color: diffgreen     #87d787           114               green
+" Color: diffblue      #afafd7           146               blue
+" Color: diffpink      #d787d7           176               magenta
+" Color: uipink        #ff00af           199               magenta
+" Color: uilime        #afff00           154               green
+" Color: uiteal        #00ffaf           49                cyan
+" Color: uiblue        #00afff           39                blue
+" Color: uipurple      #af00ff           129               darkmagenta
+" Color: uiamber       #ffaf00           214               yellow
+" Color: invisigrey    #a8a8a8           248               darkgrey
+" Color: yasogrey      #e4e4e4           254               grey
+" Color: errorred      #ff005f           197               red
 " Term colors: light0 light1 light2 light3 light4 light5 light6 light7
 " Term colors: light8 light9 light10 light11 light12 light13 light14 light15
 " Background: any
--- 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: 2022-07-26 15:50:11
+" Last Updated: Mon Aug  8 15:21:18 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -12,7 +12,7 @@ set background=dark
 hi clear
 let g:colors_name = 'ron'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 hi! link Terminal Normal
 hi! link Boolean Constant
--- 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: 2022-07-26 15:50:12
+" Last Updated: Mon Aug  8 15:21:19 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=light
 hi clear
 let g:colors_name = 'shine'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#000000', '#8b0000', '#006400', '#ffff00', '#00008b', '#6a0dad', '#008b8b', '#dadada', '#767676', '#ffafaf', '#90ee90', '#ffff60', '#add8e6', '#ff00ff', '#00ffff', '#ffffff']
--- 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: 2022-07-26 15:50:14
+" Last Updated: Tue Aug 16 08:11:08 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,10 +13,10 @@ set background=dark
 hi clear
 let g:colors_name = 'slate'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
-  let g:terminal_ansi_colors = ['#000000', '#ff0000', '#5f8700', '#ffff00', '#87d7ff', '#d7d787', '#ffd7af', '#666666', '#333333', '#ffafaf', '#00875f', '#ffd700', '#5f87d7', '#afaf87', '#ff8787', '#ffffff']
+  let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
 endif
 hi! link Terminal Normal
 hi! link LineNrAbove LineNr
@@ -53,18 +53,18 @@ hi Visual guifg=#d7d787 guibg=#5f8700 gu
 hi SignColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
 hi VisualNOS guifg=#d7d787 guibg=#5f8700 gui=NONE cterm=NONE
 hi LineNr guifg=#666666 guibg=NONE gui=NONE cterm=NONE
-hi Underlined guifg=#5f87d7 guibg=NONE gui=underline cterm=underline
 hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
 hi ErrorMsg guifg=#ff0000 guibg=#000000 gui=reverse cterm=reverse
 hi ModeMsg guifg=#262626 guibg=#ffd700 gui=NONE cterm=NONE
 hi WarningMsg guifg=#ff8787 guibg=NONE gui=NONE cterm=NONE
 hi MoreMsg guifg=#00875f guibg=NONE gui=NONE cterm=NONE
 hi Question guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
-hi Todo guifg=#ff0000 guibg=#ffff00 gui=NONE cterm=NONE
 hi MatchParen guifg=#000000 guibg=#ffd700 gui=NONE cterm=NONE
 hi Search guifg=#000000 guibg=#d7875f gui=NONE cterm=NONE
 hi IncSearch guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
+hi Todo guifg=#ff0000 guibg=#ffff00 gui=NONE cterm=NONE
 hi WildMenu guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
+hi Underlined guifg=#5f87d7 guibg=NONE gui=underline cterm=underline
 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
@@ -128,18 +128,18 @@ if s:t_Co >= 256
   hi SignColumn ctermfg=NONE ctermbg=235 cterm=NONE
   hi VisualNOS ctermfg=186 ctermbg=64 cterm=NONE
   hi LineNr ctermfg=241 ctermbg=NONE cterm=NONE
-  hi Underlined ctermfg=68 ctermbg=NONE cterm=underline
   hi Error ctermfg=196 ctermbg=231 cterm=reverse
   hi ErrorMsg ctermfg=196 ctermbg=16 cterm=reverse
   hi ModeMsg ctermfg=235 ctermbg=220 cterm=NONE
   hi WarningMsg ctermfg=210 ctermbg=NONE cterm=NONE
   hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
   hi Question ctermfg=220 ctermbg=NONE cterm=NONE
-  hi Todo ctermfg=196 ctermbg=226 cterm=NONE
   hi MatchParen ctermfg=16 ctermbg=220 cterm=NONE
   hi Search ctermfg=16 ctermbg=173 cterm=NONE
   hi IncSearch ctermfg=16 ctermbg=46 cterm=NONE
+  hi Todo ctermfg=196 ctermbg=226 cterm=NONE
   hi WildMenu ctermfg=235 ctermbg=186 cterm=NONE
+  hi Underlined ctermfg=68 ctermbg=NONE cterm=underline
   hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
   hi SpellCap ctermfg=226 ctermbg=NONE cterm=underline
   hi SpellLocal ctermfg=217 ctermbg=NONE cterm=underline
@@ -169,12 +169,12 @@ if s:t_Co >= 256
 endif
 
 if s:t_Co >= 16
-  hi Normal ctermfg=white ctermbg=black cterm=NONE
-  hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
-  hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
-  hi StatusLineNC ctermfg=darkgrey ctermbg=grey cterm=NONE
-  hi StatusLineTerm ctermfg=black ctermbg=grey cterm=NONE
-  hi StatusLineTermNC ctermfg=darkgrey ctermbg=grey cterm=NONE
+  hi Normal ctermfg=grey ctermbg=black cterm=NONE
+  hi EndOfBuffer ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi StatusLine ctermfg=white ctermbg=black cterm=bold,reverse
+  hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
+  hi StatusLineTerm ctermfg=white ctermbg=black cterm=bold,reverse
+  hi StatusLineTermNC ctermfg=black ctermbg=grey cterm=NONE
   hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
   hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
   hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
@@ -198,38 +198,38 @@ if s:t_Co >= 16
   hi SignColumn ctermfg=NONE ctermbg=black cterm=NONE
   hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=NONE
   hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
-  hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
   hi Error ctermfg=darkred ctermbg=white cterm=reverse
   hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
   hi ModeMsg ctermfg=black ctermbg=yellow cterm=NONE
   hi WarningMsg ctermfg=cyan ctermbg=NONE cterm=NONE
   hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
   hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
-  hi Todo ctermfg=darkred ctermbg=darkyellow cterm=NONE
   hi MatchParen ctermfg=black ctermbg=yellow cterm=NONE
   hi Search ctermfg=black ctermbg=darkmagenta cterm=NONE
   hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
+  hi Todo ctermfg=black ctermbg=yellow cterm=NONE
   hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
   hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
   hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
   hi SpellLocal ctermfg=red ctermbg=NONE cterm=underline
   hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
-  hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
-  hi String ctermfg=cyan ctermbg=NONE cterm=NONE
-  hi Identifier ctermfg=darkred ctermbg=NONE cterm=NONE
+  hi Statement ctermfg=blue ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=red ctermbg=NONE cterm=bold
+  hi Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
+  hi Operator ctermfg=red ctermbg=NONE cterm=NONE
+  hi PreProc ctermfg=red ctermbg=NONE cterm=NONE
+  hi Structure ctermfg=green ctermbg=NONE cterm=NONE
   hi Function ctermfg=yellow ctermbg=NONE cterm=NONE
+  hi Type ctermfg=blue ctermbg=NONE cterm=bold
+  hi Define ctermfg=yellow ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkyellow ctermbg=NONE cterm=NONE
+  hi String ctermfg=darkcyan ctermbg=NONE cterm=NONE
   hi Special ctermfg=darkyellow 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=bold
-  hi Operator ctermfg=darkmagenta 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=bold
+  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=yellow ctermbg=NONE cterm=bold
+  hi Title ctermfg=darkyellow 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
@@ -274,27 +274,28 @@ if s:t_Co >= 8
   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 Todo ctermfg=black ctermbg=yellow cterm=NONE
   hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
+  hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
   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 Statement ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Identifier ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Comment ctermfg=darkgray ctermbg=NONE cterm=bold
+  hi Operator ctermfg=darkred ctermbg=NONE cterm=bold
+  hi PreProc ctermfg=darkred ctermbg=NONE cterm=bold
+  hi Structure ctermfg=darkgreen ctermbg=NONE cterm=bold
+  hi Function ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Type ctermfg=darkblue ctermbg=NONE cterm=bold
+  hi Define ctermfg=darkyellow ctermbg=NONE cterm=bold
+  hi Constant ctermfg=darkyellow ctermbg=NONE cterm=NONE
   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
@@ -376,29 +377,45 @@ if s:t_Co >= 0
 endif
 
 " Background: dark
-" Color: foreground  #FFFFFF        231            white
-" Color: background  #262626        235            black
-" Color: color00     #000000        16             black
-" Color: color08     #333333        236            darkgrey
-" Color: color01     #FF0000        196            darkred
-" Color: color09     #FFAFAF        217            red
-" Color: color02     #5F8700        64             darkgreen
-" Color: color10     #00875F        29             green
-" Color: color03     #ffff00        226            darkyellow
-" Color: color11     #FFD700        220            yellow
-" Color: color04     #87d7FF        117            darkblue
-" Color: color12     #5F87D7        68             blue
-" Color: color05     #d7d787        186            darkmagenta
-" Color: color13     #AFAF87        144            magenta
-" Color: color06     #FFD7AF        223            darkcyan
-" Color: color14     #FF8787        210            cyan
-" Color: color07     #666666        241            grey
-" Color: color15     #FFFFFF        231            white
-" Color: color16     #D7875F        173            darkmagenta
-" Color: color17     #00FF00        46             darkgreen
-" Color: Pmenu       #4A4A4A        239            darkgrey
-" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
-" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
+" Color: x_black       #000000           16                black
+" Color: x_darkred     #cd0000           160               darkred
+" Color: x_darkgreen   #00cd00           40                darkgreen
+" Color: x_darkyellow  #cdcd00           184               darkyellow
+" Color: x_darkblue    #0000ee           21                darkblue
+" Color: x_darkmagenta #cd00cd           164               darkmagenta
+" Color: x_darkcyan    #00cdcd           44                darkcyan
+" Color: x_gray        #e5e5e5           254               gray
+" Color: x_darkgray    #7f7f7f           244               darkgray
+" Color: x_red         #ff0000           196               red
+" Color: x_green       #00ff00           46                green
+" Color: x_yellow      #ffff00           226               yellow
+" Color: x_blue        #5c5cff           63                blue
+" Color: x_magenta     #ff00ff           201               magenta
+" Color: x_cyan        #00ffff           51                cyan
+" Color: x_white       #ffffff           231               white
+" Color: foreground    #FFFFFF           231               white
+" Color: background    #262626           235               black
+" Color: color00       #000000           16                black
+" Color: color08       #333333           236               darkgrey
+" Color: color01       #FF0000           196               darkred
+" Color: color09       #FFAFAF           217               red
+" Color: color02       #5F8700           64                darkgreen
+" Color: color10       #00875F           29                green
+" Color: color03       #ffff00           226               darkyellow
+" Color: color11       #FFD700           220               yellow
+" Color: color04       #87d7FF           117               darkblue
+" Color: color12       #5F87D7           68                blue
+" Color: color05       #d7d787           186               darkmagenta
+" Color: color13       #AFAF87           144               magenta
+" Color: color06       #FFD7AF           223               darkcyan
+" Color: color14       #FF8787           210               cyan
+" Color: color07       #666666           241               grey
+" Color: color15       #FFFFFF           231               white
+" Color: color16       #D7875F           173               darkmagenta
+" Color: color17       #00FF00           46                darkgreen
+" Color: Pmenu         #4A4A4A           239               darkgrey
+" Term colors: x_black    x_darkred x_darkgreen x_darkyellow x_darkblue x_darkmagenta x_darkcyan x_gray
+" Term colors: x_darkgray x_red     x_green     x_yellow     x_blue     x_magenta     x_cyan     x_white
 " Color: bgDiffA     #5F875F        65             darkgreen
 " Color: bgDiffC     #5F87AF        67             blue
 " Color: bgDiffD     #AF5FAF        133            magenta
--- a/runtime/colors/tools/check_colors.vim
+++ b/runtime/colors/tools/check_colors.vim
@@ -6,10 +6,23 @@ vim9script
 def Test_check_colors()
     const savedview = winsaveview()
     cursor(1, 1)
-    var err = {}
+
+    # err is
+    # {
+    #    colors_name: "message",
+    #    init: "message",
+    #    background: "message",
+    #    ....etc
+    #    highlight: {
+    #       'Normal': "Missing ...",
+    #       'Conceal': "Missing ..."
+    #       ....etc
+    #    }
+    # }
+    var err: dict<any> = {}
 
     # 1) Check g:colors_name is existing
-    if !search('\<\%(g:\)\?colors_name\>', 'cnW')
+    if search('\<\%(g:\)\?colors_name\>', 'cnW') == 0
         err['colors_name'] = 'g:colors_name not set'
     else
         err['colors_name'] = 'OK'
@@ -180,11 +193,12 @@ def Test_check_colors()
     Result(err)
 enddef
 
-def Result(err: any)
+
+def Result(err: dict<any>)
     var do_groups: bool = v:false
     echohl Title | echomsg "---------------" | echohl Normal
     for key in sort(keys(err))
-        if key is 'highlight'
+        if key == 'highlight'
             do_groups = !empty(err[key])
             continue
         else
--- 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: 2022-07-26 15:50:15
+" Last Updated: Mon Aug  8 15:21:22 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=dark
 hi clear
 let g:colors_name = 'torte'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
--- 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: 2022-07-26 15:50:16
+" Last Updated: Mon Aug  8 15:21:23 2022
 
 " Generated by Colortemplate v2.2.0
 
@@ -13,7 +13,7 @@ set background=light
 hi clear
 let g:colors_name = 'zellner'
 
-let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co >= 0 ? &t_Co : -1
+let s:t_Co = exists('&t_Co') ? (&t_Co ?? 0) : -1
 
 if (has('termguicolors') && &termguicolors) || has('gui_running')
   let g:terminal_ansi_colors = ['#ffffff', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#a9a9a9', '#ff0000', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#000000']
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -4399,8 +4399,11 @@ has({feature} [, {check}])
 
 has_key({dict}, {key})					*has_key()*
 		The result is a Number, which is TRUE if |Dictionary| {dict}
-		has an entry with key {key}.  FALSE otherwise. The {key}
-		argument is a string.
+		has an entry with key {key}.  FALSE otherwise.
+		The {key} argument is a string.  In |Vim9| script a number is
+		also accepted (and converted to a string) but no other types.
+		In legacy script the usual automatic conversion to string is
+		done.
 
 		Can also be used as a |method|: >
 			mydict->has_key(key)
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -799,7 +799,8 @@ A jump table for the options with a shor
 	When on, Vim will change the current working directory whenever you
 	open a file, switch buffers, delete a buffer or open/close a window.
 	It will change to the directory containing the file which was opened
-	or selected.
+	or selected.  When a buffer has no name it also has no directory, thus
+	the current directory won't change when navigating to it.
 	Note: When this option is on some plugins may not work.
 
 			*'autoshelldir'* *'asd'* *'noautoshelldir'* *'noasd'*
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -4905,6 +4905,7 @@ Before the color scheme will be loaded a
 autocommand event is triggered.  After the color scheme has been loaded the
 |ColorScheme| autocommand event is triggered.
 
+						*colorscheme-override*
 If a color scheme is almost right, you can add modifications on top of it by
 using the |ColorScheme| autocommand.  For example, to remove the background
 color (can make it transparent in some terminals): >
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6229,6 +6229,7 @@ collate-variable	eval.txt	/*collate-vari
 color-schemes	syntax.txt	/*color-schemes*
 color-xterm	syntax.txt	/*color-xterm*
 coloring	syntax.txt	/*coloring*
+colorscheme-override	syntax.txt	/*colorscheme-override*
 colortest.vim	syntax.txt	/*colortest.vim*
 command-attributes	map.txt	/*command-attributes*
 command-block	vim9.txt	/*command-block*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -41,8 +41,6 @@ browser use: https://github.com/vim/vim/
 Text props: Add "padding" argument - only for when using "text" and {col} is
 zero.  Use tp_len field and n_attr_skip. #10906
 
-Graduate FEAT_TEXTOBJ ?
-
 Further Vim9 improvements, possibly after launch:
 - Use Vim9 for more runtime files.
 - Check performance with callgrind and kcachegrind.
--- a/runtime/ftplugin/j.vim
+++ b/runtime/ftplugin/j.vim
@@ -2,7 +2,7 @@
 " Language:	J
 " Maintainer:	David Bürgin <dbuergin@gluet.ch>
 " URL:		https://gitlab.com/glts/vim-j
-" Last Change:	2015-10-27
+" Last Change:	2022-08-06
 
 if exists('b:did_ftplugin')
   finish
@@ -29,41 +29,43 @@ let b:undo_ftplugin = 'setlocal suffixes
 
 " Section movement with ]] ][ [[ []. The start/end patterns below are amended
 " inside the function in order to avoid matching on the current cursor line.
-let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*'
-let s:sectionend = '\s*)\s*'
+if !exists('no_plugin_maps') && !exists('no_j_maps')
+  let s:sectionstart = '\%(\s*Note\|.\{-}\<\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\)\>.*'
+  let s:sectionend = '\s*)\s*'
 
-function! s:SearchSection(end, backwards, visualmode) abort
-  if a:visualmode !=# ''
-    normal! gv
-  endif
-  let l:flags = a:backwards ? 'bsW' : 'sW'
-  if a:end
-    call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
-  else
-    call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
-  endif
-endfunction
+  function! s:SearchSection(end, backwards, visualmode) abort
+    if a:visualmode !=# ''
+      normal! gv
+    endif
+    let l:flags = a:backwards ? 'bsW' : 'sW'
+    if a:end
+      call search('^' . s:sectionend . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
+    else
+      call search('^' . s:sectionstart . (a:backwards ? '\n\_.\{-}\%#' : '$'), l:flags)
+    endif
+  endfunction
 
-noremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
-xnoremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
-sunmap <buffer> ]]
-noremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
-xnoremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
-sunmap <buffer> ][
-noremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
-xnoremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
-sunmap <buffer> [[
-noremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
-xnoremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
-sunmap <buffer> []
+  noremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, '')<CR>
+  xnoremap <buffer> <silent> ]] :<C-U>call <SID>SearchSection(0, 0, visualmode())<CR>
+  sunmap <buffer> ]]
+  noremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, '')<CR>
+  xnoremap <buffer> <silent> ][ :<C-U>call <SID>SearchSection(1, 0, visualmode())<CR>
+  sunmap <buffer> ][
+  noremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, '')<CR>
+  xnoremap <buffer> <silent> [[ :<C-U>call <SID>SearchSection(0, 1, visualmode())<CR>
+  sunmap <buffer> [[
+  noremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, '')<CR>
+  xnoremap <buffer> <silent> [] :<C-U>call <SID>SearchSection(1, 1, visualmode())<CR>
+  sunmap <buffer> []
 
-let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
-                   \ . ' | silent! execute "unmap <buffer> ]["'
-                   \ . ' | silent! execute "unmap <buffer> [["'
-                   \ . ' | silent! execute "unmap <buffer> []"'
+  let b:undo_ftplugin .= ' | silent! execute "unmap <buffer> ]]"'
+                     \ . ' | silent! execute "unmap <buffer> ]["'
+                     \ . ' | silent! execute "unmap <buffer> [["'
+                     \ . ' | silent! execute "unmap <buffer> []"'
+endif
 
-" Browse dialog filter on Windows (see ":help browsefilter")
-if has('gui_win32') && !exists('b:browsefilter')
+" Browse dialog filter on Windows and GTK (see ":help browsefilter")
+if (has('gui_win32') || has('gui_gtk')) && !exists('b:browsefilter')
   let b:browsefilter = "J Script Files (*.ijs)\t*.ijs\n"
                    \ . "All Files (*.*)\t*.*\n"
   let b:undo_ftplugin .= ' | unlet! b:browsefilter'
--- a/runtime/indent/testdir/html.in
+++ b/runtime/indent/testdir/html.in
@@ -1,7 +1,7 @@
-" vim: set ft=html sw=4 ts=8 :
+% vim: set ft=html sw=4 ts=8 :
 
 
-" START_INDENT
+% START_INDENT
 <html>
     <body>
 <style>
@@ -50,7 +50,7 @@ text
     </body>
 </html>
 
-" END_INDENT
+% END_INDENT
 
 % START_INDENT
 % INDENT_EXE let g:html_indent_style1 = "inc"
--- a/runtime/indent/testdir/html.ok
+++ b/runtime/indent/testdir/html.ok
@@ -1,7 +1,7 @@
-" vim: set ft=html sw=4 ts=8 :
+% vim: set ft=html sw=4 ts=8 :
 
 
-" START_INDENT
+% START_INDENT
 <html>
     <body>
 	<style>
@@ -50,7 +50,7 @@ div#d2 { color: green; }
     </body>
 </html>
 
-" END_INDENT
+% END_INDENT
 
 % START_INDENT
 % INDENT_EXE let g:html_indent_style1 = "inc"
--- a/runtime/indent/testdir/python.in
+++ b/runtime/indent/testdir/python.in
@@ -1,6 +1,14 @@
-" vim: set ft=python sw=4 et:
+# vim: set ft=python sw=4 et:
+
+# START_INDENT
+# INDENT_EXE syntax match pythonFoldMarkers /{{{\d*/ contained containedin=pythonComment
+# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx {{{1
 
-" START_INDENT
+if True:
+pass
+# END_INDENT
+
+# START_INDENT
 open_paren_not_at_EOL(100,
 (200,
 300),
@@ -65,4 +73,4 @@ 400)
 open_paren_at_EOL(
 100, 200, 300, 400)
 
-" END_INDENT
+# END_INDENT
--- a/runtime/indent/testdir/python.ok
+++ b/runtime/indent/testdir/python.ok
@@ -1,6 +1,14 @@
-" vim: set ft=python sw=4 et:
+# vim: set ft=python sw=4 et:
+
+# START_INDENT
+# INDENT_EXE syntax match pythonFoldMarkers /{{{\d*/ contained containedin=pythonComment
+# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx {{{1
 
-" START_INDENT
+if True:
+    pass
+# END_INDENT
+
+# START_INDENT
 open_paren_not_at_EOL(100,
                       (200,
                        300),
@@ -65,4 +73,4 @@ open_paren_not_at_EOL(100,
 open_paren_at_EOL(
         100, 200, 300, 400)
 
-" END_INDENT
+# END_INDENT
deleted file mode 100644
--- a/runtime/syntax/typescriptcommon.vim
+++ /dev/null
@@ -1,2099 +0,0 @@
-" Vim syntax file
-" Language:     TypeScript and TypeScriptReact
-" Maintainer:   Bram Moolenaar, Herrington Darkholme
-" Last Change:	2021 Sep 22
-" Based On:     Herrington Darkholme's yats.vim
-" Changes:      See https:github.com/HerringtonDarkholme/yats.vim
-" Credits:      See yats.vim on github
-
-if &cpo =~ 'C'
-  let s:cpo_save = &cpo
-  set cpo&vim
-endif
-
-
-" NOTE: this results in accurate highlighting, but can be slow.
-syntax sync fromstart
-
-"Dollar sign is permitted anywhere in an identifier
-setlocal iskeyword-=$
-if main_syntax == 'typescript' || main_syntax == 'typescriptreact'
-  setlocal iskeyword+=$
-  " syntax cluster htmlJavaScript                 contains=TOP
-endif
-" For private field added from TypeScript 3.8
-setlocal iskeyword+=#
-
-" lowest priority on least used feature
-syntax match   typescriptLabel                /[a-zA-Z_$]\k*:/he=e-1 contains=typescriptReserved nextgroup=@typescriptStatement skipwhite skipempty
-
-" other keywords like return,case,yield uses containedin
-syntax region  typescriptBlock                 matchgroup=typescriptBraces start=/{/ end=/}/ contains=@typescriptStatement,@typescriptComments fold
-syntax cluster afterIdentifier contains=
-  \ typescriptDotNotation,
-  \ typescriptFuncCallArg,
-  \ typescriptTemplate,
-  \ typescriptIndexExpr,
-  \ @typescriptSymbols,
-  \ typescriptTypeArguments
-
-syntax match   typescriptIdentifierName        /\<\K\k*/
-  \ nextgroup=@afterIdentifier
-  \ transparent
-  \ contains=@_semantic
-  \ skipnl skipwhite
-
-syntax match   typescriptProp contained /\K\k*!\?/
-  \ transparent
-  \ contains=@props
-  \ nextgroup=@afterIdentifier
-  \ skipwhite skipempty
-
-syntax region  typescriptIndexExpr      contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
-
-syntax match   typescriptDotNotation           /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
-syntax match   typescriptDotStyleNotation      /\.style\./ nextgroup=typescriptDOMStyle transparent
-" syntax match   typescriptFuncCall              contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
-syntax region  typescriptParenExp              matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty
-syntax region  typescriptFuncCallArg           contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptValue,@typescriptComments nextgroup=@typescriptSymbols,typescriptDotNotation skipwhite skipempty skipnl
-syntax region  typescriptEventFuncCallArg      contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptEventExpression
-syntax region  typescriptEventString           contained start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/ contains=typescriptASCII,@events
-
-syntax region  typescriptDestructureString
-  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/
-  \ contains=typescriptASCII
-  \ nextgroup=typescriptDestructureAs
-  \ contained skipwhite skipempty
-
-syntax cluster typescriptVariableDeclarations
-  \ contains=typescriptVariableDeclaration,@typescriptDestructures
-
-syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/
-  \ nextgroup=typescriptTypeAnnotation,typescriptAssign
-  \ contained skipwhite skipempty
-
-syntax cluster typescriptDestructureVariables contains=
-  \ typescriptRestOrSpread,
-  \ typescriptDestructureComma,
-  \ typescriptDestructureLabel,
-  \ typescriptDestructureVariable,
-  \ @typescriptDestructures
-
-syntax match typescriptDestructureVariable    /[A-Za-z_$]\k*/ contained
-  \ nextgroup=typescriptDefaultParam
-  \ contained skipwhite skipempty
-
-syntax match typescriptDestructureLabel       /[A-Za-z_$]\k*\ze\_s*:/
-  \ nextgroup=typescriptDestructureAs
-  \ contained skipwhite skipempty
-
-syntax match typescriptDestructureAs /:/
-  \ nextgroup=typescriptDestructureVariable,@typescriptDestructures
-  \ contained skipwhite skipempty
-
-syntax match typescriptDestructureComma /,/ contained
-
-syntax cluster typescriptDestructures contains=
-  \ typescriptArrayDestructure,
-  \ typescriptObjectDestructure
-
-syntax region typescriptArrayDestructure matchgroup=typescriptBraces
-  \ start=/\[/ end=/]/
-  \ contains=@typescriptDestructureVariables,@typescriptComments
-  \ nextgroup=typescriptTypeAnnotation,typescriptAssign
-  \ transparent contained skipwhite skipempty fold
-
-syntax region typescriptObjectDestructure matchgroup=typescriptBraces
-  \ start=/{/ end=/}/
-  \ contains=typescriptDestructureString,@typescriptDestructureVariables,@typescriptComments
-  \ nextgroup=typescriptTypeAnnotation,typescriptAssign
-  \ transparent contained skipwhite skipempty fold
-
-"Syntax in the JavaScript code
-
-" String
-syntax match   typescriptASCII                 contained /\\\d\d\d/
-
-syntax region  typescriptTemplateSubstitution matchgroup=typescriptTemplateSB
-  \ start=/\${/ end=/}/
-  \ contains=@typescriptValue
-  \ contained
-
-
-syntax region  typescriptString 
-  \ start=+\z(["']\)+  skip=+\\\%(\z1\|$\)+  end=+\z1+ end=+$+
-  \ contains=typescriptSpecial,@Spell
-  \ extend
-
-syntax match   typescriptSpecial            contained "\v\\%(x\x\x|u%(\x{4}|\{\x{1,6}})|c\u|.)"
-
-" From vim runtime
-" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48>
-syntax region  typescriptRegexpString          start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gimuy]\{0,5\}\s*$+ end=+/[gimuy]\{0,5\}\s*[;.,)\]}:]+me=e-1 nextgroup=typescriptDotNotation oneline
-
-syntax region  typescriptTemplate
-  \ start=/`/  skip=/\\\\\|\\`\|\n/  end=/`\|$/
-  \ contains=typescriptTemplateSubstitution,typescriptSpecial,@Spell
-  \ nextgroup=@typescriptSymbols
-  \ skipwhite skipempty
-
-"Array
-syntax region  typescriptArray matchgroup=typescriptBraces
-  \ start=/\[/ end=/]/
-  \ contains=@typescriptValue,@typescriptComments
-  \ nextgroup=@typescriptSymbols,typescriptDotNotation
-  \ skipwhite skipempty fold
-
-" Number
-syntax match typescriptNumber /\<0[bB][01][01_]*\>/        nextgroup=@typescriptSymbols skipwhite skipempty
-syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/       nextgroup=@typescriptSymbols skipwhite skipempty
-syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
-syntax match typescriptNumber /\<\%(\d[0-9_]*\%(\.\d[0-9_]*\)\=\|\.\d[0-9_]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/
-  \ nextgroup=typescriptSymbols skipwhite skipempty
-
-syntax region  typescriptObjectLiteral         matchgroup=typescriptBraces
-  \ start=/{/ end=/}/
-  \ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName,typescriptObjectAsyncKeyword
-  \ fold contained
-
-syntax keyword typescriptObjectAsyncKeyword async contained
-
-syntax match   typescriptObjectLabel  contained /\k\+\_s*/
-  \ nextgroup=typescriptObjectColon,@typescriptCallImpl
-  \ skipwhite skipempty
-
-syntax region  typescriptStringProperty   contained
-  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1/
-  \ nextgroup=typescriptObjectColon,@typescriptCallImpl
-  \ skipwhite skipempty
-
-" syntax region  typescriptPropertyName    contained start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1(/me=e-1 nextgroup=@typescriptCallSignature skipwhite skipempty oneline
-syntax region  typescriptComputedPropertyName  contained matchgroup=typescriptBraces
-  \ start=/\[/rs=s+1 end=/]/
-  \ contains=@typescriptValue
-  \ nextgroup=typescriptObjectColon,@typescriptCallImpl
-  \ skipwhite skipempty
-
-" syntax region  typescriptComputedPropertyName  contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*:/he=e-1 contains=@typescriptValue nextgroup=@typescriptValue skipwhite skipempty
-" syntax region  typescriptComputedPropertyName  contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*(/me=e-1 contains=@typescriptValue nextgroup=@typescriptCallSignature skipwhite skipempty
-" Value for object, statement for label statement
-syntax match typescriptRestOrSpread /\.\.\./ contained
-syntax match typescriptObjectSpread /\.\.\./ contained containedin=typescriptObjectLiteral,typescriptArray nextgroup=@typescriptValue
-
-syntax match typescriptObjectColon contained /:/ nextgroup=@typescriptValue skipwhite skipempty
-
-" + - ^ ~
-syntax match typescriptUnaryOp /[+\-~!]/
- \ nextgroup=@typescriptValue
- \ skipwhite
-
-syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?[.?]\@!/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
-
-syntax match   typescriptAssign  /=/ nextgroup=@typescriptValue
-  \ skipwhite skipempty
-
-" 2: ==, ===
-syntax match   typescriptBinaryOp contained /===\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 6: >>>=, >>>, >>=, >>, >=, >
-syntax match   typescriptBinaryOp contained />\(>>=\|>>\|>=\|>\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 4: <<=, <<, <=, <
-syntax match   typescriptBinaryOp contained /<\(<=\|<\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 3: ||, |=, |, ||=
-syntax match   typescriptBinaryOp contained /||\?=\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 4: &&, &=, &, &&=
-syntax match   typescriptBinaryOp contained /&&\?=\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: ??, ??=
-syntax match   typescriptBinaryOp contained /??=\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: *=, *
-syntax match   typescriptBinaryOp contained /\*=\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: %=, %
-syntax match   typescriptBinaryOp contained /%=\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: /=, /
-syntax match   typescriptBinaryOp contained +/\(=\|[^\*/]\@=\)+ nextgroup=@typescriptValue skipwhite skipempty
-syntax match   typescriptBinaryOp contained /!==\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 2: !=, !==
-syntax match   typescriptBinaryOp contained /+\(+\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 3: +, ++, +=
-syntax match   typescriptBinaryOp contained /-\(-\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
-" 3: -, --, -=
-
-" exponentiation operator
-" 2: **, **=
-syntax match typescriptBinaryOp contained /\*\*=\?/ nextgroup=@typescriptValue
-
-syntax cluster typescriptSymbols               contains=typescriptBinaryOp,typescriptKeywordOp,typescriptTernary,typescriptAssign,typescriptCastKeyword
-
-" runtime syntax/basic/reserved.vim
-"Import
-syntax keyword typescriptImport                from as
-syntax keyword typescriptImport                import
-  \ nextgroup=typescriptImportType
-  \ skipwhite
-syntax keyword typescriptImportType            type
-  \ contained
-syntax keyword typescriptExport                export
-  \ nextgroup=typescriptExportType
-  \ skipwhite
-syntax match typescriptExportType              /\<type\s*{\@=/
-  \ contained skipwhite skipempty skipnl
-syntax keyword typescriptModule                namespace module
-
-"this
-
-"JavaScript Prototype
-syntax keyword typescriptPrototype             prototype
-  \ nextgroup=@afterIdentifier
-
-syntax keyword typescriptCastKeyword           as
-  \ nextgroup=@typescriptType
-  \ skipwhite
-
-"Program Keywords
-syntax keyword typescriptIdentifier            arguments this super
-  \ nextgroup=@afterIdentifier
-
-syntax keyword typescriptVariable              let var
-  \ nextgroup=@typescriptVariableDeclarations
-  \ skipwhite skipempty
-
-syntax keyword typescriptVariable const
-  \ nextgroup=typescriptEnum,@typescriptVariableDeclarations
-  \ skipwhite skipempty
-
-syntax region typescriptEnum matchgroup=typescriptEnumKeyword start=/enum / end=/\ze{/
-  \ nextgroup=typescriptBlock
-  \ skipwhite
-
-syntax keyword typescriptKeywordOp
-  \ contained in instanceof nextgroup=@typescriptValue
-syntax keyword typescriptOperator              delete new typeof void
-  \ nextgroup=@typescriptValue
-  \ skipwhite skipempty
-
-syntax keyword typescriptForOperator           contained in of
-syntax keyword typescriptBoolean               true false nextgroup=@typescriptSymbols skipwhite skipempty
-syntax keyword typescriptNull                  null undefined nextgroup=@typescriptSymbols skipwhite skipempty
-syntax keyword typescriptMessage               alert confirm prompt status
-  \ nextgroup=typescriptDotNotation,typescriptFuncCallArg
-syntax keyword typescriptGlobal                self top parent
-  \ nextgroup=@afterIdentifier
-
-"Statement Keywords
-syntax keyword typescriptConditional           if else switch
-  \ nextgroup=typescriptConditionalParen
-  \ skipwhite skipempty skipnl
-syntax keyword typescriptConditionalElse       else
-syntax keyword typescriptRepeat                do while for nextgroup=typescriptLoopParen skipwhite skipempty
-syntax keyword typescriptRepeat                for nextgroup=typescriptLoopParen,typescriptAsyncFor skipwhite skipempty
-syntax keyword typescriptBranch                break continue containedin=typescriptBlock
-syntax keyword typescriptCase                  case nextgroup=@typescriptPrimitive skipwhite containedin=typescriptBlock
-syntax keyword typescriptDefault               default containedin=typescriptBlock nextgroup=@typescriptValue,typescriptClassKeyword,typescriptInterfaceKeyword skipwhite oneline
-syntax keyword typescriptStatementKeyword      with
-syntax keyword typescriptStatementKeyword      yield skipwhite nextgroup=@typescriptValue containedin=typescriptBlock
-syntax keyword typescriptStatementKeyword      return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock
-
-syntax keyword typescriptTry                   try
-syntax keyword typescriptExceptions            catch throw finally
-syntax keyword typescriptDebugger              debugger
-
-syntax keyword typescriptAsyncFor              await nextgroup=typescriptLoopParen skipwhite skipempty contained
-
-syntax region  typescriptLoopParen             contained matchgroup=typescriptParens
-  \ start=/(/ end=/)/
-  \ contains=typescriptVariable,typescriptForOperator,typescriptEndColons,@typescriptValue,@typescriptComments
-  \ nextgroup=typescriptBlock
-  \ skipwhite skipempty
-syntax region  typescriptConditionalParen             contained matchgroup=typescriptParens
-  \ start=/(/ end=/)/
-  \ contains=@typescriptValue,@typescriptComments
-  \ nextgroup=typescriptBlock
-  \ skipwhite skipempty
-syntax match   typescriptEndColons             /[;,]/ contained
-
-syntax keyword typescriptAmbientDeclaration declare nextgroup=@typescriptAmbients
-  \ skipwhite skipempty
-
-syntax cluster typescriptAmbients contains=
-  \ typescriptVariable,
-  \ typescriptFuncKeyword,
-  \ typescriptClassKeyword,
-  \ typescriptAbstract,
-  \ typescriptEnumKeyword,typescriptEnum,
-  \ typescriptModule
-
-"Syntax coloring for Node.js shebang line
-syntax match   shellbang "^#!.*node\>"
-syntax match   shellbang "^#!.*iojs\>"
-
-
-"JavaScript comments
-syntax keyword typescriptCommentTodo TODO FIXME XXX TBD
-syntax match typescriptMagicComment "@ts-\%(ignore\|expect-error\)\>"
-syntax match   typescriptLineComment "//.*"
-  \ contains=@Spell,typescriptCommentTodo,typescriptRef,typescriptMagicComment
-syntax region  typescriptComment
-  \ start="/\*"  end="\*/"
-  \ contains=@Spell,typescriptCommentTodo extend
-syntax cluster typescriptComments
-  \ contains=typescriptDocComment,typescriptComment,typescriptLineComment
-
-syntax match   typescriptRef  +///\s*<reference\s\+.*\/>$+
-  \ contains=typescriptString
-syntax match   typescriptRef  +///\s*<amd-dependency\s\+.*\/>$+
-  \ contains=typescriptString
-syntax match   typescriptRef  +///\s*<amd-module\s\+.*\/>$+
-  \ contains=typescriptString
-
-"JSDoc
-syntax case ignore
-
-syntax region  typescriptDocComment            matchgroup=typescriptComment
-  \ start="/\*\*"  end="\*/"
-  \ contains=typescriptDocNotation,typescriptCommentTodo,@Spell
-  \ fold keepend
-syntax match   typescriptDocNotation           contained /@/ nextgroup=typescriptDocTags
-
-syntax keyword typescriptDocTags               contained constant constructor constructs function ignore inner private public readonly static
-syntax keyword typescriptDocTags               contained const dict expose inheritDoc interface nosideeffects override protected struct internal
-syntax keyword typescriptDocTags               contained example global
-syntax keyword typescriptDocTags               contained alpha beta defaultValue eventProperty experimental label
-syntax keyword typescriptDocTags               contained packageDocumentation privateRemarks remarks sealed typeParam
-
-" syntax keyword typescriptDocTags               contained ngdoc nextgroup=typescriptDocNGDirective
-syntax keyword typescriptDocTags               contained ngdoc scope priority animations
-syntax keyword typescriptDocTags               contained ngdoc restrict methodOf propertyOf eventOf eventType nextgroup=typescriptDocParam skipwhite
-syntax keyword typescriptDocNGDirective        contained overview service object function method property event directive filter inputType error
-
-syntax keyword typescriptDocTags               contained abstract virtual access augments
-
-syntax keyword typescriptDocTags               contained arguments callback lends memberOf name type kind link mixes mixin tutorial nextgroup=typescriptDocParam skipwhite
-syntax keyword typescriptDocTags               contained variation nextgroup=typescriptDocNumParam skipwhite
-
-syntax keyword typescriptDocTags               contained author class classdesc copyright default defaultvalue nextgroup=typescriptDocDesc skipwhite
-syntax keyword typescriptDocTags               contained deprecated description external host nextgroup=typescriptDocDesc skipwhite
-syntax keyword typescriptDocTags               contained file fileOverview overview namespace requires since version nextgroup=typescriptDocDesc skipwhite
-syntax keyword typescriptDocTags               contained summary todo license preserve nextgroup=typescriptDocDesc skipwhite
-
-syntax keyword typescriptDocTags               contained borrows exports nextgroup=typescriptDocA skipwhite
-syntax keyword typescriptDocTags               contained param arg argument property prop module nextgroup=typescriptDocNamedParamType,typescriptDocParamName skipwhite
-syntax keyword typescriptDocTags               contained define enum extends implements this typedef nextgroup=typescriptDocParamType skipwhite
-syntax keyword typescriptDocTags               contained return returns throws exception nextgroup=typescriptDocParamType,typescriptDocParamName skipwhite
-syntax keyword typescriptDocTags               contained see nextgroup=typescriptDocRef skipwhite
-
-syntax keyword typescriptDocTags               contained function func method nextgroup=typescriptDocName skipwhite
-syntax match   typescriptDocName               contained /\h\w*/
-
-syntax keyword typescriptDocTags               contained fires event nextgroup=typescriptDocEventRef skipwhite
-syntax match   typescriptDocEventRef           contained /\h\w*#\(\h\w*\:\)\?\h\w*/
-
-syntax match   typescriptDocNamedParamType     contained /{.\+}/ nextgroup=typescriptDocParamName skipwhite
-syntax match   typescriptDocParamName          contained /\[\?0-9a-zA-Z_\.]\+\]\?/ nextgroup=typescriptDocDesc skipwhite
-syntax match   typescriptDocParamType          contained /{.\+}/ nextgroup=typescriptDocDesc skipwhite
-syntax match   typescriptDocA                  contained /\%(#\|\w\|\.\|:\|\/\)\+/ nextgroup=typescriptDocAs skipwhite
-syntax match   typescriptDocAs                 contained /\s*as\s*/ nextgroup=typescriptDocB skipwhite
-syntax match   typescriptDocB                  contained /\%(#\|\w\|\.\|:\|\/\)\+/
-syntax match   typescriptDocParam              contained /\%(#\|\w\|\.\|:\|\/\|-\)\+/
-syntax match   typescriptDocNumParam           contained /\d\+/
-syntax match   typescriptDocRef                contained /\%(#\|\w\|\.\|:\|\/\)\+/
-syntax region  typescriptDocLinkTag            contained matchgroup=typescriptDocLinkTag start=/{/ end=/}/ contains=typescriptDocTags
-
-syntax cluster typescriptDocs                  contains=typescriptDocParamType,typescriptDocNamedParamType,typescriptDocParam
-
-if exists("main_syntax") && main_syntax == "typescript"
-  syntax sync clear
-  syntax sync ccomment typescriptComment minlines=200
-endif
-
-syntax case match
-
-" Types
-syntax match typescriptOptionalMark /?/ contained
-
-syntax cluster typescriptTypeParameterCluster contains=
-  \ typescriptTypeParameter,
-  \ typescriptGenericDefault
-
-syntax region typescriptTypeParameters matchgroup=typescriptTypeBrackets
-  \ start=/</ end=/>/
-  \ contains=@typescriptTypeParameterCluster
-  \ contained
-
-syntax match typescriptTypeParameter /\K\k*/
-  \ nextgroup=typescriptConstraint
-  \ contained skipwhite skipnl
-
-syntax keyword typescriptConstraint extends
-  \ nextgroup=@typescriptType
-  \ contained skipwhite skipnl
-
-syntax match typescriptGenericDefault /=/
-  \ nextgroup=@typescriptType
-  \ contained skipwhite
-
-"><
-" class A extend B<T> {} // ClassBlock
-" func<T>() // FuncCallArg
-syntax region typescriptTypeArguments matchgroup=typescriptTypeBrackets
-  \ start=/\></ end=/>/
-  \ contains=@typescriptType
-  \ nextgroup=typescriptFuncCallArg,@typescriptTypeOperator
-  \ contained skipwhite
-
-
-syntax cluster typescriptType contains=
-  \ @typescriptPrimaryType,
-  \ typescriptUnion,
-  \ @typescriptFunctionType,
-  \ typescriptConstructorType
-
-" array type: A[]
-" type indexing A['key']
-syntax region typescriptTypeBracket contained
-  \ start=/\[/ end=/\]/
-  \ contains=typescriptString,typescriptNumber
-  \ nextgroup=@typescriptTypeOperator
-  \ skipwhite skipempty
-
-syntax cluster typescriptPrimaryType contains=
-  \ typescriptParenthesizedType,
-  \ typescriptPredefinedType,
-  \ typescriptTypeReference,
-  \ typescriptObjectType,
-  \ typescriptTupleType,
-  \ typescriptTypeQuery,
-  \ typescriptStringLiteralType,
-  \ typescriptTemplateLiteralType,
-  \ typescriptReadonlyArrayKeyword,
-  \ typescriptAssertType
-
-syntax region  typescriptStringLiteralType contained
-  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/
-  \ nextgroup=typescriptUnion
-  \ skipwhite skipempty
-
-syntax region  typescriptTemplateLiteralType contained
-  \ start=/`/  skip=/\\\\\|\\`\|\n/  end=/`\|$/
-  \ contains=typescriptTemplateSubstitutionType
-  \ nextgroup=typescriptTypeOperator
-  \ skipwhite skipempty
-
-syntax region  typescriptTemplateSubstitutionType matchgroup=typescriptTemplateSB
-  \ start=/\${/ end=/}/
-  \ contains=@typescriptType
-  \ contained
-
-syntax region typescriptParenthesizedType matchgroup=typescriptParens
-  \ start=/(/ end=/)/
-  \ contains=@typescriptType
-  \ nextgroup=@typescriptTypeOperator
-  \ contained skipwhite skipempty fold
-
-syntax match typescriptTypeReference /\K\k*\(\.\K\k*\)*/
-  \ nextgroup=typescriptTypeArguments,@typescriptTypeOperator,typescriptUserDefinedType
-  \ skipwhite contained skipempty
-
-syntax keyword typescriptPredefinedType any number boolean string void never undefined null object unknown
-  \ nextgroup=@typescriptTypeOperator
-  \ contained skipwhite skipempty
-
-syntax match typescriptPredefinedType /unique symbol/
-  \ nextgroup=@typescriptTypeOperator
-  \ contained skipwhite skipempty
-
-syntax region typescriptObjectType matchgroup=typescriptBraces
-  \ start=/{/ end=/}/
-  \ contains=@typescriptTypeMember,typescriptEndColons,@typescriptComments,typescriptAccessibilityModifier,typescriptReadonlyModifier
-  \ nextgroup=@typescriptTypeOperator
-  \ contained skipwhite skipnl fold
-
-syntax cluster typescriptTypeMember contains=
-  \ @typescriptCallSignature,
-  \ typescriptConstructSignature,
-  \ typescriptIndexSignature,
-  \ @typescriptMembers
-
-syntax match typescriptTupleLable /\K\k*?\?:/
-    \ contained
-
-syntax region typescriptTupleType matchgroup=typescriptBraces
-  \ start=/\[/ end=/\]/
-  \ contains=@typescriptType,@typescriptComments,typescriptRestOrSpread,typescriptTupleLable
-  \ contained skipwhite
-
-syntax cluster typescriptTypeOperator
-  \ contains=typescriptUnion,typescriptTypeBracket,typescriptConstraint,typescriptConditionalType
-
-syntax match typescriptUnion /|\|&/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty
-
-syntax match typescriptConditionalType /?\|:/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty
-
-syntax cluster typescriptFunctionType contains=typescriptGenericFunc,typescriptFuncType
-syntax region typescriptGenericFunc matchgroup=typescriptTypeBrackets
-  \ start=/</ end=/>/
-  \ contains=typescriptTypeParameter
-  \ nextgroup=typescriptFuncType
-  \ containedin=typescriptFunctionType
-  \ contained skipwhite skipnl
-
-syntax region typescriptFuncType matchgroup=typescriptParens
-  \ start=/(/ end=/)\s*=>/me=e-2
-  \ contains=@typescriptParameterList
-  \ nextgroup=typescriptFuncTypeArrow
-  \ contained skipwhite skipnl oneline
-
-syntax match typescriptFuncTypeArrow /=>/
-  \ nextgroup=@typescriptType
-  \ containedin=typescriptFuncType
-  \ contained skipwhite skipnl
-
-
-syntax keyword typescriptConstructorType new
-  \ nextgroup=@typescriptFunctionType
-  \ contained skipwhite skipnl
-
-syntax keyword typescriptUserDefinedType is
-  \ contained nextgroup=@typescriptType skipwhite skipempty
-
-syntax keyword typescriptTypeQuery typeof keyof
-  \ nextgroup=typescriptTypeReference
-  \ contained skipwhite skipnl
-
-syntax keyword typescriptAssertType asserts
-  \ nextgroup=typescriptTypeReference
-  \ contained skipwhite skipnl
-
-syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall
-syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets
-  \ start=/</ end=/>/
-  \ contains=typescriptTypeParameter
-  \ nextgroup=typescriptCall
-  \ contained skipwhite skipnl
-syntax region typescriptCall matchgroup=typescriptParens
-  \ start=/(/ end=/)/
-  \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
-  \ nextgroup=typescriptTypeAnnotation,typescriptBlock
-  \ contained skipwhite skipnl
-
-syntax match typescriptTypeAnnotation /:/
-  \ nextgroup=@typescriptType
-  \ contained skipwhite skipnl
-
-syntax cluster typescriptParameterList contains=
-  \ typescriptTypeAnnotation,
-  \ typescriptAccessibilityModifier,
-  \ typescriptReadonlyModifier,
-  \ typescriptOptionalMark,
-  \ typescriptRestOrSpread,
-  \ typescriptFuncComma,
-  \ typescriptDefaultParam
-
-syntax match typescriptFuncComma /,/ contained
-
-syntax match typescriptDefaultParam /=/
-  \ nextgroup=@typescriptValue
-  \ contained skipwhite
-
-syntax keyword typescriptConstructSignature new
-  \ nextgroup=@typescriptCallSignature
-  \ contained skipwhite
-
-syntax region typescriptIndexSignature matchgroup=typescriptBraces
-  \ start=/\[/ end=/\]/
-  \ contains=typescriptPredefinedType,typescriptMappedIn,typescriptString
-  \ nextgroup=typescriptTypeAnnotation
-  \ contained skipwhite oneline
-
-syntax keyword typescriptMappedIn in
-  \ nextgroup=@typescriptType
-  \ contained skipwhite skipnl skipempty
-
-syntax keyword typescriptAliasKeyword type
-  \ nextgroup=typescriptAliasDeclaration
-  \ skipwhite skipnl skipempty
-
-syntax region typescriptAliasDeclaration matchgroup=typescriptUnion
-  \ start=/ / end=/=/
-  \ nextgroup=@typescriptType
-  \ contains=typescriptConstraint,typescriptTypeParameters
-  \ contained skipwhite skipempty
-
-syntax keyword typescriptReadonlyArrayKeyword readonly
-  \ nextgroup=@typescriptPrimaryType
-  \ skipwhite
-
-
-" extension
-if get(g:, 'yats_host_keyword', 1)
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function Boolean
-  " use of nextgroup Suggested by Doug Kearns
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Error EvalError nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName arguments
-  hi def link typescriptGlobal Structure
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName eval uneval nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isFinite nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isNaN parseFloat nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName parseInt nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURI nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURIComponent nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURI nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURIComponent nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptGlobalMethod
-  hi def link typescriptGlobalMethod Structure
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Number nextgroup=typescriptGlobalNumberDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalNumberDot /\./ contained nextgroup=typescriptNumberStaticProp,typescriptNumberStaticMethod,typescriptProp
-  syntax keyword typescriptNumberStaticProp contained EPSILON MAX_SAFE_INTEGER MAX_VALUE
-  syntax keyword typescriptNumberStaticProp contained MIN_SAFE_INTEGER MIN_VALUE NEGATIVE_INFINITY
-  syntax keyword typescriptNumberStaticProp contained NaN POSITIVE_INFINITY
-  hi def link typescriptNumberStaticProp Keyword
-  syntax keyword typescriptNumberStaticMethod contained isFinite isInteger isNaN isSafeInteger nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptNumberStaticMethod contained parseFloat parseInt nextgroup=typescriptFuncCallArg
-  hi def link typescriptNumberStaticMethod Keyword
-  syntax keyword typescriptNumberMethod contained toExponential toFixed toLocaleString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptNumberMethod contained toPrecision toSource toString valueOf nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptNumberMethod
-  hi def link typescriptNumberMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName String nextgroup=typescriptGlobalStringDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalStringDot /\./ contained nextgroup=typescriptStringStaticMethod,typescriptProp
-  syntax keyword typescriptStringStaticMethod contained fromCharCode fromCodePoint raw nextgroup=typescriptFuncCallArg
-  hi def link typescriptStringStaticMethod Keyword
-  syntax keyword typescriptStringMethod contained anchor charAt charCodeAt codePointAt nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained concat endsWith includes indexOf lastIndexOf nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained link localeCompare match normalize nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained padStart padEnd repeat replace search nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained slice split startsWith substr substring nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained toLocaleLowerCase toLocaleUpperCase nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained toLowerCase toString toUpperCase trim nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained valueOf nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptStringMethod
-  hi def link typescriptStringMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Array nextgroup=typescriptGlobalArrayDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalArrayDot /\./ contained nextgroup=typescriptArrayStaticMethod,typescriptProp
-  syntax keyword typescriptArrayStaticMethod contained from isArray of nextgroup=typescriptFuncCallArg
-  hi def link typescriptArrayStaticMethod Keyword
-  syntax keyword typescriptArrayMethod contained concat copyWithin entries every fill nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained filter find findIndex forEach indexOf nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained includes join keys lastIndexOf map nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained pop push reduce reduceRight reverse nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained shift slice some sort splice toLocaleString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained toSource toString unshift nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptArrayMethod
-  hi def link typescriptArrayMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Object nextgroup=typescriptGlobalObjectDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalObjectDot /\./ contained nextgroup=typescriptObjectStaticMethod,typescriptProp
-  syntax keyword typescriptObjectStaticMethod contained create defineProperties defineProperty nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectStaticMethod contained entries freeze getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectStaticMethod contained getOwnPropertyDescriptor getOwnPropertyNames nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectStaticMethod contained getOwnPropertySymbols getPrototypeOf nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectStaticMethod contained is isExtensible isFrozen isSealed nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectStaticMethod contained keys preventExtensions values nextgroup=typescriptFuncCallArg
-  hi def link typescriptObjectStaticMethod Keyword
-  syntax keyword typescriptObjectMethod contained getOwnPropertyDescriptors hasOwnProperty nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectMethod contained isPrototypeOf propertyIsEnumerable nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectMethod contained toLocaleString toString valueOf seal nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectMethod contained setPrototypeOf nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptObjectMethod
-  hi def link typescriptObjectMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Symbol nextgroup=typescriptGlobalSymbolDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalSymbolDot /\./ contained nextgroup=typescriptSymbolStaticProp,typescriptSymbolStaticMethod,typescriptProp
-  syntax keyword typescriptSymbolStaticProp contained length iterator match replace
-  syntax keyword typescriptSymbolStaticProp contained search split hasInstance isConcatSpreadable
-  syntax keyword typescriptSymbolStaticProp contained unscopables species toPrimitive
-  syntax keyword typescriptSymbolStaticProp contained toStringTag
-  hi def link typescriptSymbolStaticProp Keyword
-  syntax keyword typescriptSymbolStaticMethod contained for keyFor nextgroup=typescriptFuncCallArg
-  hi def link typescriptSymbolStaticMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function
-  syntax keyword typescriptFunctionMethod contained apply bind call nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptFunctionMethod
-  hi def link typescriptFunctionMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Math nextgroup=typescriptGlobalMathDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalMathDot /\./ contained nextgroup=typescriptMathStaticProp,typescriptMathStaticMethod,typescriptProp
-  syntax keyword typescriptMathStaticProp contained E LN10 LN2 LOG10E LOG2E PI SQRT1_2
-  syntax keyword typescriptMathStaticProp contained SQRT2
-  hi def link typescriptMathStaticProp Keyword
-  syntax keyword typescriptMathStaticMethod contained abs acos acosh asin asinh atan nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptMathStaticMethod contained atan2 atanh cbrt ceil clz32 cos nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptMathStaticMethod contained cosh exp expm1 floor fround hypot nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptMathStaticMethod contained imul log log10 log1p log2 max nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptMathStaticMethod contained min pow random round sign sin nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptMathStaticMethod contained sinh sqrt tan tanh trunc nextgroup=typescriptFuncCallArg
-  hi def link typescriptMathStaticMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Date nextgroup=typescriptGlobalDateDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalDateDot /\./ contained nextgroup=typescriptDateStaticMethod,typescriptProp
-  syntax keyword typescriptDateStaticMethod contained UTC now parse nextgroup=typescriptFuncCallArg
-  hi def link typescriptDateStaticMethod Keyword
-  syntax keyword typescriptDateMethod contained getDate getDay getFullYear getHours nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained getMilliseconds getMinutes getMonth nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained getSeconds getTime getTimezoneOffset nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained getUTCDate getUTCDay getUTCFullYear nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained getUTCHours getUTCMilliseconds getUTCMinutes nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained getUTCMonth getUTCSeconds setDate setFullYear nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained setHours setMilliseconds setMinutes nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained setMonth setSeconds setTime setUTCDate nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained setUTCFullYear setUTCHours setUTCMilliseconds nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained setUTCMinutes setUTCMonth setUTCSeconds nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained toDateString toISOString toJSON toLocaleDateString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained toLocaleFormat toLocaleString toLocaleTimeString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained toSource toString toTimeString toUTCString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDateMethod contained valueOf nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptDateMethod
-  hi def link typescriptDateMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName JSON nextgroup=typescriptGlobalJSONDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalJSONDot /\./ contained nextgroup=typescriptJSONStaticMethod,typescriptProp
-  syntax keyword typescriptJSONStaticMethod contained parse stringify nextgroup=typescriptFuncCallArg
-  hi def link typescriptJSONStaticMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RegExp nextgroup=typescriptGlobalRegExpDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalRegExpDot /\./ contained nextgroup=typescriptRegExpStaticProp,typescriptProp
-  syntax keyword typescriptRegExpStaticProp contained lastIndex
-  hi def link typescriptRegExpStaticProp Keyword
-  syntax keyword typescriptRegExpProp contained global ignoreCase multiline source sticky
-  syntax cluster props add=typescriptRegExpProp
-  hi def link typescriptRegExpProp Keyword
-  syntax keyword typescriptRegExpMethod contained exec test nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptRegExpMethod
-  hi def link typescriptRegExpMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Map WeakMap
-  syntax keyword typescriptES6MapProp contained size
-  syntax cluster props add=typescriptES6MapProp
-  hi def link typescriptES6MapProp Keyword
-  syntax keyword typescriptES6MapMethod contained clear delete entries forEach get has nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptES6MapMethod contained keys set values nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptES6MapMethod
-  hi def link typescriptES6MapMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Set WeakSet
-  syntax keyword typescriptES6SetProp contained size
-  syntax cluster props add=typescriptES6SetProp
-  hi def link typescriptES6SetProp Keyword
-  syntax keyword typescriptES6SetMethod contained add clear delete entries forEach has nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptES6SetMethod contained values nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptES6SetMethod
-  hi def link typescriptES6SetMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Proxy
-  syntax keyword typescriptProxyAPI contained getOwnPropertyDescriptor getOwnPropertyNames
-  syntax keyword typescriptProxyAPI contained defineProperty deleteProperty freeze seal
-  syntax keyword typescriptProxyAPI contained preventExtensions has hasOwn get set enumerate
-  syntax keyword typescriptProxyAPI contained iterate ownKeys apply construct
-  hi def link typescriptProxyAPI Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Promise nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalPromiseDot /\./ contained nextgroup=typescriptPromiseStaticMethod,typescriptProp
-  syntax keyword typescriptPromiseStaticMethod contained resolve reject all race nextgroup=typescriptFuncCallArg
-  hi def link typescriptPromiseStaticMethod Keyword
-  syntax keyword typescriptPromiseMethod contained then catch finally nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptPromiseMethod
-  hi def link typescriptPromiseMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect
-  syntax keyword typescriptReflectMethod contained apply construct defineProperty deleteProperty nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptReflectMethod contained enumerate get getOwnPropertyDescriptor nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptReflectMethod contained getPrototypeOf has isExtensible ownKeys nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptReflectMethod contained preventExtensions set setPrototypeOf nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptReflectMethod
-  hi def link typescriptReflectMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Intl
-  syntax keyword typescriptIntlMethod contained Collator DateTimeFormat NumberFormat nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptIntlMethod contained PluralRules nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptIntlMethod
-  hi def link typescriptIntlMethod Keyword
-
-  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName global process
-  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName console Buffer
-  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName module exports
-  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setTimeout
-  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearTimeout
-  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setInterval
-  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearInterval
-  hi def link typescriptNodeGlobal Structure
-
-  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName describe
-  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName it test before
-  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName after beforeEach
-  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterEach
-  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName beforeAll
-  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterAll
-  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName expect assert
-
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName AbortController
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName AbstractWorker AnalyserNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName App Apps ArrayBuffer
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ArrayBufferView
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Attr AudioBuffer
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioBufferSourceNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioContext AudioDestinationNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioListener AudioNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioParam BatteryManager
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName BiquadFilterNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName BlobEvent BluetoothAdapter
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothDevice
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothManager
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraCapabilities
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraControl CameraManager
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasGradient CanvasImageSource
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasPattern CanvasRenderingContext2D
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CaretPosition CDATASection
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelMergerNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelSplitterNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CharacterData ChildNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChromeWorker Comment
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Connection Console
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ContactManager Contacts
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ConvolverNode Coordinates
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSS CSSConditionRule
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSGroupingRule
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframeRule
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframesRule
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSMediaRule CSSNamespaceRule
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSPageRule CSSRule
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSRuleList CSSStyleDeclaration
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSStyleRule CSSStyleSheet
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSSupportsRule
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DataTransfer DataView
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DedicatedWorkerGlobalScope
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DelayNode DeviceAcceleration
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceRotationRate
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceStorage DirectoryEntry
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryEntrySync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReader
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReaderSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Document DocumentFragment
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DocumentTouch DocumentType
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMCursor DOMError
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMException DOMHighResTimeStamp
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementation
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementationRegistry
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMParser DOMRequest
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMString DOMStringList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMStringMap DOMTimeStamp
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMTokenList DynamicsCompressorNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Element Entry EntrySync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Extensions FileException
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Float32Array Float64Array
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName FMRadio FormData
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName GainNode Gamepad
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName GamepadButton Geolocation
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName History HTMLAnchorElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAreaElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAudioElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBaseElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBodyElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBRElement HTMLButtonElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCanvasElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCollection HTMLDataElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDataListElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDivElement HTMLDListElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDocument HTMLElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLEmbedElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFieldSetElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormControlsCollection
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadingElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHRElement HTMLHtmlElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLIFrameElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLImageElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLInputElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLKeygenElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLabelElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLegendElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLIElement HTMLLinkElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMapElement HTMLMediaElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMetaElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMeterElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLModElement HTMLObjectElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOListElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptGroupElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionsCollection
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOutputElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParagraphElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParamElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLPreElement HTMLProgressElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLQuoteElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLScriptElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSelectElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSourceElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSpanElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLStyleElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCaptionElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCellElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableColElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableDataCellElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableHeaderCellElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableRowElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableSectionElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTextAreaElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTimeElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTitleElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTrackElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUListElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUnknownElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLVideoElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursor IDBCursorSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursorWithValue
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBDatabase IDBDatabaseSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBEnvironment IDBEnvironmentSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBFactory IDBFactorySync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBIndex IDBIndexSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBKeyRange IDBObjectStore
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBObjectStoreSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBOpenDBRequest
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBRequest IDBTransaction
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBTransactionSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBVersionChangeEvent
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ImageData IndexedDB
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Int16Array Int32Array
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Int8Array L10n LinkStyle
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystem
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystemSync
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Location LockedFile
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaQueryList MediaQueryListListener
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaRecorder MediaSource
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaStream MediaStreamTrack
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName MutationObserver
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Navigator NavigatorGeolocation
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorID NavigatorLanguage
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorOnLine
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorPlugins
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Node NodeFilter
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName NodeIterator NodeList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Notification OfflineAudioContext
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName OscillatorNode PannerNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ParentNode Performance
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceNavigation
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceTiming
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Permissions PermissionSettings
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Plugin PluginArray
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Position PositionError
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName PositionOptions
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName PowerManager ProcessingInstruction
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName PromiseResolver
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName PushManager Range
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCConfiguration
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnection
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnectionErrorCallback
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescription
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescriptionCallback
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ScriptProcessorNode
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Selection SettingsLock
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SettingsManager
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SharedWorker StyleSheet
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName StyleSheetList SVGAElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAngle SVGAnimateColorElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedAngle
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedBoolean
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedEnumeration
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedInteger
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLength
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLengthList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumber
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumberList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPoints
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPreserveAspectRatio
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedRect
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedString
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedTransformList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateMotionElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateTransformElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimationElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCircleElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGClipPathElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCursorElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGDefsElement SVGDescElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGElement SVGEllipseElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFilterElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontElement SVGFontFaceElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceFormatElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceNameElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceSrcElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceUriElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGForeignObjectElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGElement SVGGlyphElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGradientElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGHKernElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGImageElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLength SVGLengthList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLinearGradientElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLineElement SVGMaskElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMatrix SVGMissingGlyphElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMPathElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGNumber SVGNumberList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPathElement SVGPatternElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPoint SVGPolygonElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPolylineElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPreserveAspectRatio
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRadialGradientElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRect SVGRectElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGScriptElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSetElement SVGStopElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStringList SVGStylable
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStyleElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSVGElement SVGSwitchElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSymbolElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTests SVGTextElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTextPositioningElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTitleElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransform SVGTransformable
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransformList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTRefElement SVGTSpanElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGUseElement SVGViewElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGVKernElement
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPServerSocket
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPSocket Telephony
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName TelephonyCall Text
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName TextDecoder TextEncoder
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName TextMetrics TimeRanges
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Touch TouchList
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Transferable TreeWalker
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint16Array Uint32Array
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint8Array Uint8ClampedArray
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName URLSearchParams
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName URLUtilsReadOnly
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName UserProximityEvent
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName ValidityState VideoPlaybackQuality
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName WaveShaperNode WebBluetooth
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebGLRenderingContext
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebSMS WebSocket
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebVTT WifiManager
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName Window Worker WorkerConsole
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName WorkerLocation WorkerNavigator
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName XDomainRequest XMLDocument
-  syntax keyword typescriptBOM containedin=typescriptIdentifierName XMLHttpRequestEventTarget
-  hi def link typescriptBOM Structure
-
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName applicationCache
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName closed
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName Components
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName controllers
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName dialogArguments
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName document
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frameElement
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frames
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName fullScreen
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName history
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerHeight
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerWidth
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName length
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName location
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName locationbar
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName menubar
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName messageManager
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName name navigator
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName opener
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerHeight
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerWidth
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageXOffset
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageYOffset
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName parent
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName performance
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName personalbar
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName returnValue
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screen
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenX
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenY
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollbars
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxX
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxY
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollX
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollY
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName self sidebar
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName status
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName statusbar
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName toolbar
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName top visualViewport
-  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName window
-  syntax cluster props add=typescriptBOMWindowProp
-  hi def link typescriptBOMWindowProp Structure
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName alert nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName atob nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName blur nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName btoa nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearImmediate nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearInterval nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearTimeout nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName close nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName confirm nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName dispatchEvent nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName find nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName focus nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttention nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttentionWithCycleCount nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getComputedStyle nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getDefaulComputedStyle nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getSelection nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName matchMedia nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName maximize nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveBy nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveTo nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName open nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName openDialog nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName postMessage nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName print nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName prompt nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName removeEventListener nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeBy nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeTo nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName restore nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scroll nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollBy nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByLines nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByPages nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollTo nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setCursor nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setImmediate nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setInterval nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setResizable nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setTimeout nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName showModalDialog nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName sizeToContent nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName stop nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName updateCommands nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptBOMWindowMethod
-  hi def link typescriptBOMWindowMethod Structure
-  syntax keyword typescriptBOMWindowEvent contained onabort onbeforeunload onblur onchange
-  syntax keyword typescriptBOMWindowEvent contained onclick onclose oncontextmenu ondevicelight
-  syntax keyword typescriptBOMWindowEvent contained ondevicemotion ondeviceorientation
-  syntax keyword typescriptBOMWindowEvent contained ondeviceproximity ondragdrop onerror
-  syntax keyword typescriptBOMWindowEvent contained onfocus onhashchange onkeydown onkeypress
-  syntax keyword typescriptBOMWindowEvent contained onkeyup onload onmousedown onmousemove
-  syntax keyword typescriptBOMWindowEvent contained onmouseout onmouseover onmouseup
-  syntax keyword typescriptBOMWindowEvent contained onmozbeforepaint onpaint onpopstate
-  syntax keyword typescriptBOMWindowEvent contained onreset onresize onscroll onselect
-  syntax keyword typescriptBOMWindowEvent contained onsubmit onunload onuserproximity
-  syntax keyword typescriptBOMWindowEvent contained onpageshow onpagehide
-  hi def link typescriptBOMWindowEvent Keyword
-  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName DOMParser
-  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName QueryInterface
-  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName XMLSerializer
-  hi def link typescriptBOMWindowCons Structure
-
-  syntax keyword typescriptBOMNavigatorProp contained battery buildID connection cookieEnabled
-  syntax keyword typescriptBOMNavigatorProp contained doNotTrack maxTouchPoints oscpu
-  syntax keyword typescriptBOMNavigatorProp contained productSub push serviceWorker
-  syntax keyword typescriptBOMNavigatorProp contained vendor vendorSub
-  syntax cluster props add=typescriptBOMNavigatorProp
-  hi def link typescriptBOMNavigatorProp Keyword
-  syntax keyword typescriptBOMNavigatorMethod contained addIdleObserver geolocation nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMNavigatorMethod contained getDeviceStorage getDeviceStorages nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMNavigatorMethod contained getGamepads getUserMedia registerContentHandler nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMNavigatorMethod contained removeIdleObserver requestWakeLock nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMNavigatorMethod contained share vibrate watch registerProtocolHandler nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptBOMNavigatorMethod contained sendBeacon nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptBOMNavigatorMethod
-  hi def link typescriptBOMNavigatorMethod Keyword
-  syntax keyword typescriptServiceWorkerMethod contained register nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptServiceWorkerMethod
-  hi def link typescriptServiceWorkerMethod Keyword
-
-  syntax keyword typescriptBOMLocationProp contained href protocol host hostname port
-  syntax keyword typescriptBOMLocationProp contained pathname search hash username password
-  syntax keyword typescriptBOMLocationProp contained origin
-  syntax cluster props add=typescriptBOMLocationProp
-  hi def link typescriptBOMLocationProp Keyword
-  syntax keyword typescriptBOMLocationMethod contained assign reload replace toString nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptBOMLocationMethod
-  hi def link typescriptBOMLocationMethod Keyword
-
-  syntax keyword typescriptBOMHistoryProp contained length current next previous state
-  syntax keyword typescriptBOMHistoryProp contained scrollRestoration
-  syntax cluster props add=typescriptBOMHistoryProp
-  hi def link typescriptBOMHistoryProp Keyword
-  syntax keyword typescriptBOMHistoryMethod contained back forward go pushState replaceState nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptBOMHistoryMethod
-  hi def link typescriptBOMHistoryMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName console
-  syntax keyword typescriptConsoleMethod contained count dir error group groupCollapsed nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptConsoleMethod contained groupEnd info log time timeEnd trace nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptConsoleMethod contained warn nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptConsoleMethod
-  hi def link typescriptConsoleMethod Keyword
-
-  syntax keyword typescriptXHRGlobal containedin=typescriptIdentifierName XMLHttpRequest
-  hi def link typescriptXHRGlobal Structure
-  syntax keyword typescriptXHRProp contained onreadystatechange readyState response
-  syntax keyword typescriptXHRProp contained responseText responseType responseXML status
-  syntax keyword typescriptXHRProp contained statusText timeout ontimeout upload withCredentials
-  syntax cluster props add=typescriptXHRProp
-  hi def link typescriptXHRProp Keyword
-  syntax keyword typescriptXHRMethod contained abort getAllResponseHeaders getResponseHeader nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptXHRMethod contained open overrideMimeType send setRequestHeader nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptXHRMethod
-  hi def link typescriptXHRMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Blob BlobBuilder
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName File FileReader
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName FileReaderSync
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URL nextgroup=typescriptGlobalURLDot,typescriptFuncCallArg
-  syntax match   typescriptGlobalURLDot /\./ contained nextgroup=typescriptURLStaticMethod,typescriptProp
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URLUtils
-  syntax keyword typescriptFileMethod contained readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptFileMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptFileMethod
-  hi def link typescriptFileMethod Keyword
-  syntax keyword typescriptFileReaderProp contained error readyState result
-  syntax cluster props add=typescriptFileReaderProp
-  hi def link typescriptFileReaderProp Keyword
-  syntax keyword typescriptFileReaderMethod contained abort readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptFileReaderMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptFileReaderMethod
-  hi def link typescriptFileReaderMethod Keyword
-  syntax keyword typescriptFileListMethod contained item nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptFileListMethod
-  hi def link typescriptFileListMethod Keyword
-  syntax keyword typescriptBlobMethod contained append getBlob getFile nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptBlobMethod
-  hi def link typescriptBlobMethod Keyword
-  syntax keyword typescriptURLUtilsProp contained hash host hostname href origin password
-  syntax keyword typescriptURLUtilsProp contained pathname port protocol search searchParams
-  syntax keyword typescriptURLUtilsProp contained username
-  syntax cluster props add=typescriptURLUtilsProp
-  hi def link typescriptURLUtilsProp Keyword
-  syntax keyword typescriptURLStaticMethod contained createObjectURL revokeObjectURL nextgroup=typescriptFuncCallArg
-  hi def link typescriptURLStaticMethod Keyword
-
-  syntax keyword typescriptCryptoGlobal containedin=typescriptIdentifierName crypto
-  hi def link typescriptCryptoGlobal Structure
-  syntax keyword typescriptSubtleCryptoMethod contained encrypt decrypt sign verify nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptSubtleCryptoMethod contained digest nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptSubtleCryptoMethod
-  hi def link typescriptSubtleCryptoMethod Keyword
-  syntax keyword typescriptCryptoProp contained subtle
-  syntax cluster props add=typescriptCryptoProp
-  hi def link typescriptCryptoProp Keyword
-  syntax keyword typescriptCryptoMethod contained getRandomValues nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptCryptoMethod
-  hi def link typescriptCryptoMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Headers Request
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Response
-  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName fetch nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptGlobalMethod
-  hi def link typescriptGlobalMethod Structure
-  syntax keyword typescriptHeadersMethod contained append delete get getAll has set nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptHeadersMethod
-  hi def link typescriptHeadersMethod Keyword
-  syntax keyword typescriptRequestProp contained method url headers context referrer
-  syntax keyword typescriptRequestProp contained mode credentials cache
-  syntax cluster props add=typescriptRequestProp
-  hi def link typescriptRequestProp Keyword
-  syntax keyword typescriptRequestMethod contained clone nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptRequestMethod
-  hi def link typescriptRequestMethod Keyword
-  syntax keyword typescriptResponseProp contained type url status statusText headers
-  syntax keyword typescriptResponseProp contained redirected
-  syntax cluster props add=typescriptResponseProp
-  hi def link typescriptResponseProp Keyword
-  syntax keyword typescriptResponseMethod contained clone nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptResponseMethod
-  hi def link typescriptResponseMethod Keyword
-
-  syntax keyword typescriptServiceWorkerProp contained controller ready
-  syntax cluster props add=typescriptServiceWorkerProp
-  hi def link typescriptServiceWorkerProp Keyword
-  syntax keyword typescriptServiceWorkerMethod contained register getRegistration nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptServiceWorkerMethod
-  hi def link typescriptServiceWorkerMethod Keyword
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Cache
-  syntax keyword typescriptCacheMethod contained match matchAll add addAll put delete nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptCacheMethod contained keys nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptCacheMethod
-  hi def link typescriptCacheMethod Keyword
-
-  syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextEncoder
-  syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextDecoder
-  hi def link typescriptEncodingGlobal Structure
-  syntax keyword typescriptEncodingProp contained encoding fatal ignoreBOM
-  syntax cluster props add=typescriptEncodingProp
-  hi def link typescriptEncodingProp Keyword
-  syntax keyword typescriptEncodingMethod contained encode decode nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptEncodingMethod
-  hi def link typescriptEncodingMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Geolocation
-  syntax keyword typescriptGeolocationMethod contained getCurrentPosition watchPosition nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGeolocationMethod contained clearWatch nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptGeolocationMethod
-  hi def link typescriptGeolocationMethod Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName NetworkInformation
-  syntax keyword typescriptBOMNetworkProp contained downlink downlinkMax effectiveType
-  syntax keyword typescriptBOMNetworkProp contained rtt type
-  syntax cluster props add=typescriptBOMNetworkProp
-  hi def link typescriptBOMNetworkProp Keyword
-
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName PaymentRequest
-  syntax keyword typescriptPaymentMethod contained show abort canMakePayment nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptPaymentMethod
-  hi def link typescriptPaymentMethod Keyword
-  syntax keyword typescriptPaymentProp contained shippingAddress shippingOption result
-  syntax cluster props add=typescriptPaymentProp
-  hi def link typescriptPaymentProp Keyword
-  syntax keyword typescriptPaymentEvent contained onshippingaddresschange onshippingoptionchange
-  hi def link typescriptPaymentEvent Keyword
-  syntax keyword typescriptPaymentResponseMethod contained complete nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptPaymentResponseMethod
-  hi def link typescriptPaymentResponseMethod Keyword
-  syntax keyword typescriptPaymentResponseProp contained details methodName payerEmail
-  syntax keyword typescriptPaymentResponseProp contained payerPhone shippingAddress
-  syntax keyword typescriptPaymentResponseProp contained shippingOption
-  syntax cluster props add=typescriptPaymentResponseProp
-  hi def link typescriptPaymentResponseProp Keyword
-  syntax keyword typescriptPaymentAddressProp contained addressLine careOf city country
-  syntax keyword typescriptPaymentAddressProp contained country dependentLocality languageCode
-  syntax keyword typescriptPaymentAddressProp contained organization phone postalCode
-  syntax keyword typescriptPaymentAddressProp contained recipient region sortingCode
-  syntax cluster props add=typescriptPaymentAddressProp
-  hi def link typescriptPaymentAddressProp Keyword
-  syntax keyword typescriptPaymentShippingOptionProp contained id label amount selected
-  syntax cluster props add=typescriptPaymentShippingOptionProp
-  hi def link typescriptPaymentShippingOptionProp Keyword
-
-  syntax keyword typescriptDOMNodeProp contained attributes baseURI baseURIObject childNodes
-  syntax keyword typescriptDOMNodeProp contained firstChild lastChild localName namespaceURI
-  syntax keyword typescriptDOMNodeProp contained nextSibling nodeName nodePrincipal
-  syntax keyword typescriptDOMNodeProp contained nodeType nodeValue ownerDocument parentElement
-  syntax keyword typescriptDOMNodeProp contained parentNode prefix previousSibling textContent
-  syntax cluster props add=typescriptDOMNodeProp
-  hi def link typescriptDOMNodeProp Keyword
-  syntax keyword typescriptDOMNodeMethod contained appendChild cloneNode compareDocumentPosition nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMNodeMethod contained getUserData hasAttributes hasChildNodes nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMNodeMethod contained insertBefore isDefaultNamespace isEqualNode nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMNodeMethod contained isSameNode isSupported lookupNamespaceURI nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMNodeMethod contained lookupPrefix normalize removeChild nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMNodeMethod contained replaceChild setUserData nextgroup=typescriptFuncCallArg
-  syntax match typescriptDOMNodeMethod contained /contains/
-  syntax cluster props add=typescriptDOMNodeMethod
-  hi def link typescriptDOMNodeMethod Keyword
-  syntax keyword typescriptDOMNodeType contained ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE
-  syntax keyword typescriptDOMNodeType contained CDATA_SECTION_NODEN_NODE ENTITY_REFERENCE_NODE
-  syntax keyword typescriptDOMNodeType contained ENTITY_NODE PROCESSING_INSTRUCTION_NODEN_NODE
-  syntax keyword typescriptDOMNodeType contained COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE
-  syntax keyword typescriptDOMNodeType contained DOCUMENT_FRAGMENT_NODE NOTATION_NODE
-  hi def link typescriptDOMNodeType Keyword
-
-  syntax keyword typescriptDOMElemAttrs contained accessKey clientHeight clientLeft
-  syntax keyword typescriptDOMElemAttrs contained clientTop clientWidth id innerHTML
-  syntax keyword typescriptDOMElemAttrs contained length onafterscriptexecute onbeforescriptexecute
-  syntax keyword typescriptDOMElemAttrs contained oncopy oncut onpaste onwheel scrollHeight
-  syntax keyword typescriptDOMElemAttrs contained scrollLeft scrollTop scrollWidth tagName
-  syntax keyword typescriptDOMElemAttrs contained classList className name outerHTML
-  syntax keyword typescriptDOMElemAttrs contained style
-  hi def link typescriptDOMElemAttrs Keyword
-  syntax keyword typescriptDOMElemFuncs contained getAttributeNS getAttributeNode getAttributeNodeNS
-  syntax keyword typescriptDOMElemFuncs contained getBoundingClientRect getClientRects
-  syntax keyword typescriptDOMElemFuncs contained getElementsByClassName getElementsByTagName
-  syntax keyword typescriptDOMElemFuncs contained getElementsByTagNameNS hasAttribute
-  syntax keyword typescriptDOMElemFuncs contained hasAttributeNS insertAdjacentHTML
-  syntax keyword typescriptDOMElemFuncs contained matches querySelector querySelectorAll
-  syntax keyword typescriptDOMElemFuncs contained removeAttribute removeAttributeNS
-  syntax keyword typescriptDOMElemFuncs contained removeAttributeNode requestFullscreen
-  syntax keyword typescriptDOMElemFuncs contained requestPointerLock scrollIntoView
-  syntax keyword typescriptDOMElemFuncs contained setAttribute setAttributeNS setAttributeNode
-  syntax keyword typescriptDOMElemFuncs contained setAttributeNodeNS setCapture supports
-  syntax keyword typescriptDOMElemFuncs contained getAttribute
-  hi def link typescriptDOMElemFuncs Keyword
-
-  syntax keyword typescriptDOMDocProp contained activeElement body cookie defaultView
-  syntax keyword typescriptDOMDocProp contained designMode dir domain embeds forms head
-  syntax keyword typescriptDOMDocProp contained images lastModified links location plugins
-  syntax keyword typescriptDOMDocProp contained postMessage readyState referrer registerElement
-  syntax keyword typescriptDOMDocProp contained scripts styleSheets title vlinkColor
-  syntax keyword typescriptDOMDocProp contained xmlEncoding characterSet compatMode
-  syntax keyword typescriptDOMDocProp contained contentType currentScript doctype documentElement
-  syntax keyword typescriptDOMDocProp contained documentURI documentURIObject firstChild
-  syntax keyword typescriptDOMDocProp contained implementation lastStyleSheetSet namespaceURI
-  syntax keyword typescriptDOMDocProp contained nodePrincipal ononline pointerLockElement
-  syntax keyword typescriptDOMDocProp contained popupNode preferredStyleSheetSet selectedStyleSheetSet
-  syntax keyword typescriptDOMDocProp contained styleSheetSets textContent tooltipNode
-  syntax cluster props add=typescriptDOMDocProp
-  hi def link typescriptDOMDocProp Keyword
-  syntax keyword typescriptDOMDocMethod contained caretPositionFromPoint close createNodeIterator nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained createRange createTreeWalker elementFromPoint nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained getElementsByName adoptNode createAttribute nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained createCDATASection createComment createDocumentFragment nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained createElement createElementNS createEvent nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained createExpression createNSResolver nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained createProcessingInstruction createTextNode nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained enableStyleSheetsForSet evaluate execCommand nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained exitPointerLock getBoxObjectFor getElementById nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained getElementsByClassName getElementsByTagName nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained getElementsByTagNameNS getSelection nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained hasFocus importNode loadOverlay open nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained queryCommandSupported querySelector nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMDocMethod contained querySelectorAll write writeln nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptDOMDocMethod
-  hi def link typescriptDOMDocMethod Keyword
-
-  syntax keyword typescriptDOMEventTargetMethod contained addEventListener removeEventListener nextgroup=typescriptEventFuncCallArg
-  syntax keyword typescriptDOMEventTargetMethod contained dispatchEvent waitUntil nextgroup=typescriptEventFuncCallArg
-  syntax cluster props add=typescriptDOMEventTargetMethod
-  hi def link typescriptDOMEventTargetMethod Keyword
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AnimationEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AudioProcessingEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeInputEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeUnloadEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BlobEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ClipboardEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CloseEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CompositionEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CSSFontFaceLoadEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CustomEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceLightEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceMotionEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceOrientationEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceProximityEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DOMTransactionEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DragEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName EditingBeforeInputEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ErrorEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName FocusEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName GamepadEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName HashChangeEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName IDBVersionChangeEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName KeyboardEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MediaStreamEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MessageEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MouseEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MutationEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName OfflineAudioCompletionEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PageTransitionEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PointerEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PopStateEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ProgressEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RelatedEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RTCPeerConnectionIceEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SensorEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName StorageEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGZoomEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TimeEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TouchEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TrackEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TransitionEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UIEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UserProximityEvent
-  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName WheelEvent
-  hi def link typescriptDOMEventCons Structure
-  syntax keyword typescriptDOMEventProp contained bubbles cancelable currentTarget defaultPrevented
-  syntax keyword typescriptDOMEventProp contained eventPhase target timeStamp type isTrusted
-  syntax keyword typescriptDOMEventProp contained isReload
-  syntax cluster props add=typescriptDOMEventProp
-  hi def link typescriptDOMEventProp Keyword
-  syntax keyword typescriptDOMEventMethod contained initEvent preventDefault stopImmediatePropagation nextgroup=typescriptEventFuncCallArg
-  syntax keyword typescriptDOMEventMethod contained stopPropagation respondWith default nextgroup=typescriptEventFuncCallArg
-  syntax cluster props add=typescriptDOMEventMethod
-  hi def link typescriptDOMEventMethod Keyword
-
-  syntax keyword typescriptDOMStorage contained sessionStorage localStorage
-  hi def link typescriptDOMStorage Keyword
-  syntax keyword typescriptDOMStorageProp contained length
-  syntax cluster props add=typescriptDOMStorageProp
-  hi def link typescriptDOMStorageProp Keyword
-  syntax keyword typescriptDOMStorageMethod contained getItem key setItem removeItem nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptDOMStorageMethod contained clear nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptDOMStorageMethod
-  hi def link typescriptDOMStorageMethod Keyword
-
-  syntax keyword typescriptDOMFormProp contained acceptCharset action elements encoding
-  syntax keyword typescriptDOMFormProp contained enctype length method name target
-  syntax cluster props add=typescriptDOMFormProp
-  hi def link typescriptDOMFormProp Keyword
-  syntax keyword typescriptDOMFormMethod contained reportValidity reset submit nextgroup=typescriptFuncCallArg
-  syntax cluster props add=typescriptDOMFormMethod
-  hi def link typescriptDOMFormMethod Keyword
-
-  syntax keyword typescriptDOMStyle contained alignContent alignItems alignSelf animation
-  syntax keyword typescriptDOMStyle contained animationDelay animationDirection animationDuration
-  syntax keyword typescriptDOMStyle contained animationFillMode animationIterationCount
-  syntax keyword typescriptDOMStyle contained animationName animationPlayState animationTimingFunction
-  syntax keyword typescriptDOMStyle contained appearance backfaceVisibility background
-  syntax keyword typescriptDOMStyle contained backgroundAttachment backgroundBlendMode
-  syntax keyword typescriptDOMStyle contained backgroundClip backgroundColor backgroundImage
-  syntax keyword typescriptDOMStyle contained backgroundOrigin backgroundPosition backgroundRepeat
-  syntax keyword typescriptDOMStyle contained backgroundSize border borderBottom borderBottomColor
-  syntax keyword typescriptDOMStyle contained borderBottomLeftRadius borderBottomRightRadius
-  syntax keyword typescriptDOMStyle contained borderBottomStyle borderBottomWidth borderCollapse
-  syntax keyword typescriptDOMStyle contained borderColor borderImage borderImageOutset
-  syntax keyword typescriptDOMStyle contained borderImageRepeat borderImageSlice borderImageSource
-  syntax keyword typescriptDOMStyle contained borderImageWidth borderLeft borderLeftColor
-  syntax keyword typescriptDOMStyle contained borderLeftStyle borderLeftWidth borderRadius
-  syntax keyword typescriptDOMStyle contained borderRight borderRightColor borderRightStyle
-  syntax keyword typescriptDOMStyle contained borderRightWidth borderSpacing borderStyle
-  syntax keyword typescriptDOMStyle contained borderTop borderTopColor borderTopLeftRadius
-  syntax keyword typescriptDOMStyle contained borderTopRightRadius borderTopStyle borderTopWidth
-  syntax keyword typescriptDOMStyle contained borderWidth bottom boxDecorationBreak
-  syntax keyword typescriptDOMStyle contained boxShadow boxSizing breakAfter breakBefore
-  syntax keyword typescriptDOMStyle contained breakInside captionSide caretColor caretShape
-  syntax keyword typescriptDOMStyle contained caret clear clip clipPath color columns
-  syntax keyword typescriptDOMStyle contained columnCount columnFill columnGap columnRule
-  syntax keyword typescriptDOMStyle contained columnRuleColor columnRuleStyle columnRuleWidth
-  syntax keyword typescriptDOMStyle contained columnSpan columnWidth content counterIncrement
-  syntax keyword typescriptDOMStyle contained counterReset cursor direction display
-  syntax keyword typescriptDOMStyle contained emptyCells flex flexBasis flexDirection
-  syntax keyword typescriptDOMStyle contained flexFlow flexGrow flexShrink flexWrap
-  syntax keyword typescriptDOMStyle contained float font fontFamily fontFeatureSettings
-  syntax keyword typescriptDOMStyle contained fontKerning fontLanguageOverride fontSize
-  syntax keyword typescriptDOMStyle contained fontSizeAdjust fontStretch fontStyle fontSynthesis
-  syntax keyword typescriptDOMStyle contained fontVariant fontVariantAlternates fontVariantCaps
-  syntax keyword typescriptDOMStyle contained fontVariantEastAsian fontVariantLigatures
-  syntax keyword typescriptDOMStyle contained fontVariantNumeric fontVariantPosition
-  syntax keyword typescriptDOMStyle contained fontWeight grad grid gridArea gridAutoColumns
-  syntax keyword typescriptDOMStyle contained gridAutoFlow gridAutoPosition gridAutoRows
-  syntax keyword typescriptDOMStyle contained gridColumn gridColumnStart gridColumnEnd
-  syntax keyword typescriptDOMStyle contained gridRow gridRowStart gridRowEnd gridTemplate
-  syntax keyword typescriptDOMStyle contained gridTemplateAreas gridTemplateRows gridTemplateColumns
-  syntax keyword typescriptDOMStyle contained height hyphens imageRendering imageResolution
-  syntax keyword typescriptDOMStyle contained imageOrientation imeMode inherit justifyContent
-  syntax keyword typescriptDOMStyle contained left letterSpacing lineBreak lineHeight
-  syntax keyword typescriptDOMStyle contained listStyle listStyleImage listStylePosition
-  syntax keyword typescriptDOMStyle contained listStyleType margin marginBottom marginLeft
-  syntax keyword typescriptDOMStyle contained marginRight marginTop marks mask maskType
-  syntax keyword typescriptDOMStyle contained maxHeight maxWidth minHeight minWidth
-  syntax keyword typescriptDOMStyle contained mixBlendMode objectFit objectPosition
-  syntax keyword typescriptDOMStyle contained opacity order orphans outline outlineColor
-  syntax keyword typescriptDOMStyle contained outlineOffset outlineStyle outlineWidth
-  syntax keyword typescriptDOMStyle contained overflow overflowWrap overflowX overflowY
-  syntax keyword typescriptDOMStyle contained overflowClipBox padding paddingBottom
-  syntax keyword typescriptDOMStyle contained paddingLeft paddingRight paddingTop pageBreakAfter
-  syntax keyword typescriptDOMStyle contained pageBreakBefore pageBreakInside perspective
-  syntax keyword typescriptDOMStyle contained perspectiveOrigin pointerEvents position
-  syntax keyword typescriptDOMStyle contained quotes resize right shapeImageThreshold
-  syntax keyword typescriptDOMStyle contained shapeMargin shapeOutside tableLayout tabSize
-  syntax keyword typescriptDOMStyle contained textAlign textAlignLast textCombineHorizontal
-  syntax keyword typescriptDOMStyle contained textDecoration textDecorationColor textDecorationLine
-  syntax keyword typescriptDOMStyle contained textDecorationStyle textIndent textOrientation
-  syntax keyword typescriptDOMStyle contained textOverflow textRendering textShadow
-  syntax keyword typescriptDOMStyle contained textTransform textUnderlinePosition top
-  syntax keyword typescriptDOMStyle contained touchAction transform transformOrigin
-  syntax keyword typescriptDOMStyle contained transformStyle transition transitionDelay
-  syntax keyword typescriptDOMStyle contained transitionDuration transitionProperty
-  syntax keyword typescriptDOMStyle contained transitionTimingFunction unicodeBidi unicodeRange
-  syntax keyword typescriptDOMStyle contained userSelect userZoom verticalAlign visibility
-  syntax keyword typescriptDOMStyle contained whiteSpace width willChange wordBreak
-  syntax keyword typescriptDOMStyle contained wordSpacing wordWrap writingMode zIndex
-  hi def link typescriptDOMStyle Keyword
-
-
-
-  let typescript_props = 1
-  syntax keyword typescriptAnimationEvent contained animationend animationiteration
-  syntax keyword typescriptAnimationEvent contained animationstart beginEvent endEvent
-  syntax keyword typescriptAnimationEvent contained repeatEvent
-  syntax cluster events add=typescriptAnimationEvent
-  hi def link typescriptAnimationEvent Title
-  syntax keyword typescriptCSSEvent contained CssRuleViewRefreshed CssRuleViewChanged
-  syntax keyword typescriptCSSEvent contained CssRuleViewCSSLinkClicked transitionend
-  syntax cluster events add=typescriptCSSEvent
-  hi def link typescriptCSSEvent Title
-  syntax keyword typescriptDatabaseEvent contained blocked complete error success upgradeneeded
-  syntax keyword typescriptDatabaseEvent contained versionchange
-  syntax cluster events add=typescriptDatabaseEvent
-  hi def link typescriptDatabaseEvent Title
-  syntax keyword typescriptDocumentEvent contained DOMLinkAdded DOMLinkRemoved DOMMetaAdded
-  syntax keyword typescriptDocumentEvent contained DOMMetaRemoved DOMWillOpenModalDialog
-  syntax keyword typescriptDocumentEvent contained DOMModalDialogClosed unload
-  syntax cluster events add=typescriptDocumentEvent
-  hi def link typescriptDocumentEvent Title
-  syntax keyword typescriptDOMMutationEvent contained DOMAttributeNameChanged DOMAttrModified
-  syntax keyword typescriptDOMMutationEvent contained DOMCharacterDataModified DOMContentLoaded
-  syntax keyword typescriptDOMMutationEvent contained DOMElementNameChanged DOMNodeInserted
-  syntax keyword typescriptDOMMutationEvent contained DOMNodeInsertedIntoDocument DOMNodeRemoved
-  syntax keyword typescriptDOMMutationEvent contained DOMNodeRemovedFromDocument DOMSubtreeModified
-  syntax cluster events add=typescriptDOMMutationEvent
-  hi def link typescriptDOMMutationEvent Title
-  syntax keyword typescriptDragEvent contained drag dragdrop dragend dragenter dragexit
-  syntax keyword typescriptDragEvent contained draggesture dragleave dragover dragstart
-  syntax keyword typescriptDragEvent contained drop
-  syntax cluster events add=typescriptDragEvent
-  hi def link typescriptDragEvent Title
-  syntax keyword typescriptElementEvent contained invalid overflow underflow DOMAutoComplete
-  syntax keyword typescriptElementEvent contained command commandupdate
-  syntax cluster events add=typescriptElementEvent
-  hi def link typescriptElementEvent Title
-  syntax keyword typescriptFocusEvent contained blur change DOMFocusIn DOMFocusOut focus
-  syntax keyword typescriptFocusEvent contained focusin focusout
-  syntax cluster events add=typescriptFocusEvent
-  hi def link typescriptFocusEvent Title
-  syntax keyword typescriptFormEvent contained reset submit
-  syntax cluster events add=typescriptFormEvent
-  hi def link typescriptFormEvent Title
-  syntax keyword typescriptFrameEvent contained DOMFrameContentLoaded
-  syntax cluster events add=typescriptFrameEvent
-  hi def link typescriptFrameEvent Title
-  syntax keyword typescriptInputDeviceEvent contained click contextmenu DOMMouseScroll
-  syntax keyword typescriptInputDeviceEvent contained dblclick gamepadconnected gamepaddisconnected
-  syntax keyword typescriptInputDeviceEvent contained keydown keypress keyup MozGamepadButtonDown
-  syntax keyword typescriptInputDeviceEvent contained MozGamepadButtonUp mousedown mouseenter
-  syntax keyword typescriptInputDeviceEvent contained mouseleave mousemove mouseout
-  syntax keyword typescriptInputDeviceEvent contained mouseover mouseup mousewheel MozMousePixelScroll
-  syntax keyword typescriptInputDeviceEvent contained pointerlockchange pointerlockerror
-  syntax keyword typescriptInputDeviceEvent contained wheel
-  syntax cluster events add=typescriptInputDeviceEvent
-  hi def link typescriptInputDeviceEvent Title
-  syntax keyword typescriptMediaEvent contained audioprocess canplay canplaythrough
-  syntax keyword typescriptMediaEvent contained durationchange emptied ended ended loadeddata
-  syntax keyword typescriptMediaEvent contained loadedmetadata MozAudioAvailable pause
-  syntax keyword typescriptMediaEvent contained play playing ratechange seeked seeking
-  syntax keyword typescriptMediaEvent contained stalled suspend timeupdate volumechange
-  syntax keyword typescriptMediaEvent contained waiting complete
-  syntax cluster events add=typescriptMediaEvent
-  hi def link typescriptMediaEvent Title
-  syntax keyword typescriptMenuEvent contained DOMMenuItemActive DOMMenuItemInactive
-  syntax cluster events add=typescriptMenuEvent
-  hi def link typescriptMenuEvent Title
-  syntax keyword typescriptNetworkEvent contained datachange dataerror disabled enabled
-  syntax keyword typescriptNetworkEvent contained offline online statuschange connectionInfoUpdate
-  syntax cluster events add=typescriptNetworkEvent
-  hi def link typescriptNetworkEvent Title
-  syntax keyword typescriptProgressEvent contained abort error load loadend loadstart
-  syntax keyword typescriptProgressEvent contained progress timeout uploadprogress
-  syntax cluster events add=typescriptProgressEvent
-  hi def link typescriptProgressEvent Title
-  syntax keyword typescriptResourceEvent contained cached error load
-  syntax cluster events add=typescriptResourceEvent
-  hi def link typescriptResourceEvent Title
-  syntax keyword typescriptScriptEvent contained afterscriptexecute beforescriptexecute
-  syntax cluster events add=typescriptScriptEvent
-  hi def link typescriptScriptEvent Title
-  syntax keyword typescriptSensorEvent contained compassneedscalibration devicelight
-  syntax keyword typescriptSensorEvent contained devicemotion deviceorientation deviceproximity
-  syntax keyword typescriptSensorEvent contained orientationchange userproximity
-  syntax cluster events add=typescriptSensorEvent
-  hi def link typescriptSensorEvent Title
-  syntax keyword typescriptSessionHistoryEvent contained pagehide pageshow popstate
-  syntax cluster events add=typescriptSessionHistoryEvent
-  hi def link typescriptSessionHistoryEvent Title
-  syntax keyword typescriptStorageEvent contained change storage
-  syntax cluster events add=typescriptStorageEvent
-  hi def link typescriptStorageEvent Title
-  syntax keyword typescriptSVGEvent contained SVGAbort SVGError SVGLoad SVGResize SVGScroll
-  syntax keyword typescriptSVGEvent contained SVGUnload SVGZoom
-  syntax cluster events add=typescriptSVGEvent
-  hi def link typescriptSVGEvent Title
-  syntax keyword typescriptTabEvent contained visibilitychange
-  syntax cluster events add=typescriptTabEvent
-  hi def link typescriptTabEvent Title
-  syntax keyword typescriptTextEvent contained compositionend compositionstart compositionupdate
-  syntax keyword typescriptTextEvent contained copy cut paste select text
-  syntax cluster events add=typescriptTextEvent
-  hi def link typescriptTextEvent Title
-  syntax keyword typescriptTouchEvent contained touchcancel touchend touchenter touchleave
-  syntax keyword typescriptTouchEvent contained touchmove touchstart
-  syntax cluster events add=typescriptTouchEvent
-  hi def link typescriptTouchEvent Title
-  syntax keyword typescriptUpdateEvent contained checking downloading error noupdate
-  syntax keyword typescriptUpdateEvent contained obsolete updateready
-  syntax cluster events add=typescriptUpdateEvent
-  hi def link typescriptUpdateEvent Title
-  syntax keyword typescriptValueChangeEvent contained hashchange input readystatechange
-  syntax cluster events add=typescriptValueChangeEvent
-  hi def link typescriptValueChangeEvent Title
-  syntax keyword typescriptViewEvent contained fullscreen fullscreenchange fullscreenerror
-  syntax keyword typescriptViewEvent contained resize scroll
-  syntax cluster events add=typescriptViewEvent
-  hi def link typescriptViewEvent Title
-  syntax keyword typescriptWebsocketEvent contained close error message open
-  syntax cluster events add=typescriptWebsocketEvent
-  hi def link typescriptWebsocketEvent Title
-  syntax keyword typescriptWindowEvent contained DOMWindowCreated DOMWindowClose DOMTitleChanged
-  syntax cluster events add=typescriptWindowEvent
-  hi def link typescriptWindowEvent Title
-  syntax keyword typescriptUncategorizedEvent contained beforeunload message open show
-  syntax cluster events add=typescriptUncategorizedEvent
-  hi def link typescriptUncategorizedEvent Title
-  syntax keyword typescriptServiceWorkerEvent contained install activate fetch
-  syntax cluster events add=typescriptServiceWorkerEvent
-  hi def link typescriptServiceWorkerEvent Title
-
-
-endif
-
-" patch
-" patch for generated code
-syntax keyword typescriptGlobal Promise
-  \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
-syntax keyword typescriptGlobal Map WeakMap
-  \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
-
-syntax keyword typescriptConstructor           contained constructor
-  \ nextgroup=@typescriptCallSignature
-  \ skipwhite skipempty
-
-
-syntax cluster memberNextGroup contains=typescriptMemberOptionality,typescriptTypeAnnotation,@typescriptCallSignature
-
-syntax match typescriptMember /#\?\K\k*/
-  \ nextgroup=@memberNextGroup
-  \ contained skipwhite
-
-syntax match typescriptMethodAccessor contained /\v(get|set)\s\K/me=e-1
-  \ nextgroup=@typescriptMembers
-
-syntax cluster typescriptPropertyMemberDeclaration contains=
-  \ typescriptClassStatic,
-  \ typescriptAccessibilityModifier,
-  \ typescriptReadonlyModifier,
-  \ typescriptMethodAccessor,
-  \ @typescriptMembers
-  " \ typescriptMemberVariableDeclaration
-
-syntax match typescriptMemberOptionality /?\|!/ contained
-  \ nextgroup=typescriptTypeAnnotation,@typescriptCallSignature
-  \ skipwhite skipempty
-
-syntax cluster typescriptMembers contains=typescriptMember,typescriptStringMember,typescriptComputedMember
-
-syntax keyword typescriptClassStatic static
-  \ nextgroup=@typescriptMembers,typescriptAsyncFuncKeyword,typescriptReadonlyModifier
-  \ skipwhite contained
-
-syntax keyword typescriptAccessibilityModifier public private protected contained
-
-syntax keyword typescriptReadonlyModifier readonly contained
-
-syntax region  typescriptStringMember   contained
-  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1/
-  \ nextgroup=@memberNextGroup
-  \ skipwhite skipempty
-
-syntax region  typescriptComputedMember   contained matchgroup=typescriptProperty
-  \ start=/\[/rs=s+1 end=/]/
-  \ contains=@typescriptValue,typescriptMember,typescriptMappedIn
-  \ nextgroup=@memberNextGroup
-  \ skipwhite skipempty
-
-"don't add typescriptMembers to nextgroup, let outer scope match it
-" so we won't match abstract method outside abstract class
-syntax keyword typescriptAbstract              abstract
-  \ nextgroup=typescriptClassKeyword
-  \ skipwhite skipnl
-syntax keyword typescriptClassKeyword          class
-  \ nextgroup=typescriptClassName,typescriptClassExtends,typescriptClassBlock
-  \ skipwhite
-
-syntax match   typescriptClassName             contained /\K\k*/
-  \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptClassTypeParameter
-  \ skipwhite skipnl
-
-syntax region typescriptClassTypeParameter
-  \ start=/</ end=/>/
-  \ contains=@typescriptTypeParameterCluster
-  \ nextgroup=typescriptClassBlock,typescriptClassExtends
-  \ contained skipwhite skipnl
-
-syntax keyword typescriptClassExtends          contained extends implements nextgroup=typescriptClassHeritage skipwhite skipnl
-
-syntax match   typescriptClassHeritage         contained /\v(\k|\.|\(|\))+/
-  \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptMixinComma,typescriptClassTypeArguments
-  \ contains=@typescriptValue
-  \ skipwhite skipnl
-  \ contained
-
-syntax region typescriptClassTypeArguments matchgroup=typescriptTypeBrackets
-  \ start=/</ end=/>/
-  \ contains=@typescriptType
-  \ nextgroup=typescriptClassExtends,typescriptClassBlock,typescriptMixinComma
-  \ contained skipwhite skipnl
-
-syntax match typescriptMixinComma /,/ contained nextgroup=typescriptClassHeritage skipwhite skipnl
-
-" we need add arrowFunc to class block for high order arrow func
-" see test case
-syntax region  typescriptClassBlock matchgroup=typescriptBraces start=/{/ end=/}/
-  \ contains=@typescriptPropertyMemberDeclaration,typescriptAbstract,@typescriptComments,typescriptBlock,typescriptAssign,typescriptDecorator,typescriptAsyncFuncKeyword,typescriptArrowFunc
-  \ contained fold
-
-syntax keyword typescriptInterfaceKeyword          interface nextgroup=typescriptInterfaceName skipwhite
-syntax match   typescriptInterfaceName             contained /\k\+/
-  \ nextgroup=typescriptObjectType,typescriptInterfaceExtends,typescriptInterfaceTypeParameter
-  \ skipwhite skipnl
-syntax region typescriptInterfaceTypeParameter
-  \ start=/</ end=/>/
-  \ contains=@typescriptTypeParameterCluster
-  \ nextgroup=typescriptObjectType,typescriptInterfaceExtends
-  \ contained
-  \ skipwhite skipnl
-
-syntax keyword typescriptInterfaceExtends          contained extends nextgroup=typescriptInterfaceHeritage skipwhite skipnl
-
-syntax match typescriptInterfaceHeritage contained /\v(\k|\.)+/
-  \ nextgroup=typescriptObjectType,typescriptInterfaceComma,typescriptInterfaceTypeArguments
-  \ skipwhite
-
-syntax region typescriptInterfaceTypeArguments matchgroup=typescriptTypeBrackets
-  \ start=/</ end=/>/ skip=/\s*,\s*/
-  \ contains=@typescriptType
-  \ nextgroup=typescriptObjectType,typescriptInterfaceComma
-  \ contained skipwhite
-
-syntax match typescriptInterfaceComma /,/ contained nextgroup=typescriptInterfaceHeritage skipwhite skipnl
-
-"Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement
-syntax cluster typescriptStatement
-  \ contains=typescriptBlock,typescriptVariable,
-  \ @typescriptTopExpression,typescriptAssign,
-  \ typescriptConditional,typescriptRepeat,typescriptBranch,
-  \ typescriptLabel,typescriptStatementKeyword,
-  \ typescriptFuncKeyword,
-  \ typescriptTry,typescriptExceptions,typescriptDebugger,
-  \ typescriptExport,typescriptInterfaceKeyword,typescriptEnum,
-  \ typescriptModule,typescriptAliasKeyword,typescriptImport
-
-syntax cluster typescriptPrimitive  contains=typescriptString,typescriptTemplate,typescriptRegexpString,typescriptNumber,typescriptBoolean,typescriptNull,typescriptArray
-
-syntax cluster typescriptEventTypes            contains=typescriptEventString,typescriptTemplate,typescriptNumber,typescriptBoolean,typescriptNull
-
-" top level expression: no arrow func
-" also no func keyword. funcKeyword is contained in statement
-" funcKeyword allows overloading (func without body)
-" funcImpl requires body
-syntax cluster typescriptTopExpression
-  \ contains=@typescriptPrimitive,
-  \ typescriptIdentifier,typescriptIdentifierName,
-  \ typescriptOperator,typescriptUnaryOp,
-  \ typescriptParenExp,typescriptRegexpString,
-  \ typescriptGlobal,typescriptAsyncFuncKeyword,
-  \ typescriptClassKeyword,typescriptTypeCast
-
-" no object literal, used in type cast and arrow func
-" TODO: change func keyword to funcImpl
-syntax cluster typescriptExpression
-  \ contains=@typescriptTopExpression,
-  \ typescriptArrowFuncDef,
-  \ typescriptFuncImpl
-
-syntax cluster typescriptValue
-  \ contains=@typescriptExpression,typescriptObjectLiteral
-
-syntax cluster typescriptEventExpression       contains=typescriptArrowFuncDef,typescriptParenExp,@typescriptValue,typescriptRegexpString,@typescriptEventTypes,typescriptOperator,typescriptGlobal,jsxRegion
-
-syntax keyword typescriptAsyncFuncKeyword      async
-  \ nextgroup=typescriptFuncKeyword,typescriptArrowFuncDef
-  \ skipwhite
-
-syntax keyword typescriptAsyncFuncKeyword      await
-  \ nextgroup=@typescriptValue
-  \ skipwhite
-
-syntax keyword typescriptFuncKeyword           function
-  \ nextgroup=typescriptAsyncFunc,typescriptFuncName,@typescriptCallSignature
-  \ skipwhite skipempty
-
-syntax match   typescriptAsyncFunc             contained /*/
-  \ nextgroup=typescriptFuncName,@typescriptCallSignature
-  \ skipwhite skipempty
-
-syntax match   typescriptFuncName              contained /\K\k*/
-  \ nextgroup=@typescriptCallSignature
-  \ skipwhite
-
-" destructuring ({ a: ee }) =>
-syntax match   typescriptArrowFuncDef          contained /(\(\s*\({\_[^}]*}\|\k\+\)\(:\_[^)]\)\?,\?\)\+)\s*=>/
-  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
-  \ nextgroup=@typescriptExpression,typescriptBlock
-  \ skipwhite skipempty
-
-" matches `(a) =>` or `([a]) =>` or
-" `(
-"  a) =>`
-syntax match   typescriptArrowFuncDef          contained /(\(\_s*[a-zA-Z\$_\[.]\_[^)]*\)*)\s*=>/
-  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
-  \ nextgroup=@typescriptExpression,typescriptBlock
-  \ skipwhite skipempty
-
-syntax match   typescriptArrowFuncDef          contained /\K\k*\s*=>/
-  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
-  \ nextgroup=@typescriptExpression,typescriptBlock
-  \ skipwhite skipempty
-
-" TODO: optimize this pattern
-syntax region   typescriptArrowFuncDef          contained start=/(\_[^(^)]*):/ end=/=>/
-  \ contains=typescriptArrowFuncArg,typescriptArrowFunc,typescriptTypeAnnotation
-  \ nextgroup=@typescriptExpression,typescriptBlock
-  \ skipwhite skipempty keepend
-
-syntax match   typescriptArrowFunc             /=>/
-syntax match   typescriptArrowFuncArg          contained /\K\k*/
-syntax region  typescriptArrowFuncArg          contained start=/<\|(/ end=/\ze=>/ contains=@typescriptCallSignature
-
-syntax region typescriptReturnAnnotation contained start=/:/ end=/{/me=e-1 contains=@typescriptType nextgroup=typescriptBlock
-
-
-syntax region typescriptFuncImpl contained start=/function\>/ end=/{/me=e-1
-  \ contains=typescriptFuncKeyword
-  \ nextgroup=typescriptBlock
-
-syntax cluster typescriptCallImpl contains=typescriptGenericImpl,typescriptParamImpl
-syntax region typescriptGenericImpl matchgroup=typescriptTypeBrackets
-  \ start=/</ end=/>/ skip=/\s*,\s*/
-  \ contains=typescriptTypeParameter
-  \ nextgroup=typescriptParamImpl
-  \ contained skipwhite
-syntax region typescriptParamImpl matchgroup=typescriptParens
-  \ start=/(/ end=/)/
-  \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
-  \ nextgroup=typescriptReturnAnnotation,typescriptBlock
-  \ contained skipwhite skipnl
-
-syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>/
-  \ nextgroup=typescriptFuncCallArg,typescriptTypeArguments
-  \ contains=@_semantic,typescriptDotNotation
-
-" Define the default highlighting.
-hi def link typescriptReserved             Error
-
-hi def link typescriptEndColons            Exception
-hi def link typescriptSymbols              Normal
-hi def link typescriptBraces               Function
-hi def link typescriptParens               Normal
-hi def link typescriptComment              Comment
-hi def link typescriptLineComment          Comment
-hi def link typescriptDocComment           Comment
-hi def link typescriptCommentTodo          Todo
-hi def link typescriptMagicComment         SpecialComment
-hi def link typescriptRef                  Include
-hi def link typescriptDocNotation          SpecialComment
-hi def link typescriptDocTags              SpecialComment
-hi def link typescriptDocNGParam           typescriptDocParam
-hi def link typescriptDocParam             Function
-hi def link typescriptDocNumParam          Function
-hi def link typescriptDocEventRef          Function
-hi def link typescriptDocNamedParamType    Type
-hi def link typescriptDocParamName         Type
-hi def link typescriptDocParamType         Type
-hi def link typescriptString               String
-hi def link typescriptSpecial              Special
-hi def link typescriptStringLiteralType    String
-hi def link typescriptTemplateLiteralType  String
-hi def link typescriptStringMember         String
-hi def link typescriptTemplate             String
-hi def link typescriptEventString          String
-hi def link typescriptDestructureString    String
-hi def link typescriptASCII                Special
-hi def link typescriptTemplateSB           Label
-hi def link typescriptRegexpString         String
-hi def link typescriptGlobal               Constant
-hi def link typescriptTestGlobal           Function
-hi def link typescriptPrototype            Type
-hi def link typescriptConditional          Conditional
-hi def link typescriptConditionalElse      Conditional
-hi def link typescriptCase                 Conditional
-hi def link typescriptDefault              typescriptCase
-hi def link typescriptBranch               Conditional
-hi def link typescriptIdentifier           Structure
-hi def link typescriptVariable             Identifier
-hi def link typescriptDestructureVariable  PreProc
-hi def link typescriptEnumKeyword          Identifier
-hi def link typescriptRepeat               Repeat
-hi def link typescriptForOperator          Repeat
-hi def link typescriptStatementKeyword     Statement
-hi def link typescriptMessage              Keyword
-hi def link typescriptOperator             Identifier
-hi def link typescriptKeywordOp            Identifier
-hi def link typescriptCastKeyword          Special
-hi def link typescriptType                 Type
-hi def link typescriptNull                 Boolean
-hi def link typescriptNumber               Number
-hi def link typescriptBoolean              Boolean
-hi def link typescriptObjectLabel          typescriptLabel
-hi def link typescriptDestructureLabel     Function
-hi def link typescriptLabel                Label
-hi def link typescriptTupleLable           Label
-hi def link typescriptStringProperty       String
-hi def link typescriptImport               Special
-hi def link typescriptImportType           Special
-hi def link typescriptAmbientDeclaration   Special
-hi def link typescriptExport               Special
-hi def link typescriptExportType           Special
-hi def link typescriptModule               Special
-hi def link typescriptTry                  Special
-hi def link typescriptExceptions           Special
-
-hi def link typescriptMember              Function
-hi def link typescriptMethodAccessor       Operator
-
-hi def link typescriptAsyncFuncKeyword     Keyword
-hi def link typescriptObjectAsyncKeyword   Keyword
-hi def link typescriptAsyncFor             Keyword
-hi def link typescriptFuncKeyword          Keyword
-hi def link typescriptAsyncFunc            Keyword
-hi def link typescriptArrowFunc            Type
-hi def link typescriptFuncName             Function
-hi def link typescriptFuncArg              PreProc
-hi def link typescriptArrowFuncArg         PreProc
-hi def link typescriptFuncComma            Operator
-
-hi def link typescriptClassKeyword         Keyword
-hi def link typescriptClassExtends         Keyword
-" hi def link typescriptClassName            Function
-hi def link typescriptAbstract             Special
-" hi def link typescriptClassHeritage        Function
-" hi def link typescriptInterfaceHeritage    Function
-hi def link typescriptClassStatic          StorageClass
-hi def link typescriptReadonlyModifier     Keyword
-hi def link typescriptInterfaceKeyword     Keyword
-hi def link typescriptInterfaceExtends     Keyword
-hi def link typescriptInterfaceName        Function
-
-hi def link shellbang                      Comment
-
-hi def link typescriptTypeParameter         Identifier
-hi def link typescriptConstraint            Keyword
-hi def link typescriptPredefinedType        Type
-hi def link typescriptReadonlyArrayKeyword  Keyword
-hi def link typescriptUnion                 Operator
-hi def link typescriptFuncTypeArrow         Function
-hi def link typescriptConstructorType       Function
-hi def link typescriptTypeQuery             Keyword
-hi def link typescriptAccessibilityModifier Keyword
-hi def link typescriptOptionalMark          PreProc
-hi def link typescriptFuncType              Special
-hi def link typescriptMappedIn              Special
-hi def link typescriptCall                  PreProc
-hi def link typescriptParamImpl             PreProc
-hi def link typescriptConstructSignature    Identifier
-hi def link typescriptAliasDeclaration      Identifier
-hi def link typescriptAliasKeyword          Keyword
-hi def link typescriptUserDefinedType       Keyword
-hi def link typescriptTypeReference         Identifier
-hi def link typescriptConstructor           Keyword
-hi def link typescriptDecorator             Special
-hi def link typescriptAssertType            Keyword
-
-hi link typeScript             NONE
-
-if exists('s:cpo_save')
-  let &cpo = s:cpo_save
-  unlet s:cpo_save
-endif
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 9.0 script
 " Maintainer:	Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
-" Last Change:	July 01, 2022
-" Version:	9.0-01
+" Last Change:	August 17, 2022
+" Version:	9.0-02
 " URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
@@ -78,12 +78,12 @@ syn match vimHLGroup contained	"Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	abs argc assert_equal assert_match atan balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled extendnew findfile fnameescape foldtextresult get getcharmod getcmdpos getcursorcharpos getftime getmarklist getreg gettagstack getwinvar haslocaldir hlexists indent inputsave isdirectory job_info join keys line2byte listener_flush luaeval mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_setmouse timer_info tolower type values winbufnr win_getid win_id2win winnr win_splitmove
-syn keyword vimFuncName contained	acos argidx assert_equalfile assert_nobeep atan2 balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdscreenpos getcwd getftype getmatches getreginfo gettext glob hasmapto hlget index inputsecret isinf job_setoptions js_decode len lispindent listener_remove map mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_settime timer_pause toupper typename virtcol wincol win_gettype winlayout winrestcmd winwidth
-syn keyword vimFuncName contained	add arglistid assert_exception assert_notequal autocmd_add blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcmdtype getenv getimstatus getmousepos getregtype getwininfo glob2regpat histadd hlID input insert islocked job_start js_encode libcall list2blob localtime maparg match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_srand_seed timer_start tr undofile virtcol2col windowsversion win_gotoid winline winrestview wordcount
-syn keyword vimFuncName contained	and argv assert_fails assert_notmatch autocmd_delete browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filewritable float2nr foldclosedend funcref getbufvar getcharstr getcmdwintype getfontname getjumplist getpid gettabinfo getwinpos globpath histdel hlset inputdialog interrupt isnan job_status json_decode libcallnr list2str log mapcheck matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_unknown timer_stop trim undotree visualmode win_execute winheight win_move_separator winsaveview writefile
-syn keyword vimFuncName contained	append asin assert_false assert_report autocmd_get browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath expr10 filter floor foldlevel function getchangelist getcmdcompltype getcompletion getfperm getline getpos gettabvar getwinposx has histget hostname inputlist invert items job_stop json_encode line listener_add log10 maplist matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_void timer_stopall trunc uniq wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
-syn keyword vimFuncName contained	appendbufline assert_beeps assert_inrange assert_true balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extend finddir fmod foldtext garbagecollect getchar getcmdline getcurpos getfsize getloclist getqflist gettabwinvar getwinposy has_key histnr iconv inputrestore isabsolutepath job_getchannel
+syn keyword vimFuncName contained	abs argc assert_equal assert_match atan balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled extendnew findfile fnameescape foldtextresult get getcharmod getcmdpos getcursorcharpos getftime getmarklist getreg gettagstack getwinvar haslocaldir hlexists indent inputrestore isabsolutepath job_getchannel join keys line2byte listener_flush luaeval mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_setmouse timer_info tolower type values winbufnr win_getid win_id2win winnr win_splitmove
+syn keyword vimFuncName contained	acos argidx assert_equalfile assert_nobeep atan2 balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdscreenpos getcwd getftype getmatches getreginfo gettext glob hasmapto hlget index inputsave isdirectory job_info js_decode len lispindent listener_remove map mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_settime timer_pause toupper typename virtcol wincol win_gettype winlayout winrestcmd winwidth
+syn keyword vimFuncName contained	add arglistid assert_exception assert_notequal autocmd_add blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcmdtype getenv getimstatus getmousepos getregtype getwininfo glob2regpat histadd hlID indexof inputsecret isinf job_setoptions js_encode libcall list2blob localtime maparg match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_srand_seed timer_start tr undofile virtcol2col windowsversion win_gotoid winline winrestview wordcount
+syn keyword vimFuncName contained	and argv assert_fails assert_notmatch autocmd_delete browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filewritable float2nr foldclosedend funcref getbufvar getcharstr getcmdwintype getfontname getjumplist getpid gettabinfo getwinpos globpath histdel hlset input insert islocked job_start json_decode libcallnr list2str log mapcheck matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_unknown timer_stop trim undotree visualmode win_execute winheight win_move_separator winsaveview writefile
+syn keyword vimFuncName contained	append asin assert_false assert_report autocmd_get browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath expr10 filter floor foldlevel function getchangelist getcmdcompltype getcompletion getfperm getline getpos gettabvar getwinposx has histget hostname inputdialog interrupt isnan job_status json_encode line listener_add log10 maplist matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_void timer_stopall trunc uniq wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
+syn keyword vimFuncName contained	appendbufline assert_beeps assert_inrange assert_true balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extend finddir fmod foldtext garbagecollect getchar getcmdline getcurpos getfsize getloclist getqflist gettabwinvar getwinposy has_key histnr iconv inputlist invert items job_stop
 
 "--- syntax here and above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -52,11 +52,14 @@ 1. Microsoft Visual C++
 
 We do not provide download links, since Microsoft keeps changing them.  You
 can search for "Visual Studio Community 2015", for example.  You will need to
-create a Microsoft account (it's free).
+create a Microsoft account (it's free).  You need to download the "DVD", and
+execute the installer from it.
 
-When installing "Visual Studio Community 2015 with Update 3" make sure to
+When installing "Visual Studio Community 2015 with Update 3" or "Visual C++
+Build Tools for Visual Studio 2015 with Update 3" make sure to
 select "custom" and check "Windows XP Support for C++" and all checkboxes
-under "Universal Windows App Development Tools"
+under "Universal Windows App Development Tools".  Or whatevern they are called
+now.
 
 
 Visual Studio