changeset 704:1e0f578f6752

Update vendor and add support for vim packs
author nanaya <me@nanaya.net>
date Sun, 18 Dec 2022 20:06:46 +0900
parents b7cd7465cc26
children 500c3e9bf73f
files rc/vimrc setup update-vendor vendor/vim-colors/codedark.vim vendor/vim-colors/srcery.vim vendor/vim-packs/srcery-vim/.github/dependabot.yaml vendor/vim-packs/srcery-vim/.github/workflows/lint.yaml vendor/vim-packs/srcery-vim/.gitignore vendor/vim-packs/srcery-vim/LICENSE vendor/vim-packs/srcery-vim/README.md vendor/vim-packs/srcery-vim/after/plugin/srcery.vim vendor/vim-packs/srcery-vim/after/syntax/c.vim vendor/vim-packs/srcery-vim/after/syntax/coffee.vim vendor/vim-packs/srcery-vim/after/syntax/css.vim vendor/vim-packs/srcery-vim/after/syntax/elixir.vim vendor/vim-packs/srcery-vim/after/syntax/flow.vim vendor/vim-packs/srcery-vim/after/syntax/gitcommit.vim vendor/vim-packs/srcery-vim/after/syntax/go.vim vendor/vim-packs/srcery-vim/after/syntax/haskell.vim vendor/vim-packs/srcery-vim/after/syntax/html.vim vendor/vim-packs/srcery-vim/after/syntax/java.vim vendor/vim-packs/srcery-vim/after/syntax/javascript.vim vendor/vim-packs/srcery-vim/after/syntax/javascriptreact.vim vendor/vim-packs/srcery-vim/after/syntax/json.vim vendor/vim-packs/srcery-vim/after/syntax/jsonc.vim vendor/vim-packs/srcery-vim/after/syntax/lisp.vim vendor/vim-packs/srcery-vim/after/syntax/lua.vim vendor/vim-packs/srcery-vim/after/syntax/make.vim vendor/vim-packs/srcery-vim/after/syntax/markdown.vim vendor/vim-packs/srcery-vim/after/syntax/moon.vim vendor/vim-packs/srcery-vim/after/syntax/objc.vim vendor/vim-packs/srcery-vim/after/syntax/python.vim vendor/vim-packs/srcery-vim/after/syntax/ruby.vim vendor/vim-packs/srcery-vim/after/syntax/rust.vim vendor/vim-packs/srcery-vim/after/syntax/scala.vim vendor/vim-packs/srcery-vim/after/syntax/scss.vim vendor/vim-packs/srcery-vim/after/syntax/sh.vim vendor/vim-packs/srcery-vim/after/syntax/typescript.vim vendor/vim-packs/srcery-vim/after/syntax/typescriptreact.vim vendor/vim-packs/srcery-vim/after/syntax/vim.vim vendor/vim-packs/srcery-vim/after/syntax/xml.vim vendor/vim-packs/srcery-vim/autoload/airline/themes/srcery.vim vendor/vim-packs/srcery-vim/autoload/clap/themes/srcery.vim vendor/vim-packs/srcery-vim/autoload/lightline/colorscheme/srcery.vim vendor/vim-packs/srcery-vim/autoload/srcery.vim vendor/vim-packs/srcery-vim/autoload/srcery/helper.vim vendor/vim-packs/srcery-vim/colors/srcery.vim vendor/vim-packs/srcery-vim/doc/srcery.txt vendor/vim-syntax/nginx.vim
diffstat 49 files changed, 2984 insertions(+), 2103 deletions(-) [+]
line wrap: on
line diff
--- a/rc/vimrc	Sun Dec 18 19:29:43 2022 +0900
+++ b/rc/vimrc	Sun Dec 18 20:06:46 2022 +0900
@@ -84,6 +84,7 @@
     "autocmd colorscheme * highlight specialkey ctermfg=gray
   endif
 
+  packadd! srcery-vim
   let g:srcery_bg_passthrough=1
   colorscheme srcery
 endif
--- a/setup	Sun Dec 18 19:29:43 2022 +0900
+++ b/setup	Sun Dec 18 20:06:46 2022 +0900
@@ -173,6 +173,19 @@
   _echo ...done
 }
 
+_vim_packs() {
+  case "${1}" in
+    install) _echon "Symlinking vim packs...";;
+    uninstall) _echon "Removing vim packs...";;
+  esac
+
+  for i in "${basedir}/vendor/vim-packs"/*; do
+    pack_name="`basename "/${i}"`"
+    _echon "[${pack_name}]"
+    _rc "${1}" "../vendor/vim-packs/${pack_name}" ".vim/pack/default/opt/${pack_name}" > /dev/null
+  done
+}
+
 _upgrade() {
   for i in bash bash.after bash.before bin tcsh tcsh.after tcsh.before zsh zsh.after zsh.before; do
     src="${HOME}/.ecos_${i}"
@@ -213,6 +226,7 @@
     _vim_x "${1}" autoload
     _vim_x "${1}" colors
     _vim_x "${1}" syntax
+    _vim_packs "${1}"
     _rc "${1}" "vimrc" ".vimrc"
     _rc "${1}" "irbrc" ".irbrc"
   ;;
--- a/update-vendor	Sun Dec 18 19:29:43 2022 +0900
+++ b/update-vendor	Sun Dec 18 20:06:46 2022 +0900
@@ -4,12 +4,13 @@
 set -e
 
 
-if command -v wget > /dev/null 2>&1; then :
-else
-  echo wget is required
-  exit 1
-fi
-
+for _cmd in wget unzip; do
+  if command -v "$_cmd" > /dev/null 2>&1; then :
+  else
+    echo "${_cmd} is required"
+    exit 1
+  fi
+done
 
 _get() {
   (
@@ -20,15 +21,28 @@
   )
 }
 
+_get_pack_github() {
+  (
+    mkdir -p "$1" && cd "$1"
+    wget -nv -O - "$2" | unzip -q -
+    # hopefully only one directory inside
+    _dirname="$(echo *)"
+    mv "./${_dirname}"/* ./
+    mv "./${_dirname}"/.??* ./
+    rmdir "./${_dirname}"
+  )
+}
 
+_autoloads() {
 (
   cd "$(dirname "$0")/vendor/vim-autoload"
 
   rm -f ./*.vim ./*/*.vim
   _get "https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim"
 )
+}
 
-
+_syntaxes() {
 (
   cd "$(dirname "$0")/vendor/vim-syntax"
 
@@ -48,12 +62,29 @@
   _get https://raw.githubusercontent.com/vim/vim/master/runtime/syntax/shared/typescriptcommon.vim shared
   _get https://raw.githubusercontent.com/vim/vim/master/runtime/syntax/typescriptreact.vim
 )
+}
 
+_colors() {
 (
   cd "$(dirname "$0")/vendor/vim-colors"
 
   rm -f ./*.vim ./*/*.vim
   _get https://raw.githubusercontent.com/NLKNguyen/papercolor-theme/master/colors/PaperColor.vim
-  _get https://raw.githubusercontent.com/srcery-colors/srcery-vim/master/colors/srcery.vim
   _get https://raw.githubusercontent.com/tomasiser/vim-code-dark/master/colors/codedark.vim
 )
+}
+
+_packs() {
+(
+  cd "$(dirname "$0")/vendor/vim-packs"
+
+  touch empty
+  rm -rf ./*
+  _get_pack_github "srcery-vim" "https://github.com/srcery-colors/srcery-vim/archive/refs/heads/master.zip"
+)
+}
+
+_autoloads
+_syntaxes
+_colors
+_packs
--- a/vendor/vim-colors/codedark.vim	Sun Dec 18 19:29:43 2022 +0900
+++ b/vendor/vim-colors/codedark.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -30,6 +30,10 @@
     exec "hi " . a:group . " guisp=" . a:sp.gui
   endif
 endfun
+" Choose old or new name for Treesitter groups depending on Neovim version
+fun! <sid>hiTS(g_new, g_old, fg, bg, attr, sp)
+    call <sid>hi(has("nvim-0.8.0")? a:g_new : a:g_old, a:fg, a:bg, a:attr, a:sp)
+endfun
 
 " ------------------
 " Color definitions:
@@ -106,7 +110,7 @@
 let s:cdDiffBlueLight = {'gui': '#87d7ff', 'cterm': s:cterm0C, 'cterm256': '117'}
 let s:cdDiffBlue = {'gui': '#005f87', 'cterm': s:cterm0D, 'cterm256': '24'}
 
-let s:cdSearchCurrent = {'gui': '#4B5632', 'cterm': s:cterm09, 'cterm256': '58'} 
+let s:cdSearchCurrent = {'gui': '#4B5632', 'cterm': s:cterm09, 'cterm256': '58'}
 let s:cdSearch = {'gui': '#264F78', 'cterm': s:cterm03, 'cterm256': '24'}
 
 " Syntax colors:
@@ -243,61 +247,61 @@
 
 
 " Neovim Treesitter:
-call <sid>hi('TSError', s:cdRed, {}, 'none', {})
-call <sid>hi('TSPunctDelimiter', s:cdFront, {}, 'none', {})
-call <sid>hi('TSPunctBracket', s:cdFront, {}, 'none', {})
-call <sid>hi('TSPunctSpecial', s:cdFront, {}, 'none', {})
+call <sid>hiTS('@error', 'TSError', s:cdRed, {}, 'none', {})
+call <sid>hiTS('@punctuation.delimiter', 'TSPunctDelimiter', s:cdFront, {}, 'none', {})
+call <sid>hiTS('@punctuation.bracket', 'TSPunctBracket', s:cdFront, {}, 'none', {})
+call <sid>hiTS('@punctuation.special', 'TSPunctSpecial', s:cdFront, {}, 'none', {})
 " Constant
-call <sid>hi('TSConstant', s:cdYellow, {}, 'none', {})
-call <sid>hi('TSConstBuiltin', s:cdBlue, {}, 'none', {})
-call <sid>hi('TSConstMacro', s:cdBlueGreen, {}, 'none', {})
-call <sid>hi('TSStringRegex', s:cdOrange, {}, 'none', {})
-call <sid>hi('TSString', s:cdOrange, {}, 'none', {})
-call <sid>hi('TSStringEscape', s:cdYellowOrange, {}, 'none', {})
-call <sid>hi('TSCharacter', s:cdOrange, {}, 'none', {})
-call <sid>hi('TSNumber', s:cdLightGreen, {}, 'none', {})
-call <sid>hi('TSBoolean', s:cdBlue, {}, 'none', {})
-call <sid>hi('TSFloat', s:cdLightGreen, {}, 'none', {})
-call <sid>hi('TSAnnotation', s:cdYellow, {}, 'none', {})
-call <sid>hi('TSAttribute', s:cdBlueGreen, {}, 'none', {})
-call <sid>hi('TSNamespace', s:cdBlueGreen, {}, 'none', {})
+call <sid>hiTS('@constant', 'TSConstant', s:cdYellow, {}, 'none', {})
+call <sid>hiTS('@constant.builtin', 'TSConstBuiltin', s:cdBlue, {}, 'none', {})
+call <sid>hiTS('@constant.macro', 'TSConstMacro', s:cdBlueGreen, {}, 'none', {})
+call <sid>hiTS('@string.regex', 'TSStringRegex', s:cdOrange, {}, 'none', {})
+call <sid>hiTS('@string', 'TSString', s:cdOrange, {}, 'none', {})
+call <sid>hiTS('@string.escape', 'TSStringEscape', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@character', 'TSCharacter', s:cdOrange, {}, 'none', {})
+call <sid>hiTS('@number', 'TSNumber', s:cdLightGreen, {}, 'none', {})
+call <sid>hiTS('@boolean', 'TSBoolean', s:cdBlue, {}, 'none', {})
+call <sid>hiTS('@float', 'TSFloat', s:cdLightGreen, {}, 'none', {})
+call <sid>hiTS('@annotation', 'TSAnnotation', s:cdYellow, {}, 'none', {})
+call <sid>hiTS('@attribute', 'TSAttribute', s:cdBlueGreen, {}, 'none', {})
+call <sid>hiTS('@namespace', 'TSNamespace', s:cdBlueGreen, {}, 'none', {})
 " Functions
-call <sid>hi('TSFuncBuiltin', s:cdYellow, {}, 'none', {})
-call <sid>hi('TSFunction', s:cdYellow, {}, 'none', {})
-call <sid>hi('TSFuncMacro', s:cdYellow, {}, 'none', {})
-call <sid>hi('TSParameter', s:cdLightBlue, {}, 'none', {})
-call <sid>hi('TSParameterReference', s:cdLightBlue, {}, 'none', {})
-call <sid>hi('TSMethod', s:cdYellow, {}, 'none', {})
-call <sid>hi('TSField', s:cdLightBlue, {}, 'none', {})
-call <sid>hi('TSProperty', s:cdLightBlue, {}, 'none', {})
-call <sid>hi('TSConstructor', s:cdBlueGreen, {}, 'none', {})
+call <sid>hiTS('@function.builtin', 'TSFuncBuiltin', s:cdYellow, {}, 'none', {})
+call <sid>hiTS('@function', 'TSFunction', s:cdYellow, {}, 'none', {})
+call <sid>hiTS('@function.macro', 'TSFuncMacro', s:cdYellow, {}, 'none', {})
+call <sid>hiTS('@parameter', 'TSParameter', s:cdLightBlue, {}, 'none', {})
+call <sid>hiTS('@parameter.reference', 'TSParameterReference', s:cdLightBlue, {}, 'none', {})
+call <sid>hiTS('@method', 'TSMethod', s:cdYellow, {}, 'none', {})
+call <sid>hiTS('@field', 'TSField', s:cdLightBlue, {}, 'none', {})
+call <sid>hiTS('@property', 'TSProperty', s:cdLightBlue, {}, 'none', {})
+call <sid>hiTS('@constructor', 'TSConstructor', s:cdBlueGreen, {}, 'none', {})
 " Keywords
-call <sid>hi('TSConditional', s:cdPink, {}, 'none', {})
-call <sid>hi('TSRepeat', s:cdPink, {}, 'none', {})
-call <sid>hi('TSLabel', s:cdLightBlue, {}, 'none', {})
-call <sid>hi('TSKeyword', s:cdBlue, {}, 'none', {})
-call <sid>hi('TSKeywordFunction', s:cdBlue, {}, 'none', {})
-call <sid>hi('TSKeywordOperator', s:cdBlue, {}, 'none', {})
-call <sid>hi('TSOperator', s:cdFront, {}, 'none', {})
-call <sid>hi('TSException', s:cdPink, {}, 'none', {})
-call <sid>hi('TSType', s:cdBlueGreen, {}, 'none', {})
-call <sid>hi('TSTypeBuiltin', s:cdBlue, {}, 'none', {})
+call <sid>hiTS('@conditional', 'TSConditional', s:cdPink, {}, 'none', {})
+call <sid>hiTS('@repeat', 'TSRepeat', s:cdPink, {}, 'none', {})
+call <sid>hiTS('@label', 'TSLabel', s:cdLightBlue, {}, 'none', {})
+call <sid>hiTS('@keyword', 'TSKeyword', s:cdBlue, {}, 'none', {})
+call <sid>hiTS('@keyword.function', 'TSKeywordFunction', s:cdBlue, {}, 'none', {})
+call <sid>hiTS('@keyword.operator', 'TSKeywordOperator', s:cdBlue, {}, 'none', {})
+call <sid>hiTS('@operator', 'TSOperator', s:cdFront, {}, 'none', {})
+call <sid>hiTS('@exception', 'TSException', s:cdPink, {}, 'none', {})
+call <sid>hiTS('@type', 'TSType', s:cdBlueGreen, {}, 'none', {})
+call <sid>hiTS('@type.builtin', 'TSTypeBuiltin', s:cdBlue, {}, 'none', {})
 call <sid>hi('TSStructure', s:cdLightBlue, {}, 'none', {})
-call <sid>hi('TSInclude', s:cdPink, {}, 'none', {})
+call <sid>hiTS('@include', 'TSInclude', s:cdPink, {}, 'none', {})
 " Variable
-call <sid>hi('TSVariable', s:cdLightBlue, {}, 'none', {})
-call <sid>hi('TSVariableBuiltin', s:cdLightBlue, {}, 'none', {})
+call <sid>hiTS('@variable', 'TSVariable', s:cdLightBlue, {}, 'none', {})
+call <sid>hiTS('@variable.builtin', 'TSVariableBuiltin', s:cdLightBlue, {}, 'none', {})
 " Text
-call <sid>hi('TSText', s:cdYellowOrange, {}, 'none', {})
-call <sid>hi('TSStrong', s:cdYellowOrange, {}, 'none', {})
-call <sid>hi('TSEmphasis', s:cdYellowOrange, {}, 'none', {})
-call <sid>hi('TSUnderline', s:cdYellowOrange, {}, 'none', {})
-call <sid>hi('TSTitle', s:cdYellowOrange, {}, 'none', {})
-call <sid>hi('TSLiteral', s:cdYellowOrange, {}, 'none', {})
-call <sid>hi('TSURI', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@text', 'TSText', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@text.strong', 'TSStrong', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@text.emphasis', 'TSEmphasis', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@text.underline', 'TSUnderline', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@text.title', 'TSTitle', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@text.literal', 'TSLiteral', s:cdYellowOrange, {}, 'none', {})
+call <sid>hiTS('@text.uri', 'TSURI', s:cdYellowOrange, {}, 'none', {})
 " Tags
-call <sid>hi('TSTag', s:cdBlue, {}, 'none', {})
-call <sid>hi('TSTagDelimiter', s:cdGray, {}, 'none', {})
+call <sid>hiTS('@tag', 'TSTag', s:cdBlue, {}, 'none', {})
+call <sid>hiTS('@tag.delimiter', 'TSTagDelimiter', s:cdGray, {}, 'none', {})
 
 " Markdown:
 call <sid>hi('markdownH1', s:cdBlue, {}, 'bold', {})
@@ -616,7 +620,7 @@
 call <sid>hi('CocExplorerIndentLine', s:cdCursorDark, {}, 'none', {})
 
 " nvim-cmp
-call <sid>hi('CmpItemAbbrDeprecated', s:cdGray, {}, 'strikethrough', {})
+call <sid>hi('CmpItemAbbrDeprecated', s:cdGray, {}, 'none', {})
 call <sid>hi('CmpItemAbbrMatch', s:cdBlue, {}, 'none', {})
 call <sid>hi('CmpItemAbbrMatchFuzzy', s:cdBlue, {}, 'none', {})
 call <sid>hi('CmpItemKindVariable', s:cdLightBlue, {}, 'none', {})
--- a/vendor/vim-colors/srcery.vim	Sun Dec 18 19:29:43 2022 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1301 +0,0 @@
-" 'srcery.vim' -- Vim color scheme.
-" Maintainer:   Roosta (mail@roosta.sh)
-" Description:  Colorscheme that focus ease of use and clearly defined contrasting colors with a slightly earthy tone.
-" Original Source: https://github.com/morhetz/gruvbox
-
-scriptencoding utf-8
-
-set background=dark
-
-if v:version > 580
-  hi clear
-  if exists('syntax_on')
-    syntax reset
-  endif
-endif
-
-let g:colors_name='srcery'
-
-if !has('gui_running') && &t_Co != 256
-  finish
-endif
-
-" Setup Variables: {{{1
-" Colors {{{2
-
-if !exists('g:srcery_black')
-  let g:srcery_black='#1C1B19'
-endif
-
-if !exists('g:srcery_red')
-  let g:srcery_red='#EF2F27'
-endif
-
-if !exists('g:srcery_green')
-  let g:srcery_green='#519F50'
-endif
-
-if !exists('g:srcery_yellow')
-  let g:srcery_yellow='#FBB829'
-endif
-
-if !exists('g:srcery_blue')
-  let g:srcery_blue='#2C78BF'
-endif
-
-if !exists('g:srcery_magenta')
-  let g:srcery_magenta='#E02C6D'
-endif
-
-if !exists('g:srcery_cyan')
-  let g:srcery_cyan='#0AAEB3'
-endif
-
-if !exists('g:srcery_white')
-  let g:srcery_white='#BAA67F'
-endif
-
-if !exists('g:srcery_bright_black')
-  let g:srcery_bright_black='#918175'
-endif
-
-if !exists('g:srcery_bright_red')
-  let g:srcery_bright_red='#F75341'
-endif
-
-if !exists('g:srcery_bright_green')
-  let g:srcery_bright_green='#98BC37'
-endif
-
-if !exists('g:srcery_bright_yellow')
-  let g:srcery_bright_yellow='#FED06E'
-endif
-
-if !exists('g:srcery_bright_blue')
-  let g:srcery_bright_blue='#68A8E4'
-endif
-
-if !exists('g:srcery_bright_magenta')
-  let g:srcery_bright_magenta='#FF5C8F'
-endif
-
-if !exists('g:srcery_bright_cyan')
-  let g:srcery_bright_cyan='#2BE4D0'
-endif
-
-if !exists('g:srcery_bright_white')
-  let g:srcery_bright_white='#FCE8C3'
-endif
-
-if !exists('g:srcery_orange')
-  let g:srcery_orange='#FF5F00'
-endif
-
-if !exists('g:srcery_bright_orange')
-  let g:srcery_bright_orange='#FF8700'
-endif
-
-if !exists('g:srcery_hard_black')
-  let g:srcery_hard_black='#121212'
-endif
-
-if !exists('g:srcery_xgray1')
-  let g:srcery_xgray1='#262626'
-endif
-
-if !exists('g:srcery_xgray2')
-  let g:srcery_xgray2='#303030'
-endif
-
-if !exists('g:srcery_xgray3')
-  let g:srcery_xgray3='#3A3A3A'
-endif
-
-if !exists('g:srcery_xgray4')
-  let g:srcery_xgray4='#444444'
-endif
-
-if !exists('g:srcery_xgray5')
-  let g:srcery_xgray5='#4E4E4E'
-endif
-
-if !exists('g:srcery_xgray6')
-  let g:srcery_xgray6='#585858'
-endif
-
-" }}}
-" Options {{{2
-
-if !exists('g:srcery_bold')
-  let g:srcery_bold=1
-endif
-
-if !exists('g:srcery_italic')
-  if has('gui_running') || $TERM_ITALICS ==? 'true'
-    let g:srcery_italic=1
-  else
-    let g:srcery_italic=0
-  endif
-endif
-
-if !exists('g:srcery_bg_passthrough')
-  let g:srcery_bg_passthrough=0
-endif
-
-if !exists('g:srcery_undercurl')
-  let g:srcery_undercurl=1
-endif
-
-if !exists('g:srcery_underline')
-  let g:srcery_underline=1
-endif
-
-if !exists('g:srcery_inverse')
-  let g:srcery_inverse=1
-endif
-
-if !exists('g:srcery_inverse_matches')
-  let g:srcery_inverse_matches=0
-endif
-
-if !exists('g:srcery_inverse_match_paren')
-  let g:srcery_inverse_match_paren=0
-endif
-
-if !exists('g:srcery_dim_lisp_paren')
-  let g:srcery_dim_lisp_paren=0
-endif
-
-if !exists('g:srcery_guisp_fallback') || index(['fg', 'bg'], g:srcery_guisp_fallback) == -1
-  let g:srcery_guisp_fallback='NONE'
-endif
-
-if !exists('g:srcery_italic_types')
-  let g:srcery_italic_types=0
-endif
-
-if !exists('g:srcery_hard_black_terminal_bg')
-  let g:srcery_hard_black_terminal_bg=1
-endif
-
-" }}}
-" }}}
-" Palette {{{
-
-let s:none           = ['NONE', 'NONE']
-
-" 16 base colors
-let s:black          = [g:srcery_black, 0]
-let s:red            = [g:srcery_red, 1]
-let s:green          = [g:srcery_green, 2]
-let s:yellow         = [g:srcery_yellow, 3]
-let s:blue           = [g:srcery_blue, 4]
-let s:magenta        = [g:srcery_magenta, 5]
-let s:cyan           = [g:srcery_cyan, 6]
-let s:white          = [g:srcery_white, 7]
-let s:bright_black   = [g:srcery_bright_black, 8]
-let s:bright_red     = [g:srcery_bright_red, 9]
-let s:bright_green   = [g:srcery_bright_green, 10]
-let s:bright_yellow  = [g:srcery_bright_yellow, 11]
-let s:bright_blue    = [g:srcery_bright_blue, 12]
-let s:bright_magenta = [g:srcery_bright_magenta, 13]
-let s:bright_cyan    = [g:srcery_bright_cyan, 14]
-let s:bright_white   = [g:srcery_bright_white, 15]
-
-" xterm colors.
-let s:orange         = [g:srcery_orange, 202]
-let s:bright_orange  = [g:srcery_bright_orange, 208]
-let s:hard_black     = [g:srcery_hard_black, 233]
-let s:xgray1         = [g:srcery_xgray1, 235]
-let s:xgray2         = [g:srcery_xgray2, 236]
-let s:xgray3         = [g:srcery_xgray3, 237]
-let s:xgray4         = [g:srcery_xgray4, 238]
-let s:xgray5         = [g:srcery_xgray5, 239]
-let s:xgray6         = [g:srcery_xgray6, 240]
-
-"}}}
-" Setup Emphasis: {{{
-
-let s:bold = 'bold,'
-if g:srcery_bold == 0
-  let s:bold = ''
-endif
-
-let s:italic = 'italic,'
-if g:srcery_italic == 0
-  let s:italic = ''
-endif
-
-let s:underline = 'underline,'
-if g:srcery_underline == 0
-  let s:underline = ''
-endif
-
-let s:undercurl = 'undercurl,'
-if g:srcery_undercurl == 0
-  let s:undercurl = ''
-endif
-
-let s:inverse = 'inverse,'
-if g:srcery_inverse == 0
-  let s:inverse = ''
-endif
-
-" }}}
-" Highlighting Function: {{{
-
-function! s:HL(group, fg, ...)
-  " Arguments: group, guifg, guibg, gui, guisp
-
-  " foreground
-  let l:fg = a:fg
-
-  " background
-  if a:0 >= 1
-    let l:bg = a:1
-  else
-    let l:bg = s:none
-  endif
-
-  " emphasis
-  if a:0 >= 2 && strlen(a:2)
-    let l:emstr = a:2
-  else
-    let l:emstr = 'NONE,'
-  endif
-
-  " special fallback
-  if a:0 >= 3
-    if g:srcery_guisp_fallback !=# 'NONE'
-      let fg = a:3
-    endif
-
-    " bg fallback mode should invert higlighting
-    if g:srcery_guisp_fallback ==# 'bg'
-      let emstr .= 'inverse,'
-    endif
-  endif
-
-  let l:histring = [ 'hi', a:group,
-        \ 'guifg=' . l:fg[0], 'ctermfg=' . l:fg[1],
-        \ 'guibg=' . l:bg[0], 'ctermbg=' . l:bg[1],
-        \ 'gui=' . l:emstr[:-2], 'cterm=' . l:emstr[:-2]
-        \ ]
-
-  " special
-  if a:0 >= 3
-    call add(l:histring, 'guisp=' . a:3[0])
-  endif
-
-  execute join(l:histring, ' ')
-endfunction
-
-"}}}
-" Srcery Hi Groups: {{{
-
-" memoize common hi groups
-call s:HL('SrceryWhite', s:white)
-call s:HL('SrceryRed', s:red)
-call s:HL('SrceryGreen', s:green)
-call s:HL('SrceryYellow', s:yellow)
-call s:HL('SrceryBlue', s:blue)
-call s:HL('SrceryMagenta', s:magenta)
-call s:HL('SrceryCyan', s:cyan)
-call s:HL('SrceryBlack', s:black)
-
-call s:HL('SrceryRedBold', s:red, s:none, s:bold)
-call s:HL('SrceryGreenBold', s:green, s:none, s:bold)
-call s:HL('SrceryYellowBold', s:yellow, s:none, s:bold)
-call s:HL('SrceryBlueBold', s:blue, s:none, s:bold)
-call s:HL('SrceryMagentaBold', s:magenta, s:none, s:bold)
-call s:HL('SrceryCyanBold', s:cyan, s:none, s:bold)
-
-call s:HL('SrceryBrightRed', s:bright_red, s:none)
-call s:HL('SrceryBrightGreen', s:bright_green, s:none)
-call s:HL('SrceryBrightYellow', s:bright_yellow, s:none)
-call s:HL('SrceryBrightBlue', s:bright_blue, s:none)
-call s:HL('SrceryBrightMagenta', s:bright_magenta, s:none)
-call s:HL('SrceryBrightCyan', s:bright_cyan, s:none)
-call s:HL('SrceryBrightBlack', s:bright_black, s:none)
-call s:HL('SrceryBrightWhite', s:bright_white)
-
-call s:HL('SrceryBrightBlueBold', s:bright_blue, s:none, s:bold)
-call s:HL('SrceryBrightYellowBold', s:bright_yellow, s:none, s:bold)
-
-" special
-call s:HL('SrceryOrange', s:orange)
-call s:HL('SrceryBrightOrange', s:bright_orange)
-call s:HL('SrceryOrangeBold', s:orange, s:none, s:bold)
-call s:HL('SrceryHardBlack', s:hard_black)
-call s:HL('SrceryXgray1', s:xgray1)
-call s:HL('SrceryXgray2', s:xgray2)
-call s:HL('SrceryXgray3', s:xgray3)
-call s:HL('SrceryXgray4', s:xgray4)
-call s:HL('SrceryXgray5', s:xgray5)
-call s:HL('SrceryXgray6', s:xgray6)
-
-" }}}
-" Setup Terminal Colors For Neovim: {{{
-
-if has('nvim')
-  let g:terminal_color_0 = s:black[0]
-  let g:terminal_color_8 = s:bright_black[0]
-
-  let g:terminal_color_1 = s:red[0]
-  let g:terminal_color_9 = s:bright_red[0]
-
-  let g:terminal_color_2 = s:green[0]
-  let g:terminal_color_10 = s:bright_green[0]
-
-  let g:terminal_color_3 = s:yellow[0]
-  let g:terminal_color_11 = s:bright_yellow[0]
-
-  let g:terminal_color_4 = s:blue[0]
-  let g:terminal_color_12 = s:bright_blue[0]
-
-  let g:terminal_color_5 = s:magenta[0]
-  let g:terminal_color_13 = s:bright_magenta[0]
-
-  let g:terminal_color_6 = s:cyan[0]
-  let g:terminal_color_14 = s:bright_cyan[0]
-
-  let g:terminal_color_7 = s:white[0]
-  let g:terminal_color_15 = s:bright_white[0]
-endif
-
-" }}}
-" Setup Terminal Colors For Vim with termguicolors: {{{
-
-if exists('*term_setansicolors')
-  let g:terminal_ansi_colors = repeat([0], 16)
-
-  let g:terminal_ansi_colors[0] = s:black[0]
-  let g:terminal_ansi_colors[8] = s:bright_black[0]
-
-  let g:terminal_ansi_colors[1] = s:red[0]
-  let g:terminal_ansi_colors[9] = s:bright_red[0]
-
-  let g:terminal_ansi_colors[2] = s:green[0]
-  let g:terminal_ansi_colors[10] = s:bright_green[0]
-
-  let g:terminal_ansi_colors[3] = s:yellow[0]
-  let g:terminal_ansi_colors[11] = s:bright_yellow[0]
-
-  let g:terminal_ansi_colors[4] = s:blue[0]
-  let g:terminal_ansi_colors[12] = s:bright_blue[0]
-
-  let g:terminal_ansi_colors[5] = s:magenta[0]
-  let g:terminal_ansi_colors[13] = s:bright_magenta[0]
-
-  let g:terminal_ansi_colors[6] = s:cyan[0]
-  let g:terminal_ansi_colors[14] = s:bright_cyan[0]
-
-  let g:terminal_ansi_colors[7] = s:white[0]
-  let g:terminal_ansi_colors[15] = s:bright_white[0]
-endif
-
-" }}}
-
-" Vanilla colorscheme ---------------------------------------------------------
-" General UI: {{{
-
-" Normal text
-"
-if g:srcery_bg_passthrough == 1 && !has('gui_running')
-  call s:HL('Normal', s:bright_white, s:none)
- else
-  call s:HL('Normal', s:bright_white, s:black)
-endif
-
-if v:version >= 700
-  " Screen line that the cursor is
-  call s:HL('CursorLine',   s:none, s:xgray2)
-  " Screen column that the cursor is
-  hi! link CursorColumn CursorLine
-
-  call s:HL('TabLineFill', s:bright_black, s:xgray2)
-  call s:HL('TabLineSel', s:bright_white, s:xgray5)
-
-  " Not active tab page label
-  hi! link TabLine TabLineFill
-
-  " Match paired bracket under the cursor
-  "
-  if g:srcery_inverse_match_paren == 1
-    call s:HL('MatchParen', s:bright_magenta, s:none, s:inverse . s:bold)
-  else
-    call s:HL('MatchParen', s:bright_magenta, s:none, s:bold)
-  endif
-endif
-
-if v:version >= 703
-  " Highlighted screen columns
-  call s:HL('ColorColumn',  s:none, s:xgray2)
-
-  " Concealed element: \lambda → λ
-  call s:HL('Conceal', s:blue, s:none)
-
-  " Line number of CursorLine
-  if g:srcery_bg_passthrough == 1 && !has('gui_running')
-    call s:HL('CursorLineNr', s:yellow, s:none)
-  else
-    call s:HL('CursorLineNr', s:yellow, s:black)
-  endif
-
-endif
-
-hi! link NonText SrceryXgray4
-hi! link SpecialKey SrceryBlue
-
-if g:srcery_inverse == 1
-  call s:HL('Visual', s:none, s:none, s:inverse)
-else
-  call s:HL('Visual', s:none, s:xgray2, s:bold)
-endif
-
-hi! link VisualNOS Visual
-
-if g:srcery_inverse == 1 && g:srcery_inverse_matches == 1
-  call s:HL('Search', s:none, s:none, s:inverse)
-  call s:HL('IncSearch', s:none, s:none, s:inverse)
-else
-  call s:HL('Search', s:none, s:xgray5, s:bold)
-  call s:HL('IncSearch', s:none, s:xgray5, s:underline . s:bold)
-endif
-
-call s:HL('Underlined', s:blue, s:none, s:underline)
-
-call s:HL('StatusLine',   s:bright_white, s:xgray2)
-
-if g:srcery_bg_passthrough == 1 && !has('gui_running')
-  call s:HL('StatusLineNC', s:bright_black, s:none, s:underline)
-
-  " The column separating vertically split windows
-  call s:HL('VertSplit', s:bright_white, s:none)
-
-  " Current match in wildmenu completion
-  call s:HL('WildMenu', s:blue, s:none, s:bold)
-else
-  call s:HL('StatusLineNC', s:bright_black, s:black, s:underline)
-  call s:HL('VertSplit', s:bright_white, s:black)
-  call s:HL('WildMenu', s:blue, s:black, s:bold)
-endif
-
-" Directory names, special names in listing
-hi! link Directory SrceryGreenBold
-
-" Titles for output from :set all, :autocmd, etc.
-hi! link Title SrceryGreenBold
-
-" Error messages on the command line
-call s:HL('ErrorMsg', s:bright_white, s:red)
-" More prompt: -- More --
-hi! link MoreMsg SrceryYellowBold
-" Current mode message: -- INSERT --
-hi! link ModeMsg SrceryYellowBold
-" 'Press enter' prompt and yes/no questions
-hi! link Question SrceryOrangeBold
-" Warning messages
-hi! link WarningMsg SrceryRedBold
-
-" }}}
-" Gutter: {{{
-
-" Line number for :number and :# commands
-call s:HL('LineNr', s:bright_black)
-
-if g:srcery_bg_passthrough == 1 && !has('gui_running')
-  " Column where signs are displayed
-  " TODO Possibly need to fix  SignColumn
-  call s:HL('SignColumn', s:none, s:none)
-  " Line used for closed folds
-  call s:HL('Folded', s:bright_black, s:none, s:italic)
-  " Column where folds are displayed
-  call s:HL('FoldColumn', s:bright_black, s:none)
-else
-  call s:HL('SignColumn', s:none, s:black)
-  call s:HL('Folded', s:bright_black, s:black, s:italic)
-  call s:HL('FoldColumn', s:bright_black, s:black)
-endif
-
-" }}}
-" Cursor: {{{
-
-" Character under cursor
-call s:HL('Cursor', s:black, s:yellow)
-" Visual mode cursor, selection
-hi! link vCursor Cursor
-" Input moder cursor
-hi! link iCursor Cursor
-" Language mapping cursor
-hi! link lCursor Cursor
-
-" }}}
-" Syntax Highlighting: {{{
-
-hi! link Special SrceryOrange
-
-call s:HL('Comment', s:bright_black, s:none, s:italic)
-
-if g:srcery_bg_passthrough == 1 && !has('gui_running')
-  call s:HL('Todo', s:bright_white, s:none, s:bold . s:italic)
-else
-  call s:HL('Todo', s:bright_white, s:black, s:bold . s:italic)
-endif
-
-call s:HL('Error', s:bright_white, s:red, s:bold)
-
-" String constant: "this is a string"
-call s:HL('String',  s:bright_green)
-
-" Generic statement
-hi! link Statement SrceryRed
-" if, then, else, endif, swicth, etc.
-hi! link Conditional SrceryRed
-" for, do, while, etc.
-hi! link Repeat SrceryRed
-" case, default, etc.
-hi! link Label SrceryRed
-" try, catch, throw
-hi! link Exception SrceryRed
-" sizeof, "+", "*", etc.
-hi! link Operator Normal
-" Any other keyword
-hi! link Keyword SrceryRed
-
-" Variable name
-hi! link Identifier SrceryCyan
-" Function name
-hi! link Function SrceryYellow
-
-" Generic preprocessor
-hi! link PreProc SrceryCyan
-" Preprocessor #include
-hi! link Include SrceryCyan
-" Preprocessor #define
-hi! link Define SrceryCyan
-" Same as Define
-hi! link Macro SrceryOrange
-" Preprocessor #if, #else, #endif, etc.
-hi! link PreCondit SrceryCyan
-
-" Generic constant
-hi! link Constant SrceryBrightMagenta
-" Character constant: 'c', '/n'
-hi! link Character SrceryBrightMagenta
-" Boolean constant: TRUE, false
-hi! link Boolean SrceryBrightMagenta
-" Number constant: 234, 0xff
-hi! link Number SrceryBrightMagenta
-" Floating point constant: 2.3e10
-hi! link Float SrceryBrightMagenta
-
-" Generic type
-if g:srcery_italic_types == 1 && g:srcery_italic == 1
-  call s:HL('Type', s:bright_blue, s:none, s:italic)
-else
-  hi! link Type SrceryBrightBlue
-end
-" static, register, volatile, etc
-hi! link StorageClass SrceryOrange
-" struct, union, enum, etc.
-hi! link Structure SrceryCyan
-" typedef
-hi! link Typedef SrceryMagenta
-
-if g:srcery_dim_lisp_paren == 1
-  hi! link Delimiter SrceryXgray6
-else
-  hi! link Delimiter SrceryBrightBlack
-endif
-
-" }}}
-" Completion Menu: {{{
-
-if v:version >= 700
-  " Popup menu: normal item
-  call s:HL('Pmenu', s:bright_white, s:xgray2)
-  " Popup menu: selected item
-  call s:HL('PmenuSel', s:bright_white, s:blue, s:bold)
-
-  if g:srcery_bg_passthrough == 1 && !has('gui_running')
-    " Popup menu: scrollbar
-    call s:HL('PmenuSbar', s:none, s:none)
-    " Popup menu: scrollbar thumb
-    call s:HL('PmenuThumb', s:none, s:none)
-  else
-    call s:HL('PmenuSbar', s:none, s:black)
-    call s:HL('PmenuThumb', s:none, s:black)
-  endif
-endif
-
-" }}}
-" Diffs: {{{
-
-if g:srcery_bg_passthrough == 1 && !has('gui_running')
-  call s:HL('DiffDelete', s:red, s:none)
-  call s:HL('DiffAdd',    s:green, s:none)
-  call s:HL('DiffChange', s:cyan, s:none)
-  call s:HL('DiffText',   s:yellow, s:none)
-else
-  call s:HL('DiffDelete', s:red, s:black)
-  call s:HL('DiffAdd',    s:green, s:black)
-  call s:HL('DiffChange', s:cyan, s:black)
-  call s:HL('DiffText',   s:yellow, s:black)
-endif
-
-" }}}
-" Spelling: {{{
-
-if has('spell')
-  " Not capitalised word, or compile warnings
-  call s:HL('SpellCap',   s:green, s:none, s:bold . s:italic)
-  " Not recognized word
-  call s:HL('SpellBad',   s:none, s:none, s:undercurl, s:blue)
-  " Wrong spelling for selected region
-  call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:cyan)
-  " Rare word
-  call s:HL('SpellRare',  s:none, s:none, s:undercurl, s:magenta)
-endif
-
-" }}}
-" Terminal: {{{
-
-if g:srcery_hard_black_terminal_bg == 1 && has('terminal')
-  " Must set an explicit background as NONE won't work
-  " Therefore not useful with transparent background option
-  call s:HL('Terminal', s:bright_white, s:hard_black)
-endif
-
-" }}}
-" Neovim's builtin LSP: {{{
-
-hi! link LspDiagnosticsDefaultError SrceryBrightRed
-hi! link LspDiagnosticsDefaultWarning SrceryBrightYellow
-hi! link LspDiagnosticsDefaultInformation SrceryBrightGreen
-hi! link LspDiagnosticsDefaultHint SrceryBrightCyan
-call s:HL('LspDiagnosticsUnderlineError', s:bright_red, s:none, s:underline)
-call s:HL('LspDiagnosticsUnderlineWarning', s:bright_yellow, s:none, s:underline)
-call s:HL('LspDiagnosticsUnderlineInformation', s:bright_green, s:none, s:underline)
-call s:HL('LspDiagnosticsUnderlineHint', s:bright_cyan, s:none, s:underline)
-
-" }}}
-
-" Plugin specific -------------------------------------------------------------
-" Sneak: {{{
-
-hi! link Sneak Search
-call s:HL('SneakScope', s:none, s:hard_black)
-hi! link SneakLabel Search
-
-" }}}
-" Rainbow Parentheses: {{{
-
-if !exists('g:rbpt_colorpairs')
-  let g:rbpt_colorpairs =
-    \ [
-      \ ['blue',  '#2C78BF'], ['202',  '#FF5F00'],
-      \ ['red',  '#EF2F27'], ['magenta', '#E02C6D']
-    \ ]
-endif
-
-let g:rainbow_guifgs = [ '#E02C6D', '#EF2F27', '#D75F00', '#2C78BF']
-let g:rainbow_ctermfgs = [ 'magenta', 'red', '202', 'blue' ]
-
-if !exists('g:rainbow_conf')
-  let g:rainbow_conf = {}
-endif
-if !has_key(g:rainbow_conf, 'guifgs')
-  let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
-endif
-if !has_key(g:rainbow_conf, 'ctermfgs')
-  let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
-endif
-
-let g:niji_dark_colours = g:rbpt_colorpairs
-let g:niji_light_colours = g:rbpt_colorpairs
-
-"}}}
-" GitGutter: {{{
-
-hi! link GitGutterAdd SrceryGreen
-hi! link GitGutterChange SrceryYellow
-hi! link GitGutterDelete SrceryRed
-hi! link GitGutterChangeDelete SrceryYellow
-
-" }}}
-" GitCommit: "{{{
-
-hi! link gitcommitSelectedFile SrceryGreen
-hi! link gitcommitDiscardedFile SrceryRed
-
-" }}}
-" Asynchronous Lint Engine: {{{
-
-call s:HL('ALEError', s:none, s:none, s:undercurl, s:red)
-call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow)
-call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue)
-
-hi! link ALEErrorSign SrceryRed
-hi! link ALEWarningSign SrceryYellow
-hi! link ALEInfoSign SrceryBlue
-
-" }}}
-" vim-indent-guides: {{{
-
-call s:HL('IndentGuidesEven', s:none, s:xgray3)
-call s:HL('IndentGuidesOdd',  s:none, s:xgray4)
-
-" }}}
-" vim-startify {{{
-
-hi! link StartifyNumber Statement
-hi! link StartifyFile Normal
-hi! link StartifyPath String
-hi! link StartifySlash Normal
-hi! link StartifyBracket Comment
-hi! link StartifyHeader Type
-hi! link StartifyFooter Normal
-hi! link StartifySpecial Comment
-hi! link StartifySection Identifier
-
-" }}}
-" fzf: {{{
-
-call s:HL('fzf1', s:magenta, s:xgray2)
-call s:HL('fzf2', s:bright_green, s:xgray2)
-call s:HL('fzf3', s:bright_white, s:xgray2)
-
-"}}}
-" Netrw: {{{
-
-hi! link netrwDir SrceryBlue
-hi! link netrwClassify SrceryCyan
-hi! link netrwLink SrceryBrightBlack
-hi! link netrwSymLink SrceryCyan
-hi! link netrwExe SrceryYellow
-hi! link netrwComment SrceryBrightBlack
-hi! link netrwList SrceryBrightBlue
-hi! link netrwTreeBar SrceryBrightBlack
-hi! link netrwHelpCmd SrceryCyan
-hi! link netrwVersion SrceryGreen
-hi! link netrwCmdSep SrceryBrightBlack
-
-"}}}
-" coc.nvim: {{{
-
-hi! link CocErrorSign SrceryRed
-hi! link CocWarningSign SrceryBrightOrange
-hi! link CocInfoSign SrceryYellow
-hi! link CocHintSign SrceryBlue
-hi! link CocErrorFloat SrceryRed
-hi! link CocWarningFloat SrceryOrange
-hi! link CocInfoFloat SrceryYellow
-hi! link CocHintFloat SrceryBlue
-hi! link CocDiagnosticsError SrceryRed
-hi! link CocDiagnosticsWarning SrceryOrange
-hi! link CocDiagnosticsInfo SrceryYellow
-hi! link CocDiagnosticsHint SrceryBlue
-
-hi! link CocSelectedText SrceryRed
-hi! link CocCodeLens SrceryWhite
-
-call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red)
-call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:bright_orange)
-call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow)
-call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue)
-
-" }}}
-" CtrlP: "{{{
-"
-hi! link CtrlPMatch SrceryMagenta
-hi! link CtrlPLinePre SrceryBrightGreen
-call s:HL('CtrlPMode1', s:bright_white, s:xgray3)
-call s:HL('CtrlPMode2', s:bright_white, s:xgray5)
-call s:HL('CtrlPStats', s:yellow, s:xgray2)
-
-" }}}
-" NERDTree: "{{{
-
-hi! link NERDTreeDir SrceryBlue
-hi! link NERDTreeDirSlash SrceryCyan
-hi! link NERDTreeOpenable SrceryBlue
-hi! link NERDTreeClosable SrceryBlue
-hi! link NERDTreeFile SrceryWhite
-hi! link NERDTreeExecFile SrceryYellow
-hi! link NERDTreeUp SrceryOrange
-hi! link NERDTreeCWD SrceryGreen
-hi! link NERDTreeHelp SrceryCyan
-hi! link NERDTreeFlags SrceryCyan
-hi! link NERDTreeLinkFile SrceryBrightBlack
-hi! link NERDTreeLinkTarget SrceryBrightBlack
-
-" }}}
-" Telescope: "{{{
-
-call s:HL('TelescopeNormal', s:white, s:none)
-call s:HL('TelescopeSelection', s:green, s:none, s:bold)
-call s:HL('TelescopeMatching', s:magenta)
-call s:HL('TelescopeSelectionCaret', s:magenta)
-call s:HL('TelescopePromptPrefix', s:bright_yellow)
-
-" }}}
-" nvim-treesitter {{{
-
-call s:HL('TSStrong', s:none, s:none, s:bold)
-call s:HL('TSEmphasis', s:none, s:none, s:bold)
-call s:HL('TSUnderline', s:none, s:none, s:underline)
-
-highlight! link TSWarning SrceryOrangeBold
-highlight! link TSDanger SrceryRedBold
-highlight! link TSConstBuiltin SrceryCyan
-highlight! link TSField SrceryGreen
-highlight! link TSFuncBuiltin SrceryYellow
-highlight! link TSFuncMacro SrceryOrange
-highlight! link TSFunction SrceryYellow
-call s:HL('TSNamespace', s:white, s:none, s:italic)
-call s:HL('TSParameter', s:cyan, s:none, s:italic)
-highlight! link TSProperty SrceryBrightBlue
-highlight! link TSSymbol SrceryBlue
-highlight! link TSTag SrceryBlue
-highlight! link TSTagAttribute SrceryYellow
-highlight! link TSVariableBuiltin SrceryCyan
-highlight! link TSType SrceryWhite
-highlight! link TSDelimiter SrceryWhite
-highlight! link TSURI SrceryGreen
-highlight! link TSVariable SrceryBrightWhite
-" }}}
-
-
-" Filetype specific -----------------------------------------------------------
-" Diff: {{{
-
-hi! link diffAdded SrceryGreen
-hi! link diffRemoved SrceryRed
-hi! link diffChanged SrceryCyan
-
-hi! link diffFile SrceryOrange
-hi! link diffNewFile SrceryYellow
-
-hi! link diffLine SrceryBlue
-
-" }}}
-" Html: {{{
-
-hi! link htmlTag SrceryBlue
-hi! link htmlEndTag SrceryBlue
-
-hi! link htmlTagName SrceryBlue
-hi! link htmlTag SrceryBrightBlack
-hi! link htmlArg SrceryYellow
-
-hi! link htmlScriptTag SrceryRed
-hi! link htmlTagN SrceryBlue
-hi! link htmlSpecialTagName SrceryBlue
-
-call s:HL('htmlLink', s:bright_white, s:none, s:underline)
-
-hi! link htmlSpecialChar SrceryYellow
-
-if g:srcery_bg_passthrough == 1 && !has('gui_running')
-  call s:HL('htmlBold', s:bright_white, s:none, s:bold)
-  call s:HL('htmlBoldUnderline', s:bright_white, s:none, s:bold . s:underline)
-  call s:HL('htmlBoldItalic', s:bright_white, s:none, s:bold . s:italic)
-  call s:HL('htmlBoldUnderlineItalic', s:bright_white, s:none, s:bold . s:underline . s:italic)
-  call s:HL('htmlUnderline', s:bright_white, s:none, s:underline)
-  call s:HL('htmlUnderlineItalic', s:bright_white, s:none, s:underline . s:italic)
-  call s:HL('htmlItalic', s:bright_white, s:none, s:italic)
-else
-  call s:HL('htmlBold', s:bright_white, s:black, s:bold)
-  call s:HL('htmlBoldUnderline', s:bright_white, s:black, s:bold . s:underline)
-  call s:HL('htmlBoldItalic', s:bright_white, s:black, s:bold . s:italic)
-  call s:HL('htmlBoldUnderlineItalic', s:bright_white, s:black, s:bold . s:underline . s:italic)
-  call s:HL('htmlUnderline', s:bright_white, s:black, s:underline)
-  call s:HL('htmlUnderlineItalic', s:bright_white, s:black, s:underline . s:italic)
-  call s:HL('htmlItalic', s:bright_white, s:black, s:italic)
-endif
-
-" }}}
-" Xml: {{{
-
-hi! link xmlTag SrceryBlue
-hi! link xmlEndTag SrceryBlue
-hi! link xmlTagName SrceryBlue
-hi! link xmlEqual SrceryBlue
-hi! link docbkKeyword SrceryCyanBold
-
-hi! link xmlDocTypeDecl SrceryBrightBlack
-hi! link xmlDocTypeKeyword SrceryMagenta
-hi! link xmlCdataStart SrceryBrightBlack
-hi! link xmlCdataCdata SrceryMagenta
-hi! link dtdFunction SrceryBrightBlack
-hi! link dtdTagName SrceryMagenta
-
-hi! link xmlAttrib SrceryCyan
-hi! link xmlProcessingDelim SrceryBrightBlack
-hi! link dtdParamEntityPunct SrceryBrightBlack
-hi! link dtdParamEntityDPunct SrceryBrightBlack
-hi! link xmlAttribPunct SrceryBrightBlack
-
-hi! link xmlEntity SrceryYellow
-hi! link xmlEntityPunct SrceryYellow
-
-" }}}
-" Vim: {{{
-
-call s:HL('vimCommentTitle', s:bright_white, s:none, s:bold . s:italic)
-
-hi! link vimNotation SrceryYellow
-hi! link vimBracket SrceryYellow
-hi! link vimMapModKey SrceryYellow
-hi! link vimFuncSID SrceryBrightWhite
-hi! link vimSetSep SrceryBrightWhite
-hi! link vimSep SrceryBrightWhite
-hi! link vimContinue SrceryBrightWhite
-
-" }}}
-" Lisp dialects: {{{
-
-if g:srcery_dim_lisp_paren == 1
-  hi! link schemeParentheses SrceryXgray6
-  hi! link clojureParen SrceryXgray6
-else
-  hi! link schemeParentheses SrceryWhite
-  hi! link clojureParen SrceryWhite
-endif
-
-hi! link clojureKeyword SrceryBlue
-hi! link clojureCond SrceryRed
-hi! link clojureSpecial SrceryRed
-hi! link clojureDefine SrceryRed
-
-hi! link clojureFunc SrceryYellow
-hi! link clojureRepeat SrceryYellow
-hi! link clojureCharacter SrceryCyan
-hi! link clojureStringEscape SrceryCyan
-hi! link clojureException SrceryRed
-
-hi! link clojureRegexp SrceryCyan
-hi! link clojureRegexpEscape SrceryCyan
-call s:HL('clojureRegexpCharClass', s:bright_white, s:none, s:bold)
-hi! link clojureRegexpMod clojureRegexpCharClass
-hi! link clojureRegexpQuantifier clojureRegexpCharClass
-
-hi! link clojureAnonArg SrceryYellow
-hi! link clojureVariable SrceryBlue
-hi! link clojureMacro SrceryOrangeBold
-
-hi! link clojureMeta SrceryYellow
-hi! link clojureDeref SrceryYellow
-hi! link clojureQuote SrceryYellow
-hi! link clojureUnquote SrceryYellow
-
-" }}}
-" C: {{{
-
-hi! link cOperator SrceryMagenta
-hi! link cStructure SrceryYellow
-
-" }}}
-" Python: {{{
-
-hi! link pythonBuiltin SrceryYellow
-hi! link pythonBuiltinObj SrceryYellow
-hi! link pythonBuiltinFunc SrceryYellow
-hi! link pythonFunction SrceryCyan
-hi! link pythonDecorator SrceryRed
-hi! link pythonInclude SrceryBlue
-hi! link pythonImport SrceryBlue
-hi! link pythonRun SrceryBlue
-hi! link pythonCoding SrceryBlue
-hi! link pythonOperator SrceryRed
-hi! link pythonExceptions SrceryMagenta
-hi! link pythonBoolean SrceryMagenta
-hi! link pythonDot SrceryBrightWhite
-
-" }}}
-" CSS/SASS: {{{
-
-hi! link cssBraces SrceryBrightWhite
-hi! link cssFunctionName SrceryYellow
-hi! link cssIdentifier SrceryBlue
-hi! link cssClassName SrceryBlue
-hi! link cssClassNameDot SrceryBlue
-hi! link cssColor SrceryBrightMagenta
-hi! link cssSelectorOp SrceryBlue
-hi! link cssSelectorOp2 SrceryBlue
-hi! link cssImportant SrceryGreen
-hi! link cssVendor SrceryBlue
-hi! link cssMediaProp SrceryYellow
-hi! link cssBorderProp SrceryYellow
-hi! link cssAttrComma SrceryBrightWhite
-
-hi! link cssTextProp SrceryYellow
-hi! link cssAnimationProp SrceryYellow
-hi! link cssUIProp SrceryYellow
-hi! link cssTransformProp SrceryYellow
-hi! link cssTransitionProp SrceryYellow
-hi! link cssPrintProp SrceryYellow
-hi! link cssPositioningProp SrceryYellow
-hi! link cssBoxProp SrceryYellow
-hi! link cssFontDescriptorProp SrceryYellow
-hi! link cssFlexibleBoxProp SrceryYellow
-hi! link cssBorderOutlineProp SrceryYellow
-hi! link cssBackgroundProp SrceryYellow
-hi! link cssMarginProp SrceryYellow
-hi! link cssListProp SrceryYellow
-hi! link cssTableProp SrceryYellow
-hi! link cssFontProp SrceryYellow
-hi! link cssPaddingProp SrceryYellow
-hi! link cssDimensionProp SrceryYellow
-hi! link cssRenderProp SrceryYellow
-hi! link cssColorProp SrceryYellow
-hi! link cssGeneratedContentProp SrceryYellow
-hi! link cssTagName SrceryBrightBlue
-
-" SASS
-hi! link sassClass SrceryBlue
-hi! link sassClassChar SrceryBlue
-hi! link sassVariable SrceryCyan
-hi! link sassIdChar SrceryBrightBlue
-hi! link sassId SrceryBrightBlue
-
-" }}}
-" JavaScript: {{{
-
-hi! link javascriptMember SrceryBlue
-hi! link javascriptNull SrceryMagenta
-
-hi! link javascriptParens SrceryWhite
-hi! link javascriptBraces SrceryWhite
-hi! link javascriptReserved SrceryOrange
-hi! link javascriptIdentifier SrceryRed
-
-hi! link javascriptFuncArg Normal
-hi! link javascriptDocComment SrceryGreen
-hi! link javascriptArrayMethod Function
-hi! link javascriptReflectMethod Function
-hi! link javascriptStringMethod Function
-hi! link javascriptObjectMethod Function
-hi! link javascriptObjectStaticMethod Function
-hi! link javascriptObjectLabel SrceryBlue
-hi! link javascriptFunction SrceryRed
-
-hi! link javascriptProp SrceryBlue
-
-hi! link javascriptVariable SrceryBrightBlue
-hi! link javascriptOperator SrceryBrightCyan
-hi! link javascriptFuncKeyword SrceryBrightRed
-hi! link javascriptFunctionMethod SrceryYellow
-hi! link javascriptReturn SrceryBrightRed
-hi! link javascriptEndColons SrceryWhite
-
-" vim-javascript
-hi! link jsFunction SrceryRed
-hi! link jsImport SrceryRed
-hi! link jsObjectSeparator SrceryWhite
-hi! link jsParens SrceryWhite
-hi! link jsFuncParens SrceryWhite
-hi! link jsNoise SrceryWhite
-hi! link jsEnvComment SrceryBrightBlack
-hi! link jsOperator SrceryBrightCyan
-
-" }}}
-" CoffeeScript: {{{
-
-hi! link coffeeExtendedOp SrceryBrightWhite
-hi! link coffeeSpecialOp SrceryBrightWhite
-hi! link coffeeCurly SrceryYellow
-hi! link coffeeParen SrceryBrightWhite
-hi! link coffeeBracket SrceryYellow
-
-" }}}
-" Ruby: {{{
-
-hi! link rubyStringDelimiter SrceryGreen
-hi! link rubyInterpolationDelimiter SrceryCyan
-hi! link rubyDefine Keyword
-
-" }}}
-" ObjectiveC: {{{
-
-hi! link objcTypeModifier SrceryRed
-hi! link objcDirective SrceryBlue
-
-" }}}
-" Go: {{{
-
-hi! link goDirective SrceryCyan
-hi! link goConstants SrceryMagenta
-hi! link goDeclaration SrceryRed
-hi! link goDeclType SrceryBlue
-hi! link goBuiltins SrceryYellow
-
-" }}}
-" Lua: {{{
-
-hi! link luaIn SrceryRed
-hi! link luaFunction SrceryCyan
-hi! link luaTable SrceryYellow
-
-" }}}
-" MoonScript: {{{
-
-hi! link moonSpecialOp SrceryBrightWhite
-hi! link moonExtendedOp SrceryBrightWhite
-hi! link moonFunction SrceryBrightWhite
-hi! link moonObject SrceryYellow
-
-" }}}
-" Java: {{{
-
-hi! link javaAnnotation SrceryBlue
-hi! link javaDocTags SrceryCyan
-hi! link javaCommentTitle vimCommentTitle
-hi! link javaParen SrceryBrightWhite
-hi! link javaParen1 SrceryBrightWhite
-hi! link javaParen2 SrceryBrightWhite
-hi! link javaParen3 SrceryBrightWhite
-hi! link javaParen4 SrceryBrightWhite
-hi! link javaParen5 SrceryBrightWhite
-hi! link javaOperator SrceryYellow
-
-hi! link javaVarArg SrceryGreen
-
-" }}}
-" Elixir: {{{
-
-hi! link elixirDocString Comment
-
-hi! link elixirStringDelimiter SrceryGreen
-hi! link elixirInterpolationDelimiter SrceryCyan
-
-" }}}
-" Scala: {{{
-
-" NB: scala vim syntax file is kinda horrible
-hi! link scalaNameDefinition SrceryBlue
-hi! link scalaCaseFollowing SrceryBlue
-hi! link scalaCapitalWord SrceryBlue
-hi! link scalaTypeExtension SrceryBlue
-
-hi! link scalaKeyword SrceryRed
-hi! link scalaKeywordModifier SrceryRed
-
-hi! link scalaSpecial SrceryCyan
-hi! link scalaOperator SrceryBlue
-
-hi! link scalaTypeDeclaration SrceryYellow
-hi! link scalaTypeTypePostDeclaration SrceryYellow
-
-hi! link scalaInstanceDeclaration SrceryBlue
-hi! link scalaInterpolation SrceryCyan
-
-" }}}
-" Markdown: {{{
-
-call s:HL('markdownItalic', s:bright_white, s:none, s:italic)
-
-hi! link markdownH1 SrceryBrightBlueBold
-hi! link markdownH2 SrceryBrightBlueBold
-hi! link markdownH3 SrceryBrightYellowBold
-hi! link markdownH4 SrceryBrightYellowBold
-hi! link markdownH5 SrceryYellowBold
-hi! link markdownH6 SrceryYellowBold
-
-hi! link markdownCode SrceryWhite
-hi! link markdownCodeBlock SrceryWhite
-hi! link markdownCodeDelimiter SrceryWhite
-
-hi! link markdownBlockquote SrceryBrightBlack
-hi! link markdownListMarker SrceryBrightBlack
-hi! link markdownOrderedListMarker SrceryBrightBlack
-hi! link markdownRule SrceryBrightBlack
-hi! link markdownHeadingRule SrceryBrightBlack
-
-hi! link markdownUrlDelimiter SrceryBrightBlack
-hi! link markdownLinkDelimiter SrceryBrightBlack
-hi! link markdownLinkTextDelimiter SrceryBrightBlack
-
-hi! link markdownHeadingDelimiter SrceryBrightBlack
-hi! link markdownUrl SrceryBrightGreen
-hi! link markdownUrlTitleDelimiter SrceryGreen
-
-call s:HL('markdownLinkText', s:bright_white, s:none, s:underline)
-hi! link markdownIdDeclaration markdownLinkText
-
-" }}}
-" Haskell: {{{
-
-" hi! link haskellType SrceryYellow
-" hi! link haskellOperators SrceryYellow
-" hi! link haskellConditional SrceryCyan
-" hi! link haskellLet SrceryYellow
-
-hi! link haskellType SrceryBlue
-hi! link haskellIdentifier SrceryBlue
-hi! link haskellSeparator SrceryBlue
-hi! link haskellDelimiter SrceryBrightWhite
-hi! link haskellOperators SrceryBlue
-
-hi! link haskellBacktick SrceryYellow
-hi! link haskellStatement SrceryYellow
-hi! link haskellConditional SrceryYellow
-
-hi! link haskellLet SrceryCyan
-hi! link haskellDefault SrceryCyan
-hi! link haskellWhere SrceryCyan
-hi! link haskellBottom SrceryCyan
-hi! link haskellBlockKeywords SrceryCyan
-hi! link haskellImportKeywords SrceryCyan
-hi! link haskellDeclKeyword SrceryCyan
-hi! link haskellDeriving SrceryCyan
-hi! link haskellAssocType SrceryCyan
-
-hi! link haskellNumber SrceryMagenta
-hi! link haskellPragma SrceryMagenta
-
-hi! link haskellString SrceryGreen
-hi! link haskellChar SrceryGreen
-
-" }}}
-" Json: {{{
-
-hi! link jsonKeyword SrceryGreen
-hi! link jsonQuote SrceryGreen
-hi! link jsonBraces SrceryBlue
-hi! link jsonString SrceryBlue
-
-" }}}
-" Rust: {{{
-
-"https://github.com/rust-lang/rust.vim/blob/master/syntax/rust.vim
-hi! link rustCommentLineDoc SrceryGreen
-hi! link rustModPathSep SrceryBrightBlack
-
-" }}}
-" Make: {{{
-
-hi! link makePreCondit SrceryRed
-hi! link makeCommands SrceryBrightWhite
-hi! link makeTarget SrceryYellow
-
-" }}}
-" shell script: {{{
-
-call s:HL('shParenError', s:bright_white, s:bright_red)
-hi! link shCmdSubRegion SrceryWhite
-hi! link shArithRegion SrceryWhite
-hi! link shArithRegion SrceryWhite
-hi! link shQuote SrceryWhite
-hi! link shRedir SrceryMagenta
-hi! link shOption SrceryBrightYellow
-hi! link shCommandSub SrceryBrightRed
-
-" }}}
-" Misc: {{{
-
-call s:HL('ExtraWhitespace', s:none, s:red)
-" }}}
-
-" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/.github/dependabot.yaml	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,8 @@
+# .github/dependabot.yaml
+
+version: 2
+updates:
+  - package-ecosystem: github-actions
+    directory: /
+    schedule:
+      interval: daily
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/.github/workflows/lint.yaml	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,23 @@
+---
+name: Check Them Vim Files
+
+on:
+  push:
+  pull_request:
+    branches: [$default-branch]
+
+jobs:
+  lint:
+    runs-on: ubuntu-latest
+    name: Linting
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/setup-python@v4
+        with:
+          python-version: "3.x"
+      - name: Install Vint
+        run: |
+          python -m pip install --upgrade pip setuptools wheel
+          pip install --upgrade vim-vint
+      - name: Vinting code
+        run: vint --verbose --stat $(find . -type f -name '*.vim')
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/.gitignore	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,4 @@
+doc/tags
+TODOs.org
+*.temp
+*_archive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/LICENSE	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2018 for portions of Srcery are held by morhetz <morhetz@gmail.com> as part of Gruvbox.
+All other Copyright (c) 2021 for Srcery are held by Daniel Berg <mail@roosta.sh> and contributers of Srcery.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/README.md	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,332 @@
+![logo](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/title.png)
+
+[![Check Them Vim Files](https://github.com/srcery-colors/srcery-vim/workflows/Check%20Them%20Vim%20Files/badge.svg)](https://github.com/srcery-colors/srcery-vim/actions)
+
+Color scheme with clearly defined contrasting colors and a slightly earthy tone.
+
+## Requirements
+
+### GUI
+
+You don’t need to do anything for this colorscheme to work in gVim or MacVim.
+
+### TUI
+
+To use Srcery in the terminal you need to change your terminal emulator’s
+so-called “ASCII” colors to the ones in the table below. There's a list of
+terminal configurations in the
+[srcery-terminal](https://github.com/srcery-colors/srcery-terminal) repository.
+
+| TERMCOL       | NR | VAR                       | HEX     | RGB           | IMG                                                            |
+|---------------|----|---------------------------|---------|---------------|----------------------------------------------------------------|
+| black         | 0  | `g:srcery_black`          | #1C1B19 | 28,  27,  25  | ![black](https://place-hold.it/100x24/1C1B19?text=+)           |
+| red           | 1  | `g:srcery_red`            | #EF2F27 | 239, 47, 39   | ![red](https://place-hold.it/100x24/EF2F27?text=+)             |
+| green         | 2  | `g:srcery_green`          | #519F50 | 81,  159, 80  | ![green](https://place-hold.it/100x24/519F50?text=+)           |
+| yellow        | 3  | `g:srcery_yellow`         | #FBB829 | 251, 184, 41  | ![yellow](https://place-hold.it/100x24/FBB829?text=+)          |
+| blue          | 4  | `g:srcery_blue`           | #2C78BF | 44, 120, 191  | ![blue](https://place-hold.it/100x24/2C78BF?text=+)            |
+| magenta       | 5  | `g:srcery_magenta`        | #E02C6D | 224, 44,  109 | ![magenta](https://place-hold.it/100x24/E02C6D?text=+)         |
+| cyan          | 6  | `g:srcery_cyan`           | #0AAEB3 | 10, 174, 179  | ![cyan](https://place-hold.it/100x24/0AAEB3?text=+)            |
+| white         | 7  | `g:srcery_white`          | #BAA67F | 186, 166, 127 | ![white](https://place-hold.it/100x24/BAA67F?text=+)           |
+| brightblack   | 8  | `g:srcery_bright_black`   | #918175 | 145, 129, 117 | ![bright\_black](https://place-hold.it/100x24/918175?text=+)   |
+| brightred     | 9  | `g:srcery_bright_red`     | #F75341 | 247, 83, 65   | ![bright\_red](https://place-hold.it/100x24/F75341?text=+)     |
+| brightgreen   | 10 | `g:srcery_bright_green`   | #98BC37 | 152, 188, 55  | ![bright\_green](https://place-hold.it/100x24/98BC37?text=+)   |
+| brightyellow  | 11 | `g:srcery_bright_yellow`  | #FED06E | 254, 208, 110 | ![bright\_yellow](https://place-hold.it/100x24/FED06E?text=+)  |
+| brightblue    | 12 | `g:srcery_bright_blue`    | #68A8E4 | 104, 168, 228 | ![bright\_blue](https://place-hold.it/100x24/68A8E4?text=+)    |
+| brightmagenta | 13 | `g:srcery_bright_magenta` | #FF5C8F | 255, 92, 143  | ![bright\_magenta](https://place-hold.it/100x24/FF5C8F?text=+) |
+| brightcyan    | 14 | `g:srcery_bright_cyan`    | #2BE4D0 | 43, 228, 208  | ![bright\_cyan](https://place-hold.it/100x24/2BE4D0?text=+)    |
+| brightwhite   | 15 | `g:srcery_bright_white`   | #FCE8C3 | 252, 232, 195 | ![bright\_white](https://place-hold.it/100x24/FCE8C3?text=+)   |
+
+Additionally Srcery uses some [xterm 256
+colors](https://en.wikipedia.org/wiki/Xterm#/media/File:Xterm_256color_chart.svg)
+to pad out the color selection, no extra configuration needed.
+
+| NAME           | NR  | VAR                      | HEX     | RGB         | IMG                                                           |
+|----------------|-----|--------------------------|---------|-------------|---------------------------------------------------------------|
+| orange         | 202 | `g:srcery_orange`        | #FF5F00 | 255, 95, 0  | ![orange](https://place-hold.it/100x24/FF5F00?text=+)         |
+| bright\_orange | 208 | `g:srcery_bright_orange` | #FF8700 | 255, 135, 0 | ![bright\_orange](https://place-hold.it/100x24/FF8700?text=+) |
+| hard\_black    | 233 | `g:srcery_hard_black`    | #121212 | 18, 18, 18  | ![hard\_black](https://place-hold.it/100x24/121212?text=+)    |
+| xgray1         | 235 | `g:srcery_xgray1`        | #262626 | 38, 38, 38  | ![xgray1](https://place-hold.it/100x24/262626?text=+)         |
+| xgray2         | 236 | `g:srcery_xgray2`        | #303030 | 48, 48, 48  | ![xgray2](https://place-hold.it/100x24/303030?text=+)         |
+| xgray3         | 237 | `g:srcery_xgray3`        | #3A3A3A | 58, 58, 58  | ![xgray3](https://place-hold.it/100x24/3A3A3A?text=+)         |
+| xgray4         | 238 | `g:srcery_xgray4`        | #444444 | 68, 68, 68  | ![xgray4](https://place-hold.it/100x24/444444?text=+)         |
+| xgray5         | 239 | `g:srcery_xgray5`        | #4E4E4E | 78, 78, 78  | ![xgray5](https://place-hold.it/100x24/4E4E4E?text=+)         |
+| xgray6         | 240 | `g:srcery_xgray6`        | #585858 | 88, 88, 88  | ![xgray6](https://place-hold.it/100x24/585858?text=+)         |
+
+## Installation
+
+### Manually
+
+Put `srcery.vim` in `~/.vim/colors/` (on unix-like systems) or `%userprofile%\vimfiles\colors\` (on Windows).
+
+### Vim 8
+
+Vim 8 has native support for loading plugins. All you need to do to is to clone
+this repository into `~/.vim/pack/default/opt`.
+
+    git clone https://github.com/srcery-colors/srcery-vim ~/.vim/pack/default/opt/srcery-vim
+
+The same works for Neovim, but you have to clone it into a path where Neovim can
+find it.
+
+    git clone https://github.com/srcery-colors/srcery-vim ~/.config/nvim/plug/default/opt/srcery-vim
+
+### [dein.vim](https://github.com/Shougo/dein.vim)
+
+```vim
+call dein#add('srcery-colors/srcery-vim')
+```
+
+### [vim-pathogen](https://github.com/tpope/vim-pathogen)
+
+```shell
+cd ~/.vim/bundle
+git clone https://github.com/srcery-colors/srcery-vim
+```
+
+### [vim-plug](https://github.com/junegunn/vim-plug)
+
+```vim
+Plug 'srcery-colors/srcery-vim'
+```
+### [packer](https://github.com/wbthomason/packer.nvim)
+```lua
+  use {'srcery-colors/srcery-vim', as = 'srcery'}
+```
+
+## Usage
+
+```
+:color srcery
+```
+
+If you like what you see and decide to make srcery your default colorscheme, add the relevant line to your `.vimrc`:
+
+```vim
+colorscheme srcery
+```
+
+## Configuration
+
+Srcery includes a few toggles due to discrepancies in the various setups possible.
+To change any of these you'd put something like this in your `.vimrc`
+
+```vim
+let g:srcery_italic = 1
+```
+
+Make sure that you set these variables before assigning `colorscheme`.
+
+### Colors
+
+You can customize each of Srcery's colors, to customize say the red color:
+
+```vim
+let g:srcery_red = '#FF0000'
+```
+
+Refer to the [table](#TUI) for a full list of color variables, hexes and more.
+
+This will only work on `set termguicolors` and in gVim, to override terminal
+colors, do so in your [terminal
+configuration](https://github.com/srcery-colors/srcery-terminal).
+
+### Options
+
+#### g:srcery\_bold
+
+Enables bold text.
+
+Default: 1
+
+#### g:srcery\_italic
+
+Enables italic text.
+
+Default: gui 1, term 0
+
+#### g:srcery\_underline
+
+Enables underlined text.
+
+Default: 1
+
+#### g:srcery\_undercurl
+
+Enables undercurled text.
+
+Default: 1
+
+#### g:srcery\_inverse
+
+Enable or disable inverse highlighting (foreground becomes background,
+vice versa). This is used for visual selection, search highlights and
+some other things.
+
+Srcery will fall back to other methods of highlighting if this is
+disabled.
+
+Default: 1
+
+#### g:srcery\_inverse\_matches
+
+Highlight search matches using inverse colors.
+
+Default: 0
+
+#### g:srcery\_inverse\_match\_paren
+
+When enabled will highlight matching delimiters using inverse colors.
+(`:DoMatchParen`)
+
+Works best with [Rainbow parenthesis](https://github.com/kien/rainbow_parentheses.vim).
+
+Default: 0
+
+#### g:srcery\_dim\_lisp\_paren
+
+Dims lisp dialects delimiters to a fairly dark gray (xgray5 specifically).
+
+Default: 0
+
+#### g:srcery\_bg\_passthrough
+
+Lets the terminal control the background color in Vim by setting the background to `NONE`.
+
+A possible use case for this could be you want to manipulate the background
+color in the terminal, and let the results bubble up to Vim, like [this](https://github.com/roosta/tmux-pop).
+
+This is a bit of an experimental option, and can cause issues in certain
+terminals.
+
+Default: 0
+
+#### g:srcery\_guisp\_fallback
+
+Sets up alternate highlighting for colored underline/undercurl. Some
+environments are unable to color underline, so this setting will set either the
+background or foreground to whatever color the underline is supposed to be.
+
+This comes in handy if colored underline doesn't work, or underline is disabled
+entirely.
+
+Default: 'NONE'
+
+Possible Values: 'fg', 'bg'
+
+#### g:srcery\_italic\_types
+
+Italicize types if italic is enabled.
+
+Default: 0
+
+#### g:srcery\_hard\_black\_terminal\_bg
+
+If enabled, will set the terminal background in vim to hard black.
+Note that this currently only works in Vim, not Neovim.
+
+Default: 1
+
+## Screenshots
+
+viml, bash
+![viml\_bash](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/vim/viml_bash.png)
+
+clojure, elisp
+![lisp](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/vim/lisp.png)
+
+c, rust
+![c\_rust](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/vim/c_rust.png)
+
+python, js
+![py\_js](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/vim/py_js.png)
+
+git, terminal
+![git\_term](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/vim/git_term.png)
+
+Typeface used in screenshots is [Iosevka](https://github.com/be5invis/Iosevka)
+
+## Plugin support
+
+### Lightline
+
+![lightline](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/vim/lightline.png)
+
+[Lightline](https://github.com/itchyny/lightline.vim) colorscheme.
+To use it, include 'srcery' value in lightline configuration, like so:
+
+```vim
+let g:lightline = {
+      \ 'colorscheme': 'srcery',
+      \ }
+```
+
+### Airline
+
+![airline](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/vim/airline.png)
+
+Thanks to [MindTooth](https://github.com/MindTooth), Srcery now includes an [Airline](https://github.com/vim-airline/vim-airline) theme.
+
+### Other
+
+These don't require any additional configuration.
+
+* [ale](https://github.com/w0rp/ale)
+* [coc.nvim](https://github.com/neoclide/coc.nvim)
+* [ctrlp.vim](https://github.com/ctrlpvim/ctrlp.vim)
+* [fzf.vim](https://github.com/junegunn/fzf.vim)
+* [vim-clap](https://github.com/liuchengxu/vim-clap)
+* [vim-gitgutter](https://github.com/airblade/vim-gitgutter)
+* [vim-indent-guides](https://github.com/nathanaelkane/vim-indent-guides)
+* [vim-sneak](https://github.com/justinmk/vim-sneak)
+* [vim-startify](https://github.com/mhinz/vim-startify)
+
+Plugin support is still a work in progress and more will come, if there is
+anything missing that you'd like to add please open an issue and let me know.
+
+## Attribution
+
+This project started as essentially a palette swap of
+[Gruvbox](https://github.com/morhetz/gruvbox) and all credit goes to the
+maintainers of that fantastic color scheme. I wanted something a bit sharper, but
+I loved the syntax color choices of Gruvbox. I also tried to make the theme as
+simple to use as possible, which was inspired by
+[Flattened](https://github.com/romainl/flattened). Other themes that influenced
+Srcery:
+
+ * [Base16](http://chriskempson.com/projects/base16/)
+ * [Badwolf](https://github.com/sjl/badwolf)
+ * [Jellybeans](https://github.com/nanotech/jellybeans.vim)
+ * [Molokai](https://github.com/tomasr/molokai)
+
+## Troubleshooting
+
+### Colors don't look right
+
+Ensure that 256 colors are enabled in vim by setting this option **before** setting the colorscheme.
+
+```viml
+set t_Co=256
+```
+
+### 24-bit color, tmux and Neovim
+
+If you want to use GUI colors in terminal make sure that tmux pass
+through 24-bit color codes. For example, if you use
+[Termite](https://github.com/thestinger/termite) add it to the
+terminal overrides setting:
+
+```tmux
+set -ga terminal-overrides ",xterm-termite:Tc"
+```
+
+For other terminals, replace `xterm-termite` with the relevant
+terminal type. (stored in `$TERM`).
+
+See [Arch wiki](https://wiki.archlinux.org/index.php/Tmux#24-bit_color)
+and this [issue](https://github.com/srcery-colors/srcery-vim/issues/36).
+
+## Extra
+
+### Emacs
+
+ Check out [srcery-emacs](https://github.com/srcery-colors/srcery-emacs)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/plugin/srcery.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,263 @@
+if srcery#helper#ShouldAbort()
+  finish
+endif
+
+" Palette {{{
+
+let s:none           = g:srcery#palette.none
+
+" 16 base colors
+let s:black          = g:srcery#palette.black
+let s:red            = g:srcery#palette.red
+let s:green          = g:srcery#palette.green
+let s:yellow         = g:srcery#palette.yellow
+let s:blue           = g:srcery#palette.blue
+let s:magenta        = g:srcery#palette.magenta
+let s:cyan           = g:srcery#palette.cyan
+let s:white          = g:srcery#palette.white
+let s:bright_black   = g:srcery#palette.bright_black
+let s:bright_red     = g:srcery#palette.bright_red
+let s:bright_green   = g:srcery#palette.bright_green
+let s:bright_yellow  = g:srcery#palette.bright_yellow
+let s:bright_blue    = g:srcery#palette.bright_blue
+let s:bright_magenta = g:srcery#palette.bright_magenta
+let s:bright_cyan    = g:srcery#palette.bright_cyan
+let s:bright_white   = g:srcery#palette.bright_white
+
+" xterm colors
+let s:orange         = g:srcery#palette.orange
+let s:bright_orange  = g:srcery#palette.bright_orange
+let s:hard_black     = g:srcery#palette.hard_black
+let s:xgray1         = g:srcery#palette.xgray1
+let s:xgray2         = g:srcery#palette.xgray2
+let s:xgray3         = g:srcery#palette.xgray3
+let s:xgray4         = g:srcery#palette.xgray4
+let s:xgray5         = g:srcery#palette.xgray5
+let s:xgray6         = g:srcery#palette.xgray6
+
+"}}}
+" Setup Emphasis: {{{
+
+let s:bold = g:srcery#palette.bold
+let s:italic = g:srcery#palette.italic
+let s:underline = g:srcery#palette.underline
+let s:undercurl = g:srcery#palette.undercurl
+let s:inverse = g:srcery#palette.inverse
+
+" }}}
+" Sneak: {{{
+
+if exists('g:loaded_sneak_plugin')
+  hi! link Sneak Search
+  call srcery#helper#Highlight('SneakScope', s:none, s:hard_black)
+  hi! link SneakLabel Search
+endif
+
+" }}}
+" Rainbow Parentheses: {{{
+
+if !exists('g:rbpt_colorpairs')
+  let g:rbpt_colorpairs =
+    \ [
+      \ ['blue',  '#2C78BF'], ['202',  '#FF5F00'],
+      \ ['red',  '#EF2F27'], ['magenta', '#E02C6D']
+    \ ]
+endif
+
+let g:rainbow_guifgs = [ '#E02C6D', '#EF2F27', '#D75F00', '#2C78BF']
+let g:rainbow_ctermfgs = [ 'magenta', 'red', '202', 'blue' ]
+
+if !exists('g:rainbow_conf')
+  let g:rainbow_conf = {}
+endif
+if !has_key(g:rainbow_conf, 'guifgs')
+  let g:rainbow_conf['guifgs'] = g:rainbow_guifgs
+endif
+if !has_key(g:rainbow_conf, 'ctermfgs')
+  let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs
+endif
+
+let g:niji_dark_colours = g:rbpt_colorpairs
+let g:niji_light_colours = g:rbpt_colorpairs
+
+"}}}
+" GitGutter: {{{
+
+if exists('g:loaded_gitgutter')
+  hi! link GitGutterAdd SrceryGreen
+  hi! link GitGutterChange SrceryYellow
+  hi! link GitGutterDelete SrceryRed
+  hi! link GitGutterChangeDelete SrceryYellow
+endif
+
+" }}}
+" Asynchronous Lint Engine: {{{
+
+if exists('g:ale_enabled')
+  call srcery#helper#Highlight('ALEError', s:none, s:none, s:undercurl, s:red)
+  call srcery#helper#Highlight('ALEWarning', s:none, s:none, s:undercurl, s:yellow)
+  call srcery#helper#Highlight('ALEInfo', s:none, s:none, s:undercurl, s:blue)
+
+  hi! link ALEErrorSign SrceryRed
+  hi! link ALEWarningSign SrceryYellow
+  hi! link ALEInfoSign SrceryBlue
+endif
+
+" }}}
+
+" vim-indent-guides: {{{
+if exists('g:loaded_indent_guides')
+  call srcery#helper#Highlight('IndentGuidesEven', s:none, s:xgray3)
+  call srcery#helper#Highlight('IndentGuidesOdd',  s:none, s:xgray4)
+endif
+
+" }}}
+" vim-startify: {{{
+
+if exists('g:loaded_startify')
+  hi! link StartifyNumber Statement
+  hi! link StartifyFile Normal
+  hi! link StartifyPath String
+  hi! link StartifySlash Normal
+  hi! link StartifyBracket Comment
+  hi! link StartifyHeader Type
+  hi! link StartifyFooter Normal
+  hi! link StartifySpecial Comment
+  hi! link StartifySection Identifier
+endif
+
+" }}}
+" fzf: {{{
+
+if exists('g:loaded_fzf')
+  call srcery#helper#Highlight('fzf1', s:magenta, s:xgray2)
+  call srcery#helper#Highlight('fzf2', s:bright_green, s:xgray2)
+  call srcery#helper#Highlight('fzf3', s:bright_white, s:xgray2)
+endif
+
+"}}}
+
+" Netrw: {{{
+
+hi! link netrwDir SrceryBlue
+hi! link netrwClassify SrceryCyan
+hi! link netrwLink SrceryBrightBlack
+hi! link netrwSymLink SrceryCyan
+hi! link netrwExe SrceryYellow
+hi! link netrwComment SrceryBrightBlack
+hi! link netrwList SrceryBrightBlue
+hi! link netrwTreeBar SrceryBrightBlack
+hi! link netrwHelpCmd SrceryCyan
+hi! link netrwVersion SrceryGreen
+hi! link netrwCmdSep SrceryBrightBlack
+
+"}}}
+" coc.nvim: {{{
+
+if exists('g:did_coc_loaded')
+  hi! link CocErrorSign SrceryRed
+  hi! link CocWarningSign SrceryBrightOrange
+  hi! link CocInfoSign SrceryYellow
+  hi! link CocHintSign SrceryBlue
+  hi! link CocErrorFloat SrceryRed
+  hi! link CocWarningFloat SrceryOrange
+  hi! link CocInfoFloat SrceryYellow
+  hi! link CocHintFloat SrceryBlue
+  hi! link CocDiagnosticsError SrceryRed
+  hi! link CocDiagnosticsWarning SrceryOrange
+  hi! link CocDiagnosticsInfo SrceryYellow
+  hi! link CocDiagnosticsHint SrceryBlue
+
+  hi! link CocSelectedText SrceryRed
+  hi! link CocCodeLens SrceryWhite
+
+  call srcery#helper#Highlight('CocErrorHighlight', s:none, s:none, s:undercurl, s:red)
+  call srcery#helper#Highlight('CocWarningHighlight', s:none, s:none, s:undercurl, s:bright_orange)
+  call srcery#helper#Highlight('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow)
+  call srcery#helper#Highlight('CocHintHighlight', s:none, s:none, s:undercurl, s:blue)
+endif
+
+" }}}
+" CtrlP: "{{{
+
+if exists('g:loaded_ctrlp')
+  hi! link CtrlPMatch SrceryMagenta
+  hi! link CtrlPLinePre SrceryBrightGreen
+  call srcery#helper#Highlight('CtrlPMode1', s:bright_white, s:xgray3)
+  call srcery#helper#Highlight('CtrlPMode2', s:bright_white, s:xgray5)
+  call srcery#helper#Highlight('CtrlPStats', s:yellow, s:xgray2)
+endif
+
+" }}}
+" NERDTree: "{{{
+
+if exists('g:loaded_nerd_tree')
+  hi! link NERDTreeDir SrceryBlue
+  hi! link NERDTreeDirSlash SrceryCyan
+  hi! link NERDTreeOpenable SrceryBlue
+  hi! link NERDTreeClosable SrceryBlue
+  hi! link NERDTreeFile SrceryWhite
+  hi! link NERDTreeExecFile SrceryYellow
+  hi! link NERDTreeUp SrceryOrange
+  hi! link NERDTreeCWD SrceryGreen
+  hi! link NERDTreeHelp SrceryCyan
+  hi! link NERDTreeFlags SrceryCyan
+  hi! link NERDTreeLinkFile SrceryBrightBlack
+  hi! link NERDTreeLinkTarget SrceryBrightBlack
+endif
+
+" }}}
+" Telescope: "{{{
+
+if exists('g:loaded_telescope')
+  call srcery#helper#Highlight('TelescopeNormal', s:white, s:none)
+  call srcery#helper#Highlight('TelescopeSelection', s:green, s:none, s:bold)
+  call srcery#helper#Highlight('TelescopeMatching', s:magenta)
+  call srcery#helper#Highlight('TelescopeSelectionCaret', s:magenta)
+  call srcery#helper#Highlight('TelescopePromptPrefix', s:bright_yellow)
+endif
+
+" }}}
+" nvim: {{{
+
+if has('nvim')
+
+  " nvim-treesitter: {{{
+
+  if exists('g:loaded_nvim_treesitter')
+    " This is deprecated in new nvim releases
+    call srcery#helper#Highlight('TSStrong', s:none, s:none, s:bold)
+    call srcery#helper#Highlight('TSEmphasis', s:none, s:none, s:bold)
+    call srcery#helper#Highlight('TSUnderline', s:none, s:none, s:underline)
+
+    highlight! link TSWarning SrceryOrangeBold
+    highlight! link TSDanger SrceryRedBold
+    highlight! link TSConstBuiltin SrceryCyan
+    highlight! link TSField SrceryGreen
+    highlight! link TSFuncBuiltin SrceryYellow
+    highlight! link TSFuncMacro SrceryOrange
+    highlight! link TSFunction SrceryYellow
+    call srcery#helper#Highlight('TSNamespace', s:white, s:none, s:italic)
+    call srcery#helper#Highlight('TSParameter', s:cyan, s:none, s:italic)
+    highlight! link TSProperty SrceryBrightBlue
+    highlight! link TSSymbol SrceryBlue
+    highlight! link TSTag SrceryBlue
+    highlight! link TSTagAttribute SrceryYellow
+    highlight! link TSVariableBuiltin SrceryCyan
+    highlight! link TSType SrceryWhite
+    highlight! link TSDelimiter SrceryWhite
+    highlight! link TSURI SrceryGreen
+    highlight! link TSVariable SrceryBrightWhite
+
+    if has('nvim-0.8')
+      " TODO: Implement new nvim syntax
+      " Example could be taken from: https://github.com/dracula/vim/blob/b9f4f3a169266031d3744335595eee02a6e396c6/after/plugin/dracula.vim#L103
+    endif
+  endif
+
+  " }}}
+endif
+
+" }}}
+
+" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/c.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,10 @@
+if srcery#helper#ShouldAbort('c')
+  finish
+endif
+
+" C: {{{
+
+hi! link cOperator SrceryMagenta
+hi! link cStructure SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/coffee.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,13 @@
+if srcery#helper#ShouldAbort('coffee')
+  finish
+endif
+
+" CoffeeScript: {{{
+
+hi! link coffeeExtendedOp SrceryBrightWhite
+hi! link coffeeSpecialOp SrceryBrightWhite
+hi! link coffeeCurly SrceryYellow
+hi! link coffeeParen SrceryBrightWhite
+hi! link coffeeBracket SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/css.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,44 @@
+if srcery#helper#ShouldAbort('css')
+  finish
+endif
+
+" CSS: {{{
+
+hi! link cssBraces SrceryBrightWhite
+hi! link cssFunctionName SrceryYellow
+hi! link cssIdentifier SrceryBlue
+hi! link cssClassName SrceryBlue
+hi! link cssClassNameDot SrceryBlue
+hi! link cssColor SrceryBrightMagenta
+hi! link cssSelectorOp SrceryBlue
+hi! link cssSelectorOp2 SrceryBlue
+hi! link cssImportant SrceryGreen
+hi! link cssVendor SrceryBlue
+hi! link cssMediaProp SrceryYellow
+hi! link cssBorderProp SrceryYellow
+hi! link cssAttrComma SrceryBrightWhite
+
+hi! link cssTextProp SrceryYellow
+hi! link cssAnimationProp SrceryYellow
+hi! link cssUIProp SrceryYellow
+hi! link cssTransformProp SrceryYellow
+hi! link cssTransitionProp SrceryYellow
+hi! link cssPrintProp SrceryYellow
+hi! link cssPositioningProp SrceryYellow
+hi! link cssBoxProp SrceryYellow
+hi! link cssFontDescriptorProp SrceryYellow
+hi! link cssFlexibleBoxProp SrceryYellow
+hi! link cssBorderOutlineProp SrceryYellow
+hi! link cssBackgroundProp SrceryYellow
+hi! link cssMarginProp SrceryYellow
+hi! link cssListProp SrceryYellow
+hi! link cssTableProp SrceryYellow
+hi! link cssFontProp SrceryYellow
+hi! link cssPaddingProp SrceryYellow
+hi! link cssDimensionProp SrceryYellow
+hi! link cssRenderProp SrceryYellow
+hi! link cssColorProp SrceryYellow
+hi! link cssGeneratedContentProp SrceryYellow
+hi! link cssTagName SrceryBrightBlue
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/elixir.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,12 @@
+if srcery#helper#ShouldAbort('elixir')
+  finish
+endif
+
+" Elixir: {{{
+
+hi! link elixirDocString Comment
+
+hi! link elixirStringDelimiter SrceryGreen
+hi! link elixirInterpolationDelimiter SrceryCyan
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/flow.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,5 @@
+if srcery#helper#ShouldAbort('flow')
+  finish
+endif
+
+runtime! syntax/javascript.vim
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/gitcommit.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,10 @@
+if srcery#helper#ShouldAbort('gitcommit')
+  finish
+endif
+
+" GitCommit: "{{{
+
+hi! link gitcommitSelectedFile SrceryGreen
+hi! link gitcommitDiscardedFile SrceryRed
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/go.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,12 @@
+if srcery#helper#ShouldAbort('go')
+  finish
+endif
+" Go: {{{
+
+hi! link goDirective SrceryCyan
+hi! link goConstants SrceryMagenta
+hi! link goDeclaration SrceryRed
+hi! link goDeclType SrceryBlue
+hi! link goBuiltins SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/haskell.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,38 @@
+if srcery#helper#ShouldAbort('haskell')
+  finish
+endif
+
+" Haskell: {{{
+
+" hi! link haskellType SrceryYellow
+" hi! link haskellOperators SrceryYellow
+" hi! link haskellConditional SrceryCyan
+" hi! link haskellLet SrceryYellow
+
+hi! link haskellType SrceryBlue
+hi! link haskellIdentifier SrceryBlue
+hi! link haskellSeparator SrceryBlue
+hi! link haskellDelimiter SrceryBrightWhite
+hi! link haskellOperators SrceryBlue
+
+hi! link haskellBacktick SrceryYellow
+hi! link haskellStatement SrceryYellow
+hi! link haskellConditional SrceryYellow
+
+hi! link haskellLet SrceryCyan
+hi! link haskellDefault SrceryCyan
+hi! link haskellWhere SrceryCyan
+hi! link haskellBottom SrceryCyan
+hi! link haskellBlockKeywords SrceryCyan
+hi! link haskellImportKeywords SrceryCyan
+hi! link haskellDeclKeyword SrceryCyan
+hi! link haskellDeriving SrceryCyan
+hi! link haskellAssocType SrceryCyan
+
+hi! link haskellNumber SrceryMagenta
+hi! link haskellPragma SrceryMagenta
+
+hi! link haskellString SrceryGreen
+hi! link haskellChar SrceryGreen
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/html.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,47 @@
+if srcery#helper#ShouldAbort('html')
+  finish
+endif
+
+let s:none = g:srcery#palette.none
+let s:black = g:srcery#palette.black
+let s:bright_white = g:srcery#palette.bright_white
+
+let s:bold = g:srcery#palette.bold
+let s:italic = g:srcery#palette.italic
+let s:underline = g:srcery#palette.underline
+
+" HTML: {{{
+
+
+hi! link htmlTagName SrceryBlue
+hi! link htmlTag SrceryBrightBlack
+hi! link htmlEndTag SrceryBrightBlack
+hi! link htmlArg SrceryYellow
+
+hi! link htmlScriptTag SrceryRed
+hi! link htmlTagN SrceryBlue
+hi! link htmlSpecialTagName SrceryBlue
+
+call srcery#helper#Highlight('htmlLink', s:bright_white, s:none, s:underline)
+
+hi! link htmlSpecialChar SrceryYellow
+
+if g:srcery_bg_passthrough == 1 && !has('gui_running')
+  call srcery#helper#Highlight('htmlBold', s:bright_white, s:none, s:bold)
+  call srcery#helper#Highlight('htmlBoldUnderline', s:bright_white, s:none, s:bold . s:underline)
+  call srcery#helper#Highlight('htmlBoldItalic', s:bright_white, s:none, s:bold . s:italic)
+  call srcery#helper#Highlight('htmlBoldUnderlineItalic', s:bright_white, s:none, s:bold . s:underline . s:italic)
+  call srcery#helper#Highlight('htmlUnderline', s:bright_white, s:none, s:underline)
+  call srcery#helper#Highlight('htmlUnderlineItalic', s:bright_white, s:none, s:underline . s:italic)
+  call srcery#helper#Highlight('htmlItalic', s:bright_white, s:none, s:italic)
+else
+  call srcery#helper#Highlight('htmlBold', s:bright_white, s:black, s:bold)
+  call srcery#helper#Highlight('htmlBoldUnderline', s:bright_white, s:black, s:bold . s:underline)
+  call srcery#helper#Highlight('htmlBoldItalic', s:bright_white, s:black, s:bold . s:italic)
+  call srcery#helper#Highlight('htmlBoldUnderlineItalic', s:bright_white, s:black, s:bold . s:underline . s:italic)
+  call srcery#helper#Highlight('htmlUnderline', s:bright_white, s:black, s:underline)
+  call srcery#helper#Highlight('htmlUnderlineItalic', s:bright_white, s:black, s:underline . s:italic)
+  call srcery#helper#Highlight('htmlItalic', s:bright_white, s:black, s:italic)
+endif
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/java.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,20 @@
+if srcery#helper#ShouldAbort('java')
+  finish
+endif
+
+" Java: {{{
+
+hi! link javaAnnotation SrceryBlue
+hi! link javaDocTags SrceryCyan
+hi! link javaCommentTitle vimCommentTitle
+hi! link javaParen SrceryBrightWhite
+hi! link javaParen1 SrceryBrightWhite
+hi! link javaParen2 SrceryBrightWhite
+hi! link javaParen3 SrceryBrightWhite
+hi! link javaParen4 SrceryBrightWhite
+hi! link javaParen5 SrceryBrightWhite
+hi! link javaOperator SrceryYellow
+
+hi! link javaVarArg SrceryGreen
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/javascript.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,44 @@
+if srcery#helper#ShouldAbort('javascript')
+  finish
+endif
+
+" JavaScript: {{{
+
+hi! link javascriptMember SrceryBlue
+hi! link javascriptNull SrceryMagenta
+
+hi! link javascriptParens SrceryWhite
+hi! link javascriptBraces SrceryWhite
+hi! link javascriptReserved SrceryOrange
+hi! link javascriptIdentifier SrceryRed
+
+hi! link javascriptFuncArg Normal
+hi! link javascriptDocComment SrceryGreen
+hi! link javascriptArrayMethod Function
+hi! link javascriptReflectMethod Function
+hi! link javascriptStringMethod Function
+hi! link javascriptObjectMethod Function
+hi! link javascriptObjectStaticMethod Function
+hi! link javascriptObjectLabel SrceryBlue
+hi! link javascriptFunction SrceryRed
+
+hi! link javascriptProp SrceryBlue
+
+hi! link javascriptVariable SrceryBrightBlue
+hi! link javascriptOperator SrceryBrightCyan
+hi! link javascriptFuncKeyword SrceryBrightRed
+hi! link javascriptFunctionMethod SrceryYellow
+hi! link javascriptReturn SrceryBrightRed
+hi! link javascriptEndColons SrceryWhite
+
+" vim-javascript
+hi! link jsFunction SrceryRed
+hi! link jsImport SrceryRed
+hi! link jsObjectSeparator SrceryWhite
+hi! link jsParens SrceryWhite
+hi! link jsFuncParens SrceryWhite
+hi! link jsNoise SrceryWhite
+hi! link jsEnvComment SrceryBrightBlack
+hi! link jsOperator SrceryBrightCyan
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/javascriptreact.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,5 @@
+if srcery#helper#ShouldAbort('javascriptreact')
+  finish
+endif
+
+runtime! syntax/javascript.vim
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/json.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,12 @@
+if srcery#helper#ShouldAbort('json')
+  finish
+endif
+
+" JSON: {{{
+
+hi! link jsonKeyword SrceryGreen
+hi! link jsonQuote SrceryGreen
+hi! link jsonBraces SrceryBlue
+hi! link jsonString SrceryBlue
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/jsonc.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,5 @@
+if srcery#helper#ShouldAbort('jsonc')
+  finish
+endif
+
+runtime! syntax/json.vim
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/lisp.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,45 @@
+if srcery#helper#ShouldAbort('lisp')
+  finish
+endif
+
+let s:none = g:srcery#palette.none
+let s:bright_white = g:srcery#palette.bright_white
+let s:bold = g:srcery#palette.bold
+
+" Lisp dialects: {{{
+
+if g:srcery_dim_lisp_paren == 1
+  hi! link schemeParentheses SrceryXgray6
+  hi! link clojureParen SrceryXgray6
+else
+  hi! link schemeParentheses SrceryWhite
+  hi! link clojureParen SrceryWhite
+endif
+
+hi! link clojureKeyword SrceryBlue
+hi! link clojureCond SrceryRed
+hi! link clojureSpecial SrceryRed
+hi! link clojureDefine SrceryRed
+
+hi! link clojureFunc SrceryYellow
+hi! link clojureRepeat SrceryYellow
+hi! link clojureCharacter SrceryCyan
+hi! link clojureStringEscape SrceryCyan
+hi! link clojureException SrceryRed
+
+hi! link clojureRegexp SrceryCyan
+hi! link clojureRegexpEscape SrceryCyan
+call srcery#helper#Highlight('clojureRegexpCharClass', s:bright_white, s:none, s:bold)
+hi! link clojureRegexpMod clojureRegexpCharClass
+hi! link clojureRegexpQuantifier clojureRegexpCharClass
+
+hi! link clojureAnonArg SrceryYellow
+hi! link clojureVariable SrceryBlue
+hi! link clojureMacro SrceryOrangeBold
+
+hi! link clojureMeta SrceryYellow
+hi! link clojureDeref SrceryYellow
+hi! link clojureQuote SrceryYellow
+hi! link clojureUnquote SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/lua.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,11 @@
+if srcery#helper#ShouldAbort('lua')
+  finish
+endif
+
+" Lua: {{{
+
+hi! link luaIn SrceryRed
+hi! link luaFunction SrceryCyan
+hi! link luaTable SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/make.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,11 @@
+if srcery#helper#ShouldAbort('make')
+  finish
+endif
+
+" Make: {{{
+
+hi! link makePreCondit SrceryRed
+hi! link makeCommands SrceryBrightWhite
+hi! link makeTarget SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/markdown.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,42 @@
+if srcery#helper#ShouldAbort('markdown')
+  finish
+endif
+
+let s:none = g:srcery#palette.none
+let s:bright_white = g:srcery#palette.bright_white
+let s:italic = g:srcery#palette.italic
+let s:underline = g:srcery#palette.underline
+
+" Markdown: {{{
+
+call srcery#helper#Highlight('markdownItalic', s:bright_white, s:none, s:italic)
+
+hi! link markdownH1 SrceryBrightBlueBold
+hi! link markdownH2 SrceryBrightBlueBold
+hi! link markdownH3 SrceryBrightYellowBold
+hi! link markdownH4 SrceryBrightYellowBold
+hi! link markdownH5 SrceryYellowBold
+hi! link markdownH6 SrceryYellowBold
+
+hi! link markdownCode SrceryWhite
+hi! link markdownCodeBlock SrceryWhite
+hi! link markdownCodeDelimiter SrceryWhite
+
+hi! link markdownBlockquote SrceryBrightBlack
+hi! link markdownListMarker SrceryBrightBlack
+hi! link markdownOrderedListMarker SrceryBrightBlack
+hi! link markdownRule SrceryBrightBlack
+hi! link markdownHeadingRule SrceryBrightBlack
+
+hi! link markdownUrlDelimiter SrceryBrightBlack
+hi! link markdownLinkDelimiter SrceryBrightBlack
+hi! link markdownLinkTextDelimiter SrceryBrightBlack
+
+hi! link markdownHeadingDelimiter SrceryBrightBlack
+hi! link markdownUrl SrceryBrightGreen
+hi! link markdownUrlTitleDelimiter SrceryGreen
+
+call srcery#helper#Highlight('markdownLinkText', s:bright_white, s:none, s:underline)
+hi! link markdownIdDeclaration markdownLinkText
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/moon.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,12 @@
+if srcery#helper#ShouldAbort('moon')
+  finish
+endif
+
+" MoonScript: {{{
+
+hi! link moonSpecialOp SrceryBrightWhite
+hi! link moonExtendedOp SrceryBrightWhite
+hi! link moonFunction SrceryBrightWhite
+hi! link moonObject SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/objc.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,10 @@
+if srcery#helper#ShouldAbort('objc')
+  finish
+
+endif
+" ObjectiveC: {{{
+
+hi! link objcTypeModifier SrceryRed
+hi! link objcDirective SrceryBlue
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/python.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,21 @@
+if srcery#helper#ShouldAbort('python')
+  finish
+endif
+
+" Python: {{{
+
+hi! link pythonBuiltin SrceryYellow
+hi! link pythonBuiltinObj SrceryYellow
+hi! link pythonBuiltinFunc SrceryYellow
+hi! link pythonFunction SrceryCyan
+hi! link pythonDecorator SrceryRed
+hi! link pythonInclude SrceryBlue
+hi! link pythonImport SrceryBlue
+hi! link pythonRun SrceryBlue
+hi! link pythonCoding SrceryBlue
+hi! link pythonOperator SrceryRed
+hi! link pythonExceptions SrceryMagenta
+hi! link pythonBoolean SrceryMagenta
+hi! link pythonDot SrceryBrightWhite
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/ruby.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,11 @@
+if srcery#helper#ShouldAbort('ruby')
+  finish
+endif
+
+" Ruby: {{{
+
+hi! link rubyStringDelimiter SrceryGreen
+hi! link rubyInterpolationDelimiter SrceryCyan
+hi! link rubyDefine Keyword
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/rust.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,11 @@
+if srcery#helper#ShouldAbort('rust')
+  finish
+endif
+
+" Rust: {{{
+
+"https://github.com/rust-lang/rust.vim/blob/master/syntax/rust.vim
+hi! link rustCommentLineDoc SrceryGreen
+hi! link rustModPathSep SrceryBrightBlack
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/scala.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,25 @@
+if srcery#helper#ShouldAbort('scala')
+  finish
+endif
+
+" Scala: {{{
+
+" NB: scala vim syntax file is kinda horrible
+hi! link scalaNameDefinition SrceryBlue
+hi! link scalaCaseFollowing SrceryBlue
+hi! link scalaCapitalWord SrceryBlue
+hi! link scalaTypeExtension SrceryBlue
+
+hi! link scalaKeyword SrceryRed
+hi! link scalaKeywordModifier SrceryRed
+
+hi! link scalaSpecial SrceryCyan
+hi! link scalaOperator SrceryBlue
+
+hi! link scalaTypeDeclaration SrceryYellow
+hi! link scalaTypeTypePostDeclaration SrceryYellow
+
+hi! link scalaInstanceDeclaration SrceryBlue
+hi! link scalaInterpolation SrceryCyan
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/scss.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,15 @@
+if srcery#helper#ShouldAbort('scss')
+  finish
+endif
+
+runtime! syntax/css.vim
+
+" SASS: {{{
+
+hi! link sassClass SrceryBlue
+hi! link sassClassChar SrceryBlue
+hi! link sassVariable SrceryCyan
+hi! link sassIdChar SrceryBrightBlue
+hi! link sassId SrceryBrightBlue
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/sh.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,19 @@
+if srcery#helper#ShouldAbort('sh')
+  finish
+endif
+
+let s:bright_red = g:srcery#palette.bright_red
+let s:bright_white = g:srcery#palette.bright_white
+
+" shellscript: {{{
+
+call srcery#helper#Highlight('shParenError', s:bright_white, s:bright_red)
+hi! link shCmdSubRegion SrceryWhite
+hi! link shArithRegion SrceryWhite
+hi! link shArithRegion SrceryWhite
+hi! link shQuote SrceryWhite
+hi! link shRedir SrceryMagenta
+hi! link shOption SrceryBrightYellow
+hi! link shCommandSub SrceryBrightRed
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/typescript.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,5 @@
+if srcery#helper#ShouldAbort('typescript')
+  finish
+endif
+
+runtime! syntax/javascript.vim
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/typescriptreact.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,5 @@
+if srcery#helper#ShouldAbort('typescriptreact')
+  finish
+endif
+
+runtime! syntax/javascriptreact.vim
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/vim.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,22 @@
+if srcery#helper#ShouldAbort('vim')
+  finish
+endif
+
+let s:none = g:srcery#palette.none
+let s:bright_white = g:srcery#palette.bright_white
+let s:bold = g:srcery#palette.bold
+let s:italic = g:srcery#palette.italic
+
+" Vim: {{{
+
+call srcery#helper#Highlight('vimCommentTitle', s:bright_white, s:none, s:bold . s:italic)
+
+hi! link vimNotation SrceryYellow
+hi! link vimBracket SrceryYellow
+hi! link vimMapModKey SrceryYellow
+hi! link vimFuncSID SrceryBrightWhite
+hi! link vimSetSep SrceryBrightWhite
+hi! link vimSep SrceryBrightWhite
+hi! link vimContinue SrceryBrightWhite
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/after/syntax/xml.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,29 @@
+if srcery#helper#ShouldAbort('xml')
+  finish
+endif
+
+" XML: {{{
+
+hi! link xmlTag SrceryBlue
+hi! link xmlEndTag SrceryBlue
+hi! link xmlTagName SrceryBlue
+hi! link xmlEqual SrceryBlue
+hi! link docbkKeyword SrceryCyanBold
+
+hi! link xmlDocTypeDecl SrceryBrightBlack
+hi! link xmlDocTypeKeyword SrceryMagenta
+hi! link xmlCdataStart SrceryBrightBlack
+hi! link xmlCdataCdata SrceryMagenta
+hi! link dtdFunction SrceryBrightBlack
+hi! link dtdTagName SrceryMagenta
+
+hi! link xmlAttrib SrceryCyan
+hi! link xmlProcessingDelim SrceryBrightBlack
+hi! link dtdParamEntityPunct SrceryBrightBlack
+hi! link dtdParamEntityDPunct SrceryBrightBlack
+hi! link xmlAttribPunct SrceryBrightBlack
+
+hi! link xmlEntity SrceryYellow
+hi! link xmlEntityPunct SrceryYellow
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/autoload/airline/themes/srcery.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,115 @@
+" vim-airline-srcery theme
+" vim: expandtab shiftwidth=2 tabstop=2 :
+
+
+" Srcery Palette {{{
+
+" Normal Colors
+let s:black          = srcery#helper#GetColor('SrceryBlack')
+let s:red            = srcery#helper#GetColor('SrceryRed')
+let s:green          = srcery#helper#GetColor('SrceryGreen')
+let s:yellow         = srcery#helper#GetColor('SrceryYellow')
+let s:blue           = srcery#helper#GetColor('SrceryBlue')
+let s:magenta        = srcery#helper#GetColor('SrceryMagenta')
+let s:cyan           = srcery#helper#GetColor('SrceryCyan')
+let s:white          = srcery#helper#GetColor('SrceryWhite')
+
+" Bright Colors
+let s:bright_black   = srcery#helper#GetColor('SrceryBrightBlack')
+let s:bright_red     = srcery#helper#GetColor('SrceryBrightRed')
+let s:bright_green   = srcery#helper#GetColor('SrceryBrightGreen')
+let s:bright_yellow  = srcery#helper#GetColor('SrceryBrightYellow')
+let s:bright_blue    = srcery#helper#GetColor('SrceryBrightBlue')
+let s:bright_magenta = srcery#helper#GetColor('SrceryBrightMagenta')
+let s:bright_cyan    = srcery#helper#GetColor('SrceryBrightCyan')
+let s:bright_white   = srcery#helper#GetColor('SrceryBrightWhite')
+
+" Extra Colors
+let s:orange         = srcery#helper#GetColor('SrceryOrange')
+let s:bright_orange  = srcery#helper#GetColor('SrceryBrightOrange')
+let s:hard_black     = srcery#helper#GetColor('SrceryHardBlack')
+let s:xgray1         = srcery#helper#GetColor('SrceryXgray1')
+let s:xgray2         = srcery#helper#GetColor('SrceryXgray2')
+let s:xgray3         = srcery#helper#GetColor('SrceryXgray3')
+let s:xgray4         = srcery#helper#GetColor('SrceryXgray4')
+let s:xgray5         = srcery#helper#GetColor('SrceryXgray5')
+let s:xgray6         = srcery#helper#GetColor('SrceryXgray6')
+
+"}}}
+
+
+" Theme Initializing {{{
+let g:airline#themes#srcery#palette = {}
+let s:modified = { 'airline_c': [ s:orange[0] , '' , s:orange[1] , '' , '' ] }
+
+" }}}
+
+
+" Mode Config {{{
+
+" Command Mode
+let s:c1 = [ s:black[0]        , s:bright_white[0] , s:black[1]        , s:bright_white[1] ]
+let s:c2 = [ s:bright_white[0] , s:xgray3[0]       , s:bright_white[1] , s:xgray3[1]       ]
+let s:c3 = [ s:bright_white[0] , s:xgray1[0] , s:bright_white[1] , s:xgray1[1] ]
+let g:airline#themes#srcery#palette.commandline = airline#themes#generate_color_map(s:c1, s:c2, s:c3)
+let g:airline#themes#srcery#palette.commandline_modified = s:modified
+let g:airline#themes#srcery#palette.commandline_paste = s:modified
+
+" Normal Mode
+let s:n1 = [ s:bright_white[0] , s:xgray4[0]       , s:bright_white[1] , s:xgray4[1]       ]
+let s:n2 = [ s:bright_white[0] , s:xgray3[0]       , s:bright_white[1] , s:xgray3[1]       ]
+let s:n3 = [ s:bright_white[0] , s:xgray1[0] , s:bright_white[1] , s:xgray1[1] ]
+let g:airline#themes#srcery#palette.normal = airline#themes#generate_color_map(s:n1, s:n2, s:n3)
+let g:airline#themes#srcery#palette.normal_modified = s:modified
+let g:airline#themes#srcery#palette.normal_paste = s:modified
+
+" Inactive Mode
+let s:in1 = [ s:xgray6[0] , s:xgray4[0] , s:bright_black[1] , s:xgray4[1] ]
+let s:in2 = [ s:xgray6[0] , s:xgray3[0] , s:bright_black[1] , s:xgray3[1] ]
+let s:in3 = [ s:xgray6[0] , s:xgray2[0] , s:bright_black[1] , s:xgray2[1] ]
+let g:airline#themes#srcery#palette.inactive = airline#themes#generate_color_map(s:in1, s:in2, s:in3)
+let g:airline#themes#srcery#palette.inactive_modified = s:modified
+
+" Insert Mode
+let s:i1 = [ s:black[0]        , s:bright_white[0] , s:black[1]        , s:bright_white[1] ]
+let s:i2 = [ s:black[0]        , s:bright_black[0]        , s:black[1]        , s:bright_black[1]        ]
+let s:i3 = [ s:bright_white[0] , s:xgray1[0] , s:bright_white[1] , s:xgray1[1] ]
+let g:airline#themes#srcery#palette.insert = airline#themes#generate_color_map(s:i1, s:i2, s:i3)
+let g:airline#themes#srcery#palette.insert_modified = s:modified
+
+" Replace Mode
+let s:r1  = [ s:bright_white[0] , s:bright_red[0]   , s:bright_white[1] , s:bright_red[1]   ]
+let s:r2  = [ s:black[0]        , s:bright_black[0]        , s:black[1]        , s:bright_black[1]        ]
+let s:r3  = [ s:bright_white[0] , s:xgray1[0] , s:bright_white[1] , s:xgray1[1] ]
+let g:airline#themes#srcery#palette.replace = airline#themes#generate_color_map(s:r1, s:r2, s:r3)
+let g:airline#themes#srcery#palette.replace_modified = s:modified
+
+" Terminal Mode
+let s:t1 = [ s:black[0]        , s:yellow[0]       , s:black[1]        , s:yellow[1]       ]
+let s:t2 = [ s:bright_white[0] , s:xgray3[0]       , s:bright_white[1] , s:xgray3[1]       ]
+let s:t3 = [ s:bright_white[0] , s:xgray1[0] , s:bright_white[1] , s:xgray1[1] ]
+let g:airline#themes#srcery#palette.terminal = airline#themes#generate_color_map(s:t1, s:t2, s:t3)
+let g:airline#themes#srcery#palette.terminal.airline_term = s:t3
+
+" Visual Mode
+let s:v1  = [ s:black[0]        , s:cyan[0]         , s:black[1]        , s:cyan[1]         ]
+let s:v2  = [ s:bright_white[0] , s:xgray5[0]       , s:bright_white[1] , s:xgray5[1]       ]
+let s:v3  = [ s:bright_white[0] , s:xgray1[0] , s:bright_white[1] , s:xgray1[1] ]
+let g:airline#themes#srcery#palette.visual = airline#themes#generate_color_map(s:v1, s:v2, s:v3)
+let g:airline#themes#srcery#palette.visual_modified = s:modified
+
+" }}}
+
+
+" Plugin Settings {{{
+
+" ctrlp.vim
+if get(g:, 'loaded_ctrlp', 0)
+  let s:cp1 = [ s:bright_white[0] , s:xgray2[0] , s:bright_white[1] , s:xgray2[1] ]
+  let s:cp2 = [ s:bright_white[0] , s:xgray5[0] , s:bright_white[1] , s:xgray5[1] ]
+  let s:cp3 = [ s:bright_white[0] , s:xgray3[0] , s:bright_white[1] , s:xgray3[1] ]
+
+  let g:airline#themes#srcery#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:cp1, s:cp2, s:cp3)
+endif
+
+" }}}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/autoload/clap/themes/srcery.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,131 @@
+" Author: Birger J. Nordolum  <contact+srcery@mindtooth.no>
+
+" Description: Clap theme based on the Srcery color scheme.  The theme
+" require some tweaks to make it work.  If you plan on copying or
+" building upon this code for your own colorscheme, make sure that you
+" are aware of the additional tweaks for Srcery.
+
+
+let s:save_cpo = &cpoptions
+set cpoptions&vim
+
+
+" Srcery Palette {{{
+
+" Normal Colors
+let s:black          = srcery#helper#GetColor('SrceryBlack')
+let s:red            = srcery#helper#GetColor('SrceryRed')
+let s:green          = srcery#helper#GetColor('SrceryGreen')
+let s:yellow         = srcery#helper#GetColor('SrceryYellow')
+let s:blue           = srcery#helper#GetColor('SrceryBlue')
+let s:magenta        = srcery#helper#GetColor('SrceryMagenta')
+let s:cyan           = srcery#helper#GetColor('SrceryCyan')
+let s:white          = srcery#helper#GetColor('SrceryWhite')
+
+" Bright Colors
+let s:bright_black   = srcery#helper#GetColor('SrceryBrightBlack')
+let s:bright_red     = srcery#helper#GetColor('SrceryBrightRed')
+let s:bright_green   = srcery#helper#GetColor('SrceryBrightGreen')
+let s:bright_yellow  = srcery#helper#GetColor('SrceryBrightYellow')
+let s:bright_blue    = srcery#helper#GetColor('SrceryBrightBlue')
+let s:bright_magenta = srcery#helper#GetColor('SrceryBrightMagenta')
+let s:bright_cyan    = srcery#helper#GetColor('SrceryBrightCyan')
+let s:bright_white   = srcery#helper#GetColor('SrceryBrightWhite')
+
+" Extra Colors
+let s:orange         = srcery#helper#GetColor('SrceryOrange')
+let s:bright_orange  = srcery#helper#GetColor('SrceryBrightOrange')
+let s:hard_black     = srcery#helper#GetColor('SrceryHardBlack')
+let s:xgray1         = srcery#helper#GetColor('SrceryXgray1')
+let s:xgray2         = srcery#helper#GetColor('SrceryXgray2')
+let s:xgray3         = srcery#helper#GetColor('SrceryXgray3')
+let s:xgray4         = srcery#helper#GetColor('SrceryXgray4')
+let s:xgray5         = srcery#helper#GetColor('SrceryXgray5')
+let s:xgray6         = srcery#helper#GetColor('SrceryXgray6')
+
+"}}}
+" Srcery Tweaks {{{
+
+" The following tweaks are done to make sure that the theme works
+" properly. Because Srcery has a transparent background as an option,
+" some additional actions were taken to ensure that the clap colors look
+" right regardless of this setting.
+
+" We need to tweak both the SignColumn and ClapSymbol to set the colors
+" correctly. When using the transparent option, we explicitly need to
+" change the symbol color.
+
+" Save original SignColumn
+let s:original_signcolumn_bg_color = srcery#helper#GetColor('SignColumn', 'bg')
+
+
+" We use an augroup to load/unload tweaks needed for the theme. Clap
+" includes some triggers that we can hook onto.
+
+function! ClapSrceryLoad() abort
+	" Set column color to NONE so that clap can control this.
+	" Note!  This changes also the normal SignColumn color of the
+	" main window.  Might result in unexpected changes.
+	highlight SignColumn ctermbg=NONE guibg=NONE
+
+	" Only execute the color change when the variable
+	" `g:srcery_transparent_background` set to 1. This is for
+	" making the rounded corners display correctly.  Clap read the
+	" `Normal` highlight color, but in this case it's not enough,
+	" and hence the explicit change.
+	if exists('g:srcery_transparent_background')
+		let l:clap_symbol_style = 'ctermbg=' .s:black[1]. ' guibg=' .s:black[0]
+
+		execute 'highlight ClapSymbol ' . l:clap_symbol_style
+	endif
+endfunction
+
+function! ClapSrceryUnload() abort
+	" Revert the change made to SignColumn..
+	let l:signcolumn = 'ctermbg=' .
+		\ (s:original_signcolumn_bg_color[1] ? s:original_signcolumn_bg_color[1] : 'NONE') .
+		\' guibg=' .
+		\ (s:original_signcolumn_bg_color[0] ? s:original_signcolumn_bg_color[0] : 'NONE')
+
+	execute 'highlight SignColumn ' . l:signcolumn
+endfunction
+
+augroup ClapSrcery
+  autocmd!
+
+  autocmd User ClapOnEnter   call ClapSrceryLoad()
+  autocmd User ClapOnExit    call ClapSrceryUnload()
+augroup END
+
+" }}}
+" Clap Theme {{{
+
+" The tweaks below is copied from the upstream code, but tweaked to use
+" Srcery's colors.
+" Upstream: https://github.com/liuchengxu/vim-clap/blob/master/autoload/clap/themes/material_design_dark.vim
+
+let s:palette = {}
+
+let s:palette.display = { 'ctermbg': s:xgray2[1], 'guibg': s:xgray2[0], 'ctermfg': 'NONE', }
+
+" Let ClapInput, ClapSpinner and ClapSearchText use the same backgound.
+let s:bg0 = { 'ctermbg': s:xgray5[1], 'guibg': s:xgray5[0] }
+let s:palette.input = s:bg0
+let s:palette.spinner = extend({ 'ctermfg': s:bright_orange[1], 'guifg': s:bright_orange[0], 'cterm': 'bold', 'gui': 'bold'}, s:bg0)
+let s:palette.search_text = extend({ 'ctermfg': s:bright_white[1], 'guifg': s:bright_white[0], 'cterm': 'bold', 'gui': 'bold' }, s:bg0)
+
+let s:palette.preview = { 'ctermbg': s:xgray4[1], 'guibg': s:xgray4[0] }
+
+let s:palette.current_selection = { 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0], 'cterm': 'bold', 'gui': 'bold' }
+let s:palette.current_selection_sign = { 'ctermfg': s:red[1], 'guifg': s:red[0], 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0]}
+
+let s:palette.selected = { 'ctermfg': 'NONE', 'guifg': s:bright_blue[0], 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0] }
+let s:palette.selected_sign = { 'ctermfg': s:green[1], 'guifg': s:green[0], 'ctermbg': s:xgray3[1], 'guibg': s:xgray3[0] }
+
+let g:clap#themes#srcery#palette = s:palette
+
+" }}}
+
+
+let &cpoptions = s:save_cpo
+unlet s:save_cpo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/autoload/lightline/colorscheme/srcery.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,72 @@
+" -----------------------------------------------------------------------------
+" File: srcery.vim
+" Description: Srcery colorscheme for Lightline (itchyny/lightline.vim)
+" Author: Roosta <mail@roosta>
+" Source: https://github.com/morhetz/gruvbox/blob/master/autoload/lightline/colorscheme/gruvbox.vim
+" -----------------------------------------------------------------------------
+
+if exists('g:lightline')
+
+  " Normal Colors
+  let s:black          = srcery#helper#GetColor('SrceryBlack')
+  let s:red            = srcery#helper#GetColor('SrceryRed')
+  let s:green          = srcery#helper#GetColor('SrceryGreen')
+  let s:yellow         = srcery#helper#GetColor('SrceryYellow')
+  let s:blue           = srcery#helper#GetColor('SrceryBlue')
+  let s:magenta        = srcery#helper#GetColor('SrceryMagenta')
+  let s:cyan           = srcery#helper#GetColor('SrceryCyan')
+  let s:white          = srcery#helper#GetColor('SrceryWhite')
+
+  " Bright Colors
+  let s:bright_black   = srcery#helper#GetColor('SrceryBrightBlack')
+  let s:bright_red     = srcery#helper#GetColor('SrceryBrightRed')
+  let s:bright_green   = srcery#helper#GetColor('SrceryBrightGreen')
+  let s:bright_yellow  = srcery#helper#GetColor('SrceryBrightYellow')
+  let s:bright_blue    = srcery#helper#GetColor('SrceryBrightBlue')
+  let s:bright_magenta = srcery#helper#GetColor('SrceryBrightMagenta')
+  let s:bright_cyan    = srcery#helper#GetColor('SrceryBrightCyan')
+  let s:bright_white   = srcery#helper#GetColor('SrceryBrightWhite')
+
+  " Extra Colors
+  let s:orange         = srcery#helper#GetColor('SrceryOrange')
+  let s:bright_orange  = srcery#helper#GetColor('SrceryBrightOrange')
+  let s:hard_black     = srcery#helper#GetColor('SrceryHardBlack')
+  let s:xgray1         = srcery#helper#GetColor('SrceryXgray1')
+  let s:xgray2         = srcery#helper#GetColor('SrceryXgray2')
+  let s:xgray3         = srcery#helper#GetColor('SrceryXgray3')
+  let s:xgray4         = srcery#helper#GetColor('SrceryXgray4')
+  let s:xgray5         = srcery#helper#GetColor('SrceryXgray5')
+  let s:xgray6         = srcery#helper#GetColor('SrceryXgray6')
+
+  let s:p = {'normal':{}, 'inactive':{}, 'insert':{}, 'replace':{}, 'visual':{}, 'tabline':{}, 'terminal':{}, 'command':{}}
+  let s:p.normal.left     = [ [ s:bright_white, s:xgray5 ], [ s:bright_white, s:xgray3 ] ]
+  let s:p.normal.right    = [ [ s:bright_white, s:xgray5 ], [ s:bright_white, s:xgray3 ] ]
+  let s:p.normal.middle   = [ [ s:bright_white, s:xgray2 ] ]
+  let s:p.inactive.right  = [ [ s:bright_black, s:xgray2 ], [ s:bright_black, s:xgray2 ] ]
+  let s:p.inactive.left   = [ [ s:bright_black, s:xgray2 ], [ s:bright_black, s:xgray2 ] ]
+  let s:p.inactive.middle = [ [ s:xgray6, s:xgray2 ] ]
+  let s:p.insert.left     = [ [ s:black, s:bright_white ], [ s:black, s:bright_black ] ]
+  let s:p.insert.right    = [ [ s:black, s:bright_white ], [ s:black, s:bright_black ] ]
+  let s:p.insert.middle   = [ [ s:bright_white, s:xgray2 ] ]
+  let s:p.replace.left    = [ [ s:bright_white, s:bright_red ], [ s:black, s:bright_black ] ]
+  let s:p.replace.right   = [ [ s:bright_white, s:bright_red ], [ s:black, s:bright_black ] ]
+  let s:p.replace.middle  = [ [ s:bright_white, s:xgray2 ] ]
+  let s:p.visual.left     = [ [ s:black, s:cyan ], [ s:bright_white, s:xgray5 ] ]
+  let s:p.visual.right    = [ [ s:black, s:cyan ], [ s:bright_white, s:xgray5 ] ]
+  let s:p.visual.middle   = [ [ s:bright_white, s:xgray2 ] ]
+  let s:p.tabline.left    = [ [ s:bright_black, s:xgray2 ] ]
+  let s:p.tabline.tabsel  = [ [ s:bright_white, s:xgray5 ] ]
+  let s:p.tabline.middle  = [ [ s:black, s:xgray2 ] ]
+  let s:p.tabline.right   = [ [ s:bright_white, s:xgray5 ] ]
+  let s:p.normal.error    = [ [ s:bright_white, s:red ] ]
+  let s:p.normal.warning  = [ [ s:black, s:orange ] ]
+  let s:p.terminal.left   = [ [ s:black, s:green ], [ s:bright_white, s:xgray5 ] ]
+  let s:p.terminal.right  = [ [ s:black, s:green ], [ s:bright_white, s:xgray5 ] ]
+  let s:p.terminal.middle = [ [ s:bright_white, s:xgray2 ] ]
+  let s:p.command.left    = [ [ s:black, s:yellow ], [ s:bright_white, s:xgray5 ] ]
+  let s:p.command.right   = [ [ s:black, s:yellow ], [ s:bright_white, s:xgray5 ] ]
+  let s:p.command.middle  = [ [ s:bright_white, s:xgray2 ] ]
+
+
+  let g:lightline#colorscheme#srcery#palette = lightline#colorscheme#flatten(s:p)
+endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/autoload/srcery.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,286 @@
+" Setup Variables: {{{
+" Colors {{{
+
+if !exists('g:srcery_black')
+  let g:srcery_black='#1C1B19'
+endif
+
+if !exists('g:srcery_red')
+  let g:srcery_red='#EF2F27'
+endif
+
+if !exists('g:srcery_green')
+  let g:srcery_green='#519F50'
+endif
+
+if !exists('g:srcery_yellow')
+  let g:srcery_yellow='#FBB829'
+endif
+
+if !exists('g:srcery_blue')
+  let g:srcery_blue='#2C78BF'
+endif
+
+if !exists('g:srcery_magenta')
+  let g:srcery_magenta='#E02C6D'
+endif
+
+if !exists('g:srcery_cyan')
+  let g:srcery_cyan='#0AAEB3'
+endif
+
+if !exists('g:srcery_white')
+  let g:srcery_white='#BAA67F'
+endif
+
+if !exists('g:srcery_bright_black')
+  let g:srcery_bright_black='#918175'
+endif
+
+if !exists('g:srcery_bright_red')
+  let g:srcery_bright_red='#F75341'
+endif
+
+if !exists('g:srcery_bright_green')
+  let g:srcery_bright_green='#98BC37'
+endif
+
+if !exists('g:srcery_bright_yellow')
+  let g:srcery_bright_yellow='#FED06E'
+endif
+
+if !exists('g:srcery_bright_blue')
+  let g:srcery_bright_blue='#68A8E4'
+endif
+
+if !exists('g:srcery_bright_magenta')
+  let g:srcery_bright_magenta='#FF5C8F'
+endif
+
+if !exists('g:srcery_bright_cyan')
+  let g:srcery_bright_cyan='#2BE4D0'
+endif
+
+if !exists('g:srcery_bright_white')
+  let g:srcery_bright_white='#FCE8C3'
+endif
+
+if !exists('g:srcery_orange')
+  let g:srcery_orange='#FF5F00'
+endif
+
+if !exists('g:srcery_bright_orange')
+  let g:srcery_bright_orange='#FF8700'
+endif
+
+if !exists('g:srcery_hard_black')
+  let g:srcery_hard_black='#121212'
+endif
+
+if !exists('g:srcery_xgray1')
+  let g:srcery_xgray1='#262626'
+endif
+
+if !exists('g:srcery_xgray2')
+  let g:srcery_xgray2='#303030'
+endif
+
+if !exists('g:srcery_xgray3')
+  let g:srcery_xgray3='#3A3A3A'
+endif
+
+if !exists('g:srcery_xgray4')
+  let g:srcery_xgray4='#444444'
+endif
+
+if !exists('g:srcery_xgray5')
+  let g:srcery_xgray5='#4E4E4E'
+endif
+
+if !exists('g:srcery_xgray6')
+  let g:srcery_xgray6='#585858'
+endif
+
+" }}}
+" Options {{{
+
+if !exists('g:srcery_bold')
+  let g:srcery_bold=1
+endif
+
+if !exists('g:srcery_italic')
+  if has('gui_running') || $TERM_ITALICS ==? 'true'
+    let g:srcery_italic=1
+  else
+    let g:srcery_italic=0
+  endif
+endif
+
+if !exists('g:srcery_bg_passthrough')
+  let g:srcery_bg_passthrough=0
+endif
+
+if !exists('g:srcery_undercurl')
+  let g:srcery_undercurl=1
+endif
+
+if !exists('g:srcery_underline')
+  let g:srcery_underline=1
+endif
+
+if !exists('g:srcery_inverse')
+  let g:srcery_inverse=1
+endif
+
+if !exists('g:srcery_inverse_matches')
+  let g:srcery_inverse_matches=0
+endif
+
+if !exists('g:srcery_inverse_match_paren')
+  let g:srcery_inverse_match_paren=0
+endif
+
+if !exists('g:srcery_dim_lisp_paren')
+  let g:srcery_dim_lisp_paren=0
+endif
+
+if !exists('g:srcery_guisp_fallback') || index(['fg', 'bg'], g:srcery_guisp_fallback) == -1
+  let g:srcery_guisp_fallback='NONE'
+endif
+
+if !exists('g:srcery_italic_types')
+  let g:srcery_italic_types=0
+endif
+
+if !exists('g:srcery_hard_black_terminal_bg')
+  let g:srcery_hard_black_terminal_bg=1
+endif
+
+" }}}
+" }}}
+" Palette: {{{
+
+let g:srcery#palette                = {}
+let g:srcery#palette.none           = ['NONE', 'NONE']
+
+" 16 base colors
+let g:srcery#palette.black          = [g:srcery_black, 0]
+let g:srcery#palette.red            = [g:srcery_red, 1]
+let g:srcery#palette.green          = [g:srcery_green, 2]
+let g:srcery#palette.yellow         = [g:srcery_yellow, 3]
+let g:srcery#palette.blue           = [g:srcery_blue, 4]
+let g:srcery#palette.magenta        = [g:srcery_magenta, 5]
+let g:srcery#palette.cyan           = [g:srcery_cyan, 6]
+let g:srcery#palette.white          = [g:srcery_white, 7]
+let g:srcery#palette.bright_black   = [g:srcery_bright_black, 8]
+let g:srcery#palette.bright_red     = [g:srcery_bright_red, 9]
+let g:srcery#palette.bright_green   = [g:srcery_bright_green, 10]
+let g:srcery#palette.bright_yellow  = [g:srcery_bright_yellow, 11]
+let g:srcery#palette.bright_blue    = [g:srcery_bright_blue, 12]
+let g:srcery#palette.bright_magenta = [g:srcery_bright_magenta, 13]
+let g:srcery#palette.bright_cyan    = [g:srcery_bright_cyan, 14]
+let g:srcery#palette.bright_white   = [g:srcery_bright_white, 15]
+
+" xterm colors
+let g:srcery#palette.orange         = [g:srcery_orange, 202]
+let g:srcery#palette.bright_orange  = [g:srcery_bright_orange, 208]
+let g:srcery#palette.hard_black     = [g:srcery_hard_black, 233]
+let g:srcery#palette.xgray1         = [g:srcery_xgray1, 235]
+let g:srcery#palette.xgray2         = [g:srcery_xgray2, 236]
+let g:srcery#palette.xgray3         = [g:srcery_xgray3, 237]
+let g:srcery#palette.xgray4         = [g:srcery_xgray4, 238]
+let g:srcery#palette.xgray5         = [g:srcery_xgray5, 239]
+let g:srcery#palette.xgray6         = [g:srcery_xgray6, 240]
+
+" }}}
+" Setup Emphasis: {{{
+
+let g:srcery#palette.bold = 'bold,'
+if g:srcery_bold == 0
+  let g:srcery#palette.bold = ''
+endif
+
+let g:srcery#palette.italic = 'italic,'
+if g:srcery_italic == 0
+  let g:srcery#palette.italic = ''
+endif
+
+let g:srcery#palette.underline = 'underline,'
+if g:srcery_underline == 0
+  let g:srcery#palette.underline = ''
+endif
+
+let g:srcery#palette.undercurl = 'undercurl,'
+if g:srcery_undercurl == 0
+  let g:srcery#palette.undercurl = ''
+endif
+
+let g:srcery#palette.inverse = 'inverse,'
+if g:srcery_inverse == 0
+  let g:srcery#palette.inverse = ''
+endif
+
+" }}}
+
+" Setup Terminal Colors For Neovim: {{{
+
+if has('nvim')
+  let g:terminal_color_0 = g:srcery#palette.black[0]
+  let g:terminal_color_8 = g:srcery#palette.bright_black[0]
+
+  let g:terminal_color_1 = g:srcery#palette.red[0]
+  let g:terminal_color_9 = g:srcery#palette.bright_red[0]
+
+  let g:terminal_color_2 = g:srcery#palette.green[0]
+  let g:terminal_color_10 = g:srcery#palette.bright_green[0]
+
+  let g:terminal_color_3 = g:srcery#palette.yellow[0]
+  let g:terminal_color_11 = g:srcery#palette.bright_yellow[0]
+
+  let g:terminal_color_4 = g:srcery#palette.blue[0]
+  let g:terminal_color_12 = g:srcery#palette.bright_blue[0]
+
+  let g:terminal_color_5 = g:srcery#palette.magenta[0]
+  let g:terminal_color_13 = g:srcery#palette.bright_magenta[0]
+
+  let g:terminal_color_6 = g:srcery#palette.cyan[0]
+  let g:terminal_color_14 = g:srcery#palette.bright_cyan[0]
+
+  let g:terminal_color_7 = g:srcery#palette.white[0]
+  let g:terminal_color_15 = g:srcery#palette.bright_white[0]
+endif
+
+" }}}
+" Setup Terminal Colors For Vim with termguicolors: {{{
+
+if exists('*term_setansicolors')
+  let g:terminal_ansi_colors = repeat([0], 16)
+
+  let g:terminal_ansi_colors[0] = g:srcery#palette.black[0]
+  let g:terminal_ansi_colors[8] = g:srcery#palette.bright_black[0]
+
+  let g:terminal_ansi_colors[1] = g:srcery#palette.red[0]
+  let g:terminal_ansi_colors[9] = g:srcery#palette.bright_red[0]
+
+  let g:terminal_ansi_colors[2] = g:srcery#palette.green[0]
+  let g:terminal_ansi_colors[10] = g:srcery#palette.bright_green[0]
+
+  let g:terminal_ansi_colors[3] = g:srcery#palette.yellow[0]
+  let g:terminal_ansi_colors[11] = g:srcery#palette.bright_yellow[0]
+
+  let g:terminal_ansi_colors[4] = g:srcery#palette.blue[0]
+  let g:terminal_ansi_colors[12] = g:srcery#palette.bright_blue[0]
+
+  let g:terminal_ansi_colors[5] = g:srcery#palette.magenta[0]
+  let g:terminal_ansi_colors[13] = g:srcery#palette.bright_magenta[0]
+
+  let g:terminal_ansi_colors[6] = g:srcery#palette.cyan[0]
+  let g:terminal_ansi_colors[14] = g:srcery#palette.bright_cyan[0]
+
+  let g:terminal_ansi_colors[7] = g:srcery#palette.white[0]
+  let g:terminal_ansi_colors[15] = g:srcery#palette.bright_white[0]
+endif
+
+" }}}
+
+" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/autoload/srcery/helper.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,83 @@
+" -----------------------------------------------------------------------------
+" File: helper.vim
+" Description: Srcery colorscheme helpers functions
+" Authors: Daniel Berg <mail@roosta.sh>, Birger J. Nordolum  <contact+srcery@mindtooth.no>
+" Last Modified: 2020-08-27
+" -----------------------------------------------------------------------------
+
+" Helper to get a source color defined in colorscheme
+function! srcery#helper#GetColor(group, ...) abort
+  " Arguments: group, what
+
+  " optionally pass a 'what' argument, defaults to 'fg'
+  if a:0 > 0
+    let l:what = a:1
+  else
+    let l:what = 'fg'
+  endif
+
+  let l:gui_color = synIDattr(hlID(a:group), l:what, 'gui')
+  let l:term_color = synIDattr(hlID(a:group), l:what, 'cterm')
+
+  return [ l:gui_color, l:term_color ]
+endfunction
+
+" With the help of dracula!
+" Helper function that takes a variadic list of filetypes as args and returns
+" whether or not the execution of the ftplugin should be aborted.
+function! srcery#helper#ShouldAbort(...) abort
+  if ! exists('g:colors_name') || g:colors_name !=# 'srcery'
+    return 1
+  elseif a:0 > 0 && (! exists('b:current_syntax') || index(a:000, b:current_syntax) == -1)
+    return 1
+  endif
+  return 0
+endfunction
+
+function! srcery#helper#Highlight(group, fg, ...) abort
+  " Arguments: group, guifg, guibg, gui, guisp
+
+  " foreground
+  let l:fg = a:fg
+
+  " background
+  if a:0 >= 1
+    let l:bg = a:1
+  else
+    let l:bg = g:srcery#palette.none
+  endif
+
+  " emphasis
+  if a:0 >= 2 && strlen(a:2)
+    let l:emstr = a:2
+  else
+    let l:emstr = 'NONE,'
+  endif
+
+  " special fallback
+  if a:0 >= 3
+    if g:srcery_guisp_fallback !=# 'NONE'
+      let fg = a:3
+    endif
+
+    " bg fallback mode should invert higlighting
+    if g:srcery_guisp_fallback ==# 'bg'
+      let emstr .= 'inverse,'
+    endif
+  endif
+
+  let l:histring = [ 'hi', a:group,
+        \ 'guifg=' . l:fg[0], 'ctermfg=' . l:fg[1],
+        \ 'guibg=' . l:bg[0], 'ctermbg=' . l:bg[1],
+        \ 'gui=' . l:emstr[:-2], 'cterm=' . l:emstr[:-2]
+        \ ]
+
+  " special
+  if a:0 >= 3
+    call add(l:histring, 'guisp=' . a:3[0])
+  endif
+
+  execute join(l:histring, ' ')
+endfunction
+
+" vim: fdm=marker ts=2 sts=2 sw=2 fdl=0:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/colors/srcery.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,460 @@
+" 'srcery.vim' -- Vim color scheme.
+" Maintainer:   Roosta (mail@roosta.sh)
+" Description:  Colorscheme that focus ease of use and clearly defined contrasting colors with a slightly earthy tone.
+" Original Source: https://github.com/morhetz/gruvbox
+
+scriptencoding utf-8
+
+set background=dark
+
+if v:version > 580
+  hi clear
+  if exists('syntax_on')
+    syntax reset
+  endif
+endif
+
+let g:colors_name='srcery'
+
+if !has('gui_running') && &t_Co != 256
+  finish
+endif
+
+" Palette {{{
+
+let s:none           = g:srcery#palette.none
+
+" 16 base colors
+let s:black          = g:srcery#palette.black
+let s:red            = g:srcery#palette.red
+let s:green          = g:srcery#palette.green
+let s:yellow         = g:srcery#palette.yellow
+let s:blue           = g:srcery#palette.blue
+let s:magenta        = g:srcery#palette.magenta
+let s:cyan           = g:srcery#palette.cyan
+let s:white          = g:srcery#palette.white
+let s:bright_black   = g:srcery#palette.bright_black
+let s:bright_red     = g:srcery#palette.bright_red
+let s:bright_green   = g:srcery#palette.bright_green
+let s:bright_yellow  = g:srcery#palette.bright_yellow
+let s:bright_blue    = g:srcery#palette.bright_blue
+let s:bright_magenta = g:srcery#palette.bright_magenta
+let s:bright_cyan    = g:srcery#palette.bright_cyan
+let s:bright_white   = g:srcery#palette.bright_white
+
+" xterm colors
+let s:orange         = g:srcery#palette.orange
+let s:bright_orange  = g:srcery#palette.bright_orange
+let s:hard_black     = g:srcery#palette.hard_black
+let s:xgray1         = g:srcery#palette.xgray1
+let s:xgray2         = g:srcery#palette.xgray2
+let s:xgray3         = g:srcery#palette.xgray3
+let s:xgray4         = g:srcery#palette.xgray4
+let s:xgray5         = g:srcery#palette.xgray5
+let s:xgray6         = g:srcery#palette.xgray6
+
+"}}}
+" Setup Emphasis: {{{
+
+let s:bold      = g:srcery#palette.bold
+let s:italic    = g:srcery#palette.italic
+let s:underline = g:srcery#palette.underline
+let s:undercurl = g:srcery#palette.undercurl
+let s:inverse   = g:srcery#palette.inverse
+
+" }}}
+
+" Highlighting Function: {{{
+
+function! s:HL(group, fg, ...)
+  " Arguments: group, guifg, guibg, gui, guisp
+
+  " foreground
+  let l:fg = a:fg
+
+  " background
+  if a:0 >= 1
+    let l:bg = a:1
+  else
+    let l:bg = s:none
+  endif
+
+  " emphasis
+  if a:0 >= 2 && strlen(a:2)
+    let l:emstr = a:2
+  else
+    let l:emstr = 'NONE,'
+  endif
+
+  " special fallback
+  if a:0 >= 3
+    if g:srcery_guisp_fallback !=# 'NONE'
+      let fg = a:3
+    endif
+
+    " bg fallback mode should invert higlighting
+    if g:srcery_guisp_fallback ==# 'bg'
+      let emstr .= 'inverse,'
+    endif
+  endif
+
+  let l:histring = [ 'hi', a:group,
+        \ 'guifg=' . l:fg[0], 'ctermfg=' . l:fg[1],
+        \ 'guibg=' . l:bg[0], 'ctermbg=' . l:bg[1],
+        \ 'gui=' . l:emstr[:-2], 'cterm=' . l:emstr[:-2]
+        \ ]
+
+  " special
+  if a:0 >= 3
+    call add(l:histring, 'guisp=' . a:3[0])
+  endif
+
+  execute join(l:histring, ' ')
+endfunction
+
+"}}}
+" Srcery Hi Groups: {{{
+
+" memoize common hi groups
+call s:HL('SrceryRed', s:red)
+call s:HL('SrceryGreen', s:green)
+call s:HL('SrceryYellow', s:yellow)
+call s:HL('SrceryBlue', s:blue)
+call s:HL('SrceryMagenta', s:magenta)
+call s:HL('SrceryCyan', s:cyan)
+call s:HL('SrceryBlack', s:black)
+call s:HL('SrceryWhite', s:white)
+
+call s:HL('SrceryRedBold', s:red, s:none, s:bold)
+call s:HL('SrceryGreenBold', s:green, s:none, s:bold)
+call s:HL('SrceryYellowBold', s:yellow, s:none, s:bold)
+call s:HL('SrceryBlueBold', s:blue, s:none, s:bold)
+call s:HL('SrceryMagentaBold', s:magenta, s:none, s:bold)
+call s:HL('SrceryCyanBold', s:cyan, s:none, s:bold)
+call s:HL('SrceryBlackBold', s:black, s:none, s:bold)
+call s:HL('SrceryWhiteBold', s:white, s:none, s:bold)
+
+call s:HL('SrceryBrightRed', s:bright_red, s:none)
+call s:HL('SrceryBrightGreen', s:bright_green, s:none)
+call s:HL('SrceryBrightYellow', s:bright_yellow, s:none)
+call s:HL('SrceryBrightBlue', s:bright_blue, s:none)
+call s:HL('SrceryBrightMagenta', s:bright_magenta, s:none)
+call s:HL('SrceryBrightCyan', s:bright_cyan, s:none)
+call s:HL('SrceryBrightBlack', s:bright_black, s:none)
+call s:HL('SrceryBrightWhite', s:bright_white)
+
+call s:HL('SrceryBrightRedBold', s:bright_red, s:none, s:bold)
+call s:HL('SrceryBrightGreenBold', s:bright_green, s:none, s:bold)
+call s:HL('SrceryBrightYellowBold', s:bright_yellow, s:none, s:bold)
+call s:HL('SrceryBrightBlueBold', s:bright_blue, s:none, s:bold)
+call s:HL('SrceryBrightMagentaBold', s:bright_magenta, s:none, s:bold)
+call s:HL('SrceryBrightCyanBold', s:bright_cyan, s:none, s:bold)
+call s:HL('SrceryBrightBlackBold', s:bright_black, s:none, s:bold)
+call s:HL('SrceryBrightWhiteBold', s:bright_white, s:none, s:bold)
+
+" special
+call s:HL('SrceryOrange', s:orange)
+call s:HL('SrceryBrightOrange', s:bright_orange)
+call s:HL('SrceryOrangeBold', s:orange, s:none, s:bold)
+call s:HL('SrceryHardBlack', s:hard_black)
+call s:HL('SrceryXgray1', s:xgray1)
+call s:HL('SrceryXgray2', s:xgray2)
+call s:HL('SrceryXgray3', s:xgray3)
+call s:HL('SrceryXgray4', s:xgray4)
+call s:HL('SrceryXgray5', s:xgray5)
+call s:HL('SrceryXgray6', s:xgray6)
+
+" }}}
+
+" Vanilla colorscheme ---------------------------------------------------------
+" General UI: {{{
+
+" Normal text
+"
+if g:srcery_bg_passthrough == 1 && !has('gui_running')
+  call s:HL('Normal', s:bright_white, s:none)
+ else
+  call s:HL('Normal', s:bright_white, s:black)
+endif
+
+if v:version >= 700
+  " Screen line that the cursor is
+  call s:HL('CursorLine',   s:none, s:xgray2)
+  " Screen column that the cursor is
+  hi! link CursorColumn CursorLine
+
+  call s:HL('TabLineFill', s:bright_black, s:xgray2)
+  call s:HL('TabLineSel', s:bright_white, s:xgray5)
+
+  " Not active tab page label
+  hi! link TabLine TabLineFill
+
+  " Match paired bracket under the cursor
+  "
+  if g:srcery_inverse_match_paren == 1
+    call s:HL('MatchParen', s:bright_magenta, s:none, s:inverse . s:bold)
+  else
+    call s:HL('MatchParen', s:bright_magenta, s:none, s:bold)
+  endif
+endif
+
+if v:version >= 703
+  " Highlighted screen columns
+  call s:HL('ColorColumn',  s:none, s:xgray2)
+
+  " Concealed element: \lambda → λ
+  call s:HL('Conceal', s:blue, s:none)
+
+  " Line number of CursorLine
+  if g:srcery_bg_passthrough == 1 && !has('gui_running')
+    call s:HL('CursorLineNr', s:yellow, s:none)
+  else
+    call s:HL('CursorLineNr', s:yellow, s:black)
+  endif
+
+endif
+
+hi! link NonText SrceryXgray4
+hi! link SpecialKey SrceryBlue
+
+if g:srcery_inverse == 1
+  call s:HL('Visual', s:none, s:none, s:inverse)
+else
+  call s:HL('Visual', s:none, s:xgray2, s:bold)
+endif
+
+hi! link VisualNOS Visual
+
+if g:srcery_inverse == 1 && g:srcery_inverse_matches == 1
+  call s:HL('Search', s:none, s:none, s:inverse)
+  call s:HL('IncSearch', s:none, s:none, s:inverse)
+else
+  call s:HL('Search', s:none, s:xgray5, s:bold)
+  call s:HL('IncSearch', s:none, s:xgray5, s:underline . s:bold)
+endif
+
+call s:HL('Underlined', s:blue, s:none, s:underline)
+
+call s:HL('StatusLine',   s:bright_white, s:xgray2)
+
+if g:srcery_bg_passthrough == 1 && !has('gui_running')
+  call s:HL('StatusLineNC', s:bright_black, s:none, s:underline)
+
+  " The column separating vertically split windows
+  call s:HL('VertSplit', s:bright_white, s:none)
+
+  " Current match in wildmenu completion
+  call s:HL('WildMenu', s:blue, s:none, s:bold)
+else
+  call s:HL('StatusLineNC', s:bright_black, s:black, s:underline)
+  call s:HL('VertSplit', s:bright_white, s:black)
+  call s:HL('WildMenu', s:blue, s:black, s:bold)
+endif
+
+" Directory names, special names in listing
+hi! link Directory SrceryGreenBold
+
+" Titles for output from :set all, :autocmd, etc.
+hi! link Title SrceryGreenBold
+
+" Error messages on the command line
+call s:HL('ErrorMsg', s:bright_white, s:red)
+" More prompt: -- More --
+hi! link MoreMsg SrceryYellowBold
+" Current mode message: -- INSERT --
+hi! link ModeMsg SrceryYellowBold
+" 'Press enter' prompt and yes/no questions
+hi! link Question SrceryOrangeBold
+" Warning messages
+hi! link WarningMsg SrceryRedBold
+
+" }}}
+" Gutter: {{{
+
+" Line number for :number and :# commands
+call s:HL('LineNr', s:bright_black)
+
+if g:srcery_bg_passthrough == 1 && !has('gui_running')
+  " Column where signs are displayed
+  " TODO Possibly need to fix  SignColumn
+  call s:HL('SignColumn', s:none, s:none)
+  " Line used for closed folds
+  call s:HL('Folded', s:bright_black, s:none, s:italic)
+  " Column where folds are displayed
+  call s:HL('FoldColumn', s:bright_black, s:none)
+else
+  call s:HL('SignColumn', s:none, s:black)
+  call s:HL('Folded', s:bright_black, s:black, s:italic)
+  call s:HL('FoldColumn', s:bright_black, s:black)
+endif
+
+" }}}
+" Cursor: {{{
+
+" Character under cursor
+call s:HL('Cursor', s:black, s:yellow)
+" Visual mode cursor, selection
+hi! link vCursor Cursor
+" Input moder cursor
+hi! link iCursor Cursor
+" Language mapping cursor
+hi! link lCursor Cursor
+
+" }}}
+" Syntax Highlighting: {{{
+
+hi! link Special SrceryOrange
+
+call s:HL('Comment', s:bright_black, s:none, s:italic)
+
+if g:srcery_bg_passthrough == 1 && !has('gui_running')
+  call s:HL('Todo', s:bright_white, s:none, s:bold . s:italic)
+else
+  call s:HL('Todo', s:bright_white, s:black, s:bold . s:italic)
+endif
+
+call s:HL('Error', s:bright_white, s:red, s:bold)
+
+" String constant: "this is a string"
+call s:HL('String',  s:bright_green)
+
+" Generic statement
+hi! link Statement SrceryRed
+" if, then, else, endif, swicth, etc.
+hi! link Conditional SrceryRed
+" for, do, while, etc.
+hi! link Repeat SrceryRed
+" case, default, etc.
+hi! link Label SrceryRed
+" try, catch, throw
+hi! link Exception SrceryRed
+" sizeof, "+", "*", etc.
+hi! link Operator Normal
+" Any other keyword
+hi! link Keyword SrceryRed
+
+" Variable name
+hi! link Identifier SrceryCyan
+" Function name
+hi! link Function SrceryYellow
+
+" Generic preprocessor
+hi! link PreProc SrceryCyan
+" Preprocessor #include
+hi! link Include SrceryCyan
+" Preprocessor #define
+hi! link Define SrceryCyan
+" Same as Define
+hi! link Macro SrceryOrange
+" Preprocessor #if, #else, #endif, etc.
+hi! link PreCondit SrceryCyan
+
+" Generic constant
+hi! link Constant SrceryBrightMagenta
+" Character constant: 'c', '/n'
+hi! link Character SrceryBrightMagenta
+" Boolean constant: TRUE, false
+hi! link Boolean SrceryBrightMagenta
+" Number constant: 234, 0xff
+hi! link Number SrceryBrightMagenta
+" Floating point constant: 2.3e10
+hi! link Float SrceryBrightMagenta
+
+" Generic type
+if g:srcery_italic_types == 1 && g:srcery_italic == 1
+  call s:HL('Type', s:bright_blue, s:none, s:italic)
+else
+  hi! link Type SrceryBrightBlue
+end
+" static, register, volatile, etc
+hi! link StorageClass SrceryOrange
+" struct, union, enum, etc.
+hi! link Structure SrceryCyan
+" typedef
+hi! link Typedef SrceryMagenta
+
+if g:srcery_dim_lisp_paren == 1
+  hi! link Delimiter SrceryXgray6
+else
+  hi! link Delimiter SrceryBrightBlack
+endif
+
+" }}}
+" Completion Menu: {{{
+
+if v:version >= 700
+  " Popup menu: normal item
+  call s:HL('Pmenu', s:bright_white, s:xgray2)
+  " Popup menu: selected item
+  call s:HL('PmenuSel', s:bright_white, s:blue, s:bold)
+
+  if g:srcery_bg_passthrough == 1 && !has('gui_running')
+    " Popup menu: scrollbar
+    call s:HL('PmenuSbar', s:none, s:none)
+    " Popup menu: scrollbar thumb
+    call s:HL('PmenuThumb', s:none, s:none)
+  else
+    call s:HL('PmenuSbar', s:none, s:black)
+    call s:HL('PmenuThumb', s:none, s:black)
+  endif
+endif
+
+" }}}
+" Diffs: {{{
+
+if g:srcery_bg_passthrough == 1 && !has('gui_running')
+  call s:HL('DiffDelete', s:red, s:none)
+  call s:HL('DiffAdd',    s:green, s:none)
+  call s:HL('DiffChange', s:cyan, s:none)
+  call s:HL('DiffText',   s:yellow, s:none)
+else
+  call s:HL('DiffDelete', s:red, s:black)
+  call s:HL('DiffAdd',    s:green, s:black)
+  call s:HL('DiffChange', s:cyan, s:black)
+  call s:HL('DiffText',   s:yellow, s:black)
+endif
+
+" }}}
+" Spelling: {{{
+
+if has('spell')
+  " Not capitalised word, or compile warnings
+  call s:HL('SpellCap',   s:green, s:none, s:bold . s:italic)
+  " Not recognized word
+  call s:HL('SpellBad',   s:none, s:none, s:undercurl, s:blue)
+  " Wrong spelling for selected region
+  call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:cyan)
+  " Rare word
+  call s:HL('SpellRare',  s:none, s:none, s:undercurl, s:magenta)
+endif
+
+" }}}
+" Terminal: {{{
+
+if g:srcery_hard_black_terminal_bg == 1 && has('terminal')
+  " Must set an explicit background as NONE won't work
+  " Therefore not useful with transparent background option
+  call s:HL('Terminal', s:bright_white, s:hard_black)
+endif
+
+" }}}
+
+" Filetype specific -----------------------------------------------------------
+" Diff: {{{
+
+hi! link diffAdded SrceryGreen
+hi! link diffRemoved SrceryRed
+hi! link diffChanged SrceryCyan
+
+hi! link diffFile SrceryOrange
+hi! link diffNewFile SrceryYellow
+
+hi! link diffLine SrceryBlue
+
+" }}}
+" Misc: {{{
+
+call s:HL('ExtraWhitespace', s:none, s:red)
+" }}}
+
+" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker :
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/doc/srcery.txt	Sun Dec 18 20:06:46 2022 +0900
@@ -0,0 +1,246 @@
+*srcery.txt* Color scheme with clearly defined contrasting colors	*srcery*
+	   and a slightly earthy tone.
+
+Version:   1.0.0
+Author:    Daniel Berg <mail@roosta.sh>
+	w/ contributers
+License:   MIT license
+
+CONTENTS						*srcery-contents*
+
+Introduction				|srcery-introduction|
+Installation 				|srcery-installation|
+	Vim 8 				|srcery-install-vim8|
+	Dein 				|srcery-install-dein|
+	Pathogen 			|srcery-install-pathogen|
+	Plug 				|srcery-install-plug|
+Color Table 				|srcery-color-table|
+Options					|srcery-options|
+	g:srcery_[color] 		|srcery-option-color|
+	g:srcery_bold 			|srcery-option-bold|
+	g:srcery_italic 		|srcery-option-italic|
+	g:srcery_underline 		|srcery-option-underline|
+	g:srcery_undercurl 		|srcery-option-undercurl|
+	g:srcery_inverse 		|srcery-option-inverse|
+	g:srcery_inverse_matche 	|srcery-option-inverse-matches|
+	g:srcery_inverse_match_paren 	|srcery-option-inverse-match-paren|
+	g:srcery_dim_lisp_paren 	|srcery-option-dim-lisp-paren|
+	g:srcery_bg_passthrough 	|srcery-option-bg-passthrough|
+	g:srcery_guisp_fallback 	|srcery-option-guisp-fallback|
+	g:srcery_italic_types 		|srcery-option-italic-types|
+	g:srcery_hard_black_terminal_bg |srcery-option-hard-black-terminal-bg|
+
+==============================================================================
+INTRODUCTION 						   *srcery-introduction*
+
+Created using colors that logically adheres to the 16 color base palette of a
+given terminal, while trying to retain its own identity. The colors are
+designed to be easy on the eyes yet contrast well with the background for long
+sessions using an editor or terminal emulator.
+
+==============================================================================
+INSTALLATION						   *srcery-installation*
+
+Put srcery.vim in `~/.vim/colors/` (on unix-like systems) or
+`%userprofile%\vimfiles\colors\` (on Windows).
+
+							   *srcery-install-vim8*
+
+Vim 8 has native support for loading plugins. All you need to do to is to
+clone this repository into `~/.vim/plug/default/opt`.
+>
+	git clone https://github.com/srcery-colors/srcery-vim \
+		~/.vim/plug/default/opt
+<
+
+The same works for Neovim, but you have to clone it into a path where Neovim
+can find it.
+>
+	git clone https://github.com/srcery-colors/srcery-vim \
+		~/.config/nvim/plug/default/opt
+<
+
+							   *srcery-install-dein*
+https://github.com/Shougo/dein.vim
+>
+	call dein#add('srcery-colors/srcery-vim')
+<
+						       *srcery-install-pathogen*
+https://github.com/tpope/vim-pathogen
+>
+	cd ~/.vim/bundle
+	git clone https://github.com/srcery-colors/srcery-vim
+<
+							   *srcery-install-plug*
+https://github.com/junegunn/vim-plug
+>
+	Plug 'srcery-colors/srcery-vim'
+<
+
+==============================================================================
+COLOR TABLE						    *srcery-color-table*
+
+| termcol       | nr | var                       | hex     | rgb           |
+| ------------- | -- | ------------------------- | ------- | ------------- |
+| black         | 0  | g:srcery_black            | #1c1b19 | 28,  27,  25  |
+| red           | 1  | g:srcery_red              | #ef2f27 | 239, 47, 39   |
+| green         | 2  | g:srcery_green         	 | #519f50 | 81,  159, 80  |
+| yellow        | 3  | g:srcery_yellow        	 | #fbb829 | 251, 184, 41  |
+| blue          | 4  | g:srcery_blue          	 | #2c78bf | 44, 120, 191  |
+| magenta       | 5  | g:srcery_magenta       	 | #e02c6d | 224, 44,  109 |
+| cyan          | 6  | g:srcery_cyan          	 | #0aaeb3 | 10, 174, 179  |
+| white         | 7  | g:srcery_white         	 | #baa67f | 186, 166, 127 |
+| brightblack   | 8  | g:srcery_bright_black  	 | #918175 | 145, 129, 117 |
+| brightred     | 9  | g:srcery_bright_red    	 | #f75341 | 247, 83, 65   |
+| brightgreen   | 10 | g:srcery_bright_green  	 | #98bc37 | 152, 188, 55  |
+| brightyellow  | 11 | g:srcery_bright_yellow 	 | #fed06e | 254, 208, 110 |
+| brightblue    | 12 | g:srcery_bright_blue   	 | #68a8e4 | 104, 168, 228 |
+| brightmagenta | 13 | g:srcery_bright_magenta	 | #ff5c8f | 255, 92, 143  |
+| brightcyan    | 14 | g:srcery_bright_cyan   	 | #2be4d0 | 43, 228, 208  |
+| brightwhite   | 15 | g:srcery_bright_white  	 | #fce8c3 | 252, 232, 195 |
+
+Additionally Srcery uses some xterm 256 colors to pad out the color selection,
+no extra configuration needed.
+
+| NAME          | NR  | VAR                    | HEX     | RGB         |
+| ------------- | --- | ---------------------- | ------- | ----------- |
+| orange        | 202 | g:srcery_orange        | #FF5F00 | 255, 95, 0  |
+| bright_orange | 208 | g:srcery_bright_orange | #FF8700 | 255, 135, 0 |
+| hard_black    | 233 | g:srcery_hard_black    | #121212 | 18, 18, 18  |
+| xgray1        | 235 | g:srcery_xgray1        | #262626 | 38, 38, 38  |
+| xgray2        | 236 | g:srcery_xgray2        | #303030 | 48, 48, 48  |
+| xgray3        | 237 | g:srcery_xgray3        | #3A3A3A | 58, 58, 58  |
+| xgray4        | 238 | g:srcery_xgray4        | #444444 | 68, 68, 68  |
+| xgray5        | 239 | g:srcery_xgray5        | #4E4E4E | 78, 78, 78  |
+| xgray6        | 240 | g:srcery_xgray6        | #585858 | 88, 88, 88  |
+
+==============================================================================
+OPTIONS								*srcery-options*
+
+Srcery includes a few toggles due to discrepancies in the various setups
+possible. To change any of these you’d put something like this in your .vimrc:
+
+>
+	let g:srcery_italic = 1
+<
+
+Make sure that you set these variables before assigning colorscheme.
+
+g:srcery_[color] 					   *srcery-option-color*
+
+You can customize each of Srcery’s colors, to customize say the red color:
+>
+	let g:srcery_red = '#FF0000'
+<
+Refer to the |srcery-color-table| for a full list of color variables, hexes
+and more.
+
+							    *srcery-option-bold*
+g:srcery_bold
+
+	Enables bold text.
+
+	Default: 1
+
+							  *srcery-option-italic*
+g:srcery_italic
+
+	Enables italic text.
+
+	Default: gui 1, term 0
+
+						       *srcery-option-underline*
+g:srcery_underline
+
+	Enables underlined text.
+
+	Default: 1
+
+						       *srcery-option-undercurl*
+g:srcery_undercurl
+
+	Enables undercurled text.
+
+	Default: 1
+
+							 *srcery-option-inverse*
+g:srcery_inverse
+
+	Enable or disable inverse highlighting (foreground becomes background,
+	vice versa). This is used for visual selection, search highlights and
+	some other things.
+
+	Srcery will fall back to other methods of highlighting if this is
+	disabled.
+
+	Default: 1
+
+						 *srcery-option-inverse-matches*
+g:srcery_inverse_matches
+
+	Highlight search matches using inverse colors.
+
+	Default: 0
+
+					     *srcery-option-inverse-match-paren*
+g:srcery_inverse_match_paren
+
+	When enabled will highlight matching delimiters using inverse colors.
+	(`:DoMatchParen`)
+
+	Works best with Rainbow parenthesis.
+
+	Default: 0
+
+					 	  *srcery-option-dim-lisp-paren*
+g:srcery_dim_lisp_paren
+
+	Dims lisp dialects delimiters to a fairly dark gray (xgray5
+	specifically).
+
+	Default: 0
+
+						  *srcery-option-bg-passthrough*
+g:srcery_bg_passthrough
+
+	Lets the terminal control the background color in Vim by setting the
+	background NONE.
+
+	A possible use case for this could be you want to manipulate the
+	background color in the terminal, and let the results bubble up to
+	Vim.
+
+	Default: 0
+
+ 						  *srcery-option-guisp-fallback*
+g:srcery_guisp_fallback
+
+	Sets up alternate highlighting for colored underline/undercurl. Some
+	environments are unable to color underline, so this setting will set
+	either the background or foreground to whatever color the underline is
+	supposed to be.
+
+	This comes in handy if colored underline doesn’t work, or underline is
+	disabled entirely.
+
+	Default: `NONE`
+
+	Possible Values: `fg`, `bg`
+
+						    *srcery-option-italic-types*
+g:srcery_italic_types
+
+	Italicize types if italic is enabled.
+
+	Default: 0
+
+					  *srcery-option-hard-black-terminal-bg*
+g:srcery_hard_black_terminal_bg
+	
+	If enabled, will set the terminal background in vim to hard black.
+	Note that this currently only works in Vim, not Neovim.
+
+	Default: 1
+
+==============================================================================
+vim: tw=78:ts=8:ft=help:norl:noet:fen:noet :
--- a/vendor/vim-syntax/nginx.vim	Sun Dec 18 19:29:43 2022 +0900
+++ b/vendor/vim-syntax/nginx.vim	Sun Dec 18 20:06:46 2022 +0900
@@ -111,19 +111,14 @@
 syn keyword ngxDirectiveError contained error_page
 syn keyword ngxDirectiveError contained post_action
 
-syn keyword ngxDirectiveDeprecated contained limit_zone
 syn keyword ngxDirectiveDeprecated contained proxy_downstream_buffer
 syn keyword ngxDirectiveDeprecated contained proxy_upstream_buffer
-syn keyword ngxDirectiveDeprecated contained spdy_chunk_size
-syn keyword ngxDirectiveDeprecated contained spdy_headers_comp
-syn keyword ngxDirectiveDeprecated contained spdy_keepalive_timeout
-syn keyword ngxDirectiveDeprecated contained spdy_max_concurrent_streams
-syn keyword ngxDirectiveDeprecated contained spdy_pool_size
-syn keyword ngxDirectiveDeprecated contained spdy_recv_buffer_size
-syn keyword ngxDirectiveDeprecated contained spdy_recv_timeout
-syn keyword ngxDirectiveDeprecated contained spdy_streams_index_size
 syn keyword ngxDirectiveDeprecated contained ssl
-syn keyword ngxDirectiveDeprecated contained upstream_conf
+syn keyword ngxDirectiveDeprecated contained http2_idle_timeout
+syn keyword ngxDirectiveDeprecated contained http2_max_field_size
+syn keyword ngxDirectiveDeprecated contained http2_max_header_size
+syn keyword ngxDirectiveDeprecated contained http2_max_requests
+syn keyword ngxDirectiveDeprecated contained http2_recv_timeout
 
 syn keyword ngxDirective contained absolute_redirect
 syn keyword ngxDirective contained accept_mutex
@@ -152,6 +147,7 @@
 syn keyword ngxDirective contained auth_jwt
 syn keyword ngxDirective contained auth_jwt_claim_set
 syn keyword ngxDirective contained auth_jwt_header_set
+syn keyword ngxDirective contained auth_jwt_key_cache
 syn keyword ngxDirective contained auth_jwt_key_file
 syn keyword ngxDirective contained auth_jwt_key_request
 syn keyword ngxDirective contained auth_jwt_leeway
@@ -309,17 +305,12 @@
 syn keyword ngxDirective contained hls_mp4_max_buffer_size
 syn keyword ngxDirective contained http2_body_preread_size
 syn keyword ngxDirective contained http2_chunk_size
-syn keyword ngxDirective contained http2_idle_timeout
 syn keyword ngxDirective contained http2_max_concurrent_pushes
 syn keyword ngxDirective contained http2_max_concurrent_streams
-syn keyword ngxDirective contained http2_max_field_size
-syn keyword ngxDirective contained http2_max_header_size
-syn keyword ngxDirective contained http2_max_requests
 syn keyword ngxDirective contained http2_pool_size
 syn keyword ngxDirective contained http2_push
 syn keyword ngxDirective contained http2_push_preload
 syn keyword ngxDirective contained http2_recv_buffer_size
-syn keyword ngxDirective contained http2_recv_timeout
 syn keyword ngxDirective contained http2_streams_index_size
 syn keyword ngxDirective contained if_modified_since
 syn keyword ngxDirective contained ignore_invalid_headers
@@ -339,14 +330,17 @@
 syn keyword ngxDirective contained js_access
 syn keyword ngxDirective contained js_body_filter
 syn keyword ngxDirective contained js_content
+syn keyword ngxDirective contained js_fetch_buffer_size
 syn keyword ngxDirective contained js_fetch_ciphers
+syn keyword ngxDirective contained js_fetch_max_response_buffer_size
 syn keyword ngxDirective contained js_fetch_protocols
+syn keyword ngxDirective contained js_fetch_timeout
 syn keyword ngxDirective contained js_fetch_trusted_certificate
+syn keyword ngxDirective contained js_fetch_verify
 syn keyword ngxDirective contained js_fetch_verify_depth
 syn keyword ngxDirective contained js_filter
 syn keyword ngxDirective contained js_header_filter
 syn keyword ngxDirective contained js_import
-syn keyword ngxDirective contained js_include
 syn keyword ngxDirective contained js_path
 syn keyword ngxDirective contained js_preread
 syn keyword ngxDirective contained js_set
@@ -391,7 +385,6 @@
 syn keyword ngxDirective contained memcached_bind
 syn keyword ngxDirective contained memcached_buffer_size
 syn keyword ngxDirective contained memcached_connect_timeout
-syn keyword ngxDirective contained memcached_force_ranges
 syn keyword ngxDirective contained memcached_gzip_flag
 syn keyword ngxDirective contained memcached_next_upstream
 syn keyword ngxDirective contained memcached_next_upstream_timeout
@@ -645,7 +638,6 @@
 syn keyword ngxDirective contained status_format
 syn keyword ngxDirective contained status_zone
 syn keyword ngxDirective contained sticky
-syn keyword ngxDirective contained sticky_cookie_insert
 syn keyword ngxDirective contained stub_status
 syn keyword ngxDirective contained sub_filter
 syn keyword ngxDirective contained sub_filter_last_modified
@@ -774,62 +766,14 @@
 syn keyword ngxDirective contained zone_sync_ssl_verify_depth
 syn keyword ngxDirective contained zone_sync_timeout
 
-" 3rd party modules list taken from
-" https://github.com/freebsd/freebsd-ports/blob/master/www/nginx-devel/Makefile
-" -----------------------------------------------------------------------------
-
-" Accept Language
-" https://github.com/giom/nginx_accept_language_module
-syn keyword ngxDirectiveThirdParty contained set_from_accept_language
-
-" Digest Authentication
-" https://github.com/atomx/nginx-http-auth-digest
-syn keyword ngxDirectiveThirdParty contained auth_digest
-syn keyword ngxDirectiveThirdParty contained auth_digest_drop_time
-syn keyword ngxDirectiveThirdParty contained auth_digest_evasion_time
-syn keyword ngxDirectiveThirdParty contained auth_digest_expires
-syn keyword ngxDirectiveThirdParty contained auth_digest_maxtries
-syn keyword ngxDirectiveThirdParty contained auth_digest_replays
-syn keyword ngxDirectiveThirdParty contained auth_digest_shm_size
-syn keyword ngxDirectiveThirdParty contained auth_digest_timeout
-syn keyword ngxDirectiveThirdParty contained auth_digest_user_file
 
-" SPNEGO Authentication
-" https://github.com/stnoonan/spnego-http-auth-nginx-module
-syn keyword ngxDirectiveThirdParty contained auth_gss
-syn keyword ngxDirectiveThirdParty contained auth_gss_allow_basic_fallback
-syn keyword ngxDirectiveThirdParty contained auth_gss_authorized_principal
-syn keyword ngxDirectiveThirdParty contained auth_gss_authorized_principal_regex
-syn keyword ngxDirectiveThirdParty contained auth_gss_constrained_delegation
-syn keyword ngxDirectiveThirdParty contained auth_gss_delegate_credentials
-syn keyword ngxDirectiveThirdParty contained auth_gss_force_realm
-syn keyword ngxDirectiveThirdParty contained auth_gss_format_full
-syn keyword ngxDirectiveThirdParty contained auth_gss_keytab
-syn keyword ngxDirectiveThirdParty contained auth_gss_map_to_local
-syn keyword ngxDirectiveThirdParty contained auth_gss_realm
-syn keyword ngxDirectiveThirdParty contained auth_gss_service_ccache
-syn keyword ngxDirectiveThirdParty contained auth_gss_service_name
+" 3rd party modules list taken from
+" https://github.com/freebsd/freebsd-ports/blob/main/www/nginx-devel/Makefile.extmod
+" ----------------------------------------------------------------------------------
 
-" LDAP Authentication
-" https://github.com/kvspb/nginx-auth-ldap
-syn keyword ngxDirectiveThirdParty contained auth_ldap
-syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_enabled
-syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_expiration_time
-syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_size
-syn keyword ngxDirectiveThirdParty contained auth_ldap_servers
-syn keyword ngxDirectiveThirdParty contained auth_ldap_servers_size
-syn keyword ngxDirectiveThirdParty contained ldap_server
-
-" PAM Authentication
-" https://github.com/sto/ngx_http_auth_pam_module
-syn keyword ngxDirectiveThirdParty contained auth_pam
-syn keyword ngxDirectiveThirdParty contained auth_pam_service_name
-syn keyword ngxDirectiveThirdParty contained auth_pam_set_pam_env
-
-" AJP protocol proxy
-" https://github.com/yaoweibin/nginx_ajp_module
+" https://github.com/msva/nginx_ajp_module
+syn keyword ngxDirectiveThirdParty contained ajp_buffer_size
 syn keyword ngxDirectiveThirdParty contained ajp_buffers
-syn keyword ngxDirectiveThirdParty contained ajp_buffer_size
 syn keyword ngxDirectiveThirdParty contained ajp_busy_buffers_size
 syn keyword ngxDirectiveThirdParty contained ajp_cache
 syn keyword ngxDirectiveThirdParty contained ajp_cache_key
@@ -850,11 +794,13 @@
 syn keyword ngxDirectiveThirdParty contained ajp_max_data_packet_size
 syn keyword ngxDirectiveThirdParty contained ajp_max_temp_file_size
 syn keyword ngxDirectiveThirdParty contained ajp_next_upstream
+syn keyword ngxDirectiveThirdParty contained ajp_param
 syn keyword ngxDirectiveThirdParty contained ajp_pass
 syn keyword ngxDirectiveThirdParty contained ajp_pass_header
 syn keyword ngxDirectiveThirdParty contained ajp_pass_request_body
 syn keyword ngxDirectiveThirdParty contained ajp_pass_request_headers
 syn keyword ngxDirectiveThirdParty contained ajp_read_timeout
+syn keyword ngxDirectiveThirdParty contained ajp_script_url
 syn keyword ngxDirectiveThirdParty contained ajp_secret
 syn keyword ngxDirectiveThirdParty contained ajp_send_lowat
 syn keyword ngxDirectiveThirdParty contained ajp_send_timeout
@@ -865,7 +811,12 @@
 syn keyword ngxDirectiveThirdParty contained ajp_upstream_fail_timeout
 syn keyword ngxDirectiveThirdParty contained ajp_upstream_max_fails
 
-" AWS proxy
+" https://github.com/openresty/array-var-nginx-module
+syn keyword ngxDirectiveThirdParty contained array_join
+syn keyword ngxDirectiveThirdParty contained array_map
+syn keyword ngxDirectiveThirdParty contained array_map_op
+syn keyword ngxDirectiveThirdParty contained array_split
+
 " https://github.com/anomalizer/ngx_aws_auth
 syn keyword ngxDirectiveThirdParty contained aws_access_key
 syn keyword ngxDirectiveThirdParty contained aws_endpoint
@@ -874,7 +825,18 @@
 syn keyword ngxDirectiveThirdParty contained aws_sign
 syn keyword ngxDirectiveThirdParty contained aws_signing_key
 
-" embedding Clojure or Java or Groovy programs
+" https://github.com/google/ngx_brotli
+syn keyword ngxDirectiveThirdParty contained brotli
+syn keyword ngxDirectiveThirdParty contained brotli_buffers
+syn keyword ngxDirectiveThirdParty contained brotli_comp_level
+syn keyword ngxDirectiveThirdParty contained brotli_min_length
+syn keyword ngxDirectiveThirdParty contained brotli_static
+syn keyword ngxDirectiveThirdParty contained brotli_types
+syn keyword ngxDirectiveThirdParty contained brotli_window
+
+" https://github.com/torden/ngx_cache_purge
+syn keyword ngxDirectiveThirdParty contained cache_purge_response_type
+
 " https://github.com/nginx-clojure/nginx-clojure
 syn keyword ngxDirectiveThirdParty contained access_handler_code
 syn keyword ngxDirectiveThirdParty contained access_handler_name
@@ -892,8 +854,8 @@
 syn keyword ngxDirectiveThirdParty contained content_handler_type
 syn keyword ngxDirectiveThirdParty contained handler_code
 syn keyword ngxDirectiveThirdParty contained handler_name
+syn keyword ngxDirectiveThirdParty contained handler_type
 syn keyword ngxDirectiveThirdParty contained handlers_lazy_init
-syn keyword ngxDirectiveThirdParty contained handler_type
 syn keyword ngxDirectiveThirdParty contained header_filter_code
 syn keyword ngxDirectiveThirdParty contained header_filter_name
 syn keyword ngxDirectiveThirdParty contained header_filter_property
@@ -921,18 +883,20 @@
 syn keyword ngxDirectiveThirdParty contained shared_map
 syn keyword ngxDirectiveThirdParty contained write_page_size
 
+" https://github.com/AirisX/nginx_cookie_flag_module
+syn keyword ngxDirectiveThirdParty contained set_cookie_flag
 
-" Certificate Transparency
 " https://github.com/grahamedgecombe/nginx-ct
 syn keyword ngxDirectiveThirdParty contained ssl_ct
 syn keyword ngxDirectiveThirdParty contained ssl_ct_static_scts
 
-" ngx_echo
 " https://github.com/openresty/echo-nginx-module
+syn keyword ngxDirectiveThirdParty contained echo
 syn keyword ngxDirectiveThirdParty contained echo_abort_parent
 syn keyword ngxDirectiveThirdParty contained echo_after_body
 syn keyword ngxDirectiveThirdParty contained echo_before_body
 syn keyword ngxDirectiveThirdParty contained echo_blocking_sleep
+syn keyword ngxDirectiveThirdParty contained echo_duplicate
 syn keyword ngxDirectiveThirdParty contained echo_end
 syn keyword ngxDirectiveThirdParty contained echo_exec
 syn keyword ngxDirectiveThirdParty contained echo_flush
@@ -942,28 +906,124 @@
 syn keyword ngxDirectiveThirdParty contained echo_read_request_body
 syn keyword ngxDirectiveThirdParty contained echo_request_body
 syn keyword ngxDirectiveThirdParty contained echo_reset_timer
+syn keyword ngxDirectiveThirdParty contained echo_sleep
 syn keyword ngxDirectiveThirdParty contained echo_status
 syn keyword ngxDirectiveThirdParty contained echo_subrequest
 syn keyword ngxDirectiveThirdParty contained echo_subrequest_async
 
-" FastDFS
-" https://github.com/happyfish100/fastdfs-nginx-module
-syn keyword ngxDirectiveThirdParty contained ngx_fastdfs_module
+" https://github.com/openresty/drizzle-nginx-module
+syn keyword ngxDirectiveThirdParty contained drizzle_buffer_size
+syn keyword ngxDirectiveThirdParty contained drizzle_connect_timeout
+syn keyword ngxDirectiveThirdParty contained drizzle_dbname
+syn keyword ngxDirectiveThirdParty contained drizzle_keepalive
+syn keyword ngxDirectiveThirdParty contained drizzle_module_header
+syn keyword ngxDirectiveThirdParty contained drizzle_pass
+syn keyword ngxDirectiveThirdParty contained drizzle_query
+syn keyword ngxDirectiveThirdParty contained drizzle_recv_cols_timeout
+syn keyword ngxDirectiveThirdParty contained drizzle_recv_rows_timeout
+syn keyword ngxDirectiveThirdParty contained drizzle_send_query_timeout
+syn keyword ngxDirectiveThirdParty contained drizzle_server
+syn keyword ngxDirectiveThirdParty contained drizzle_status
+
+" https://github.com/ZigzagAK/ngx_dynamic_upstream
+syn keyword ngxDirectiveThirdParty contained dns_add_down
+syn keyword ngxDirectiveThirdParty contained dns_ipv6
+syn keyword ngxDirectiveThirdParty contained dns_update
+syn keyword ngxDirectiveThirdParty contained dynamic_state_file
+syn keyword ngxDirectiveThirdParty contained dynamic_upstream
 
-" ngx_headers_more
+" https://github.com/ZigzagAK/ngx_dynamic_healthcheck
+syn keyword ngxDirectiveThirdParty contained check
+syn keyword ngxDirectiveThirdParty contained check_disable_host
+syn keyword ngxDirectiveThirdParty contained check_exclude_host
+syn keyword ngxDirectiveThirdParty contained check_persistent
+syn keyword ngxDirectiveThirdParty contained check_request_body
+syn keyword ngxDirectiveThirdParty contained check_request_headers
+syn keyword ngxDirectiveThirdParty contained check_request_uri
+syn keyword ngxDirectiveThirdParty contained check_response_body
+syn keyword ngxDirectiveThirdParty contained check_response_codes
+syn keyword ngxDirectiveThirdParty contained healthcheck
+syn keyword ngxDirectiveThirdParty contained healthcheck_buffer_size
+syn keyword ngxDirectiveThirdParty contained healthcheck_disable_host
+syn keyword ngxDirectiveThirdParty contained healthcheck_get
+syn keyword ngxDirectiveThirdParty contained healthcheck_persistent
+syn keyword ngxDirectiveThirdParty contained healthcheck_request_body
+syn keyword ngxDirectiveThirdParty contained healthcheck_request_headers
+syn keyword ngxDirectiveThirdParty contained healthcheck_request_uri
+syn keyword ngxDirectiveThirdParty contained healthcheck_response_body
+syn keyword ngxDirectiveThirdParty contained healthcheck_response_codes
+syn keyword ngxDirectiveThirdParty contained healthcheck_status
+syn keyword ngxDirectiveThirdParty contained healthcheck_update
+
+" https://github.com/openresty/encrypted-session-nginx-module
+syn keyword ngxDirectiveThirdParty contained encrypted_session_expires
+syn keyword ngxDirectiveThirdParty contained encrypted_session_iv
+syn keyword ngxDirectiveThirdParty contained encrypted_session_key
+syn keyword ngxDirectiveThirdParty contained set_decrypt_session
+syn keyword ngxDirectiveThirdParty contained set_encrypt_session
+
+" https://github.com/calio/form-input-nginx-module
+syn keyword ngxDirectiveThirdParty contained set_form_input
+syn keyword ngxDirectiveThirdParty contained set_form_input_multi
+
+" https://github.com/nieoding/nginx-gridfs
+syn keyword ngxDirectiveThirdParty contained gridfs
+syn keyword ngxDirectiveThirdParty contained mongo
+
 " https://github.com/openresty/headers-more-nginx-module
 syn keyword ngxDirectiveThirdParty contained more_clear_headers
 syn keyword ngxDirectiveThirdParty contained more_clear_input_headers
 syn keyword ngxDirectiveThirdParty contained more_set_headers
 syn keyword ngxDirectiveThirdParty contained more_set_input_headers
 
-" NGINX WebDAV missing commands support (PROPFIND & OPTIONS)
+" https://github.com/dvershinin/nginx_accept_language_module
+syn keyword ngxDirectiveThirdParty contained set_from_accept_language
+
+" https://github.com/atomx/nginx-http-auth-digest
+syn keyword ngxDirectiveThirdParty contained auth_digest
+syn keyword ngxDirectiveThirdParty contained auth_digest_drop_time
+syn keyword ngxDirectiveThirdParty contained auth_digest_evasion_time
+syn keyword ngxDirectiveThirdParty contained auth_digest_expires
+syn keyword ngxDirectiveThirdParty contained auth_digest_maxtries
+syn keyword ngxDirectiveThirdParty contained auth_digest_replays
+syn keyword ngxDirectiveThirdParty contained auth_digest_shm_size
+syn keyword ngxDirectiveThirdParty contained auth_digest_timeout
+syn keyword ngxDirectiveThirdParty contained auth_digest_user_file
+
+" https://github.com/stnoonan/spnego-http-auth-nginx-module
+syn keyword ngxDirectiveThirdParty contained auth_gss
+syn keyword ngxDirectiveThirdParty contained auth_gss_allow_basic_fallback
+syn keyword ngxDirectiveThirdParty contained auth_gss_authorized_principal
+syn keyword ngxDirectiveThirdParty contained auth_gss_authorized_principal_regex
+syn keyword ngxDirectiveThirdParty contained auth_gss_constrained_delegation
+syn keyword ngxDirectiveThirdParty contained auth_gss_delegate_credentials
+syn keyword ngxDirectiveThirdParty contained auth_gss_force_realm
+syn keyword ngxDirectiveThirdParty contained auth_gss_format_full
+syn keyword ngxDirectiveThirdParty contained auth_gss_keytab
+syn keyword ngxDirectiveThirdParty contained auth_gss_map_to_local
+syn keyword ngxDirectiveThirdParty contained auth_gss_realm
+syn keyword ngxDirectiveThirdParty contained auth_gss_service_ccache
+syn keyword ngxDirectiveThirdParty contained auth_gss_service_name
+
+" https://github.com/kvspb/nginx-auth-ldap
+syn keyword ngxDirectiveThirdParty contained auth_ldap
+syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_enabled
+syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_expiration_time
+syn keyword ngxDirectiveThirdParty contained auth_ldap_cache_size
+syn keyword ngxDirectiveThirdParty contained auth_ldap_servers
+syn keyword ngxDirectiveThirdParty contained auth_ldap_servers_size
+syn keyword ngxDirectiveThirdParty contained ldap_server
+
+" https://github.com/sto/ngx_http_auth_pam_module
+syn keyword ngxDirectiveThirdParty contained auth_pam
+syn keyword ngxDirectiveThirdParty contained auth_pam_service_name
+syn keyword ngxDirectiveThirdParty contained auth_pam_set_pam_env
+
 " https://github.com/arut/nginx-dav-ext-module
 syn keyword ngxDirectiveThirdParty contained dav_ext_lock
 syn keyword ngxDirectiveThirdParty contained dav_ext_lock_zone
 syn keyword ngxDirectiveThirdParty contained dav_ext_methods
 
-" ngx_eval
 " https://github.com/openresty/nginx-eval-module
 syn keyword ngxDirectiveThirdParty contained eval
 syn keyword ngxDirectiveThirdParty contained eval_buffer_size
@@ -971,7 +1031,6 @@
 syn keyword ngxDirectiveThirdParty contained eval_override_content_type
 syn keyword ngxDirectiveThirdParty contained eval_subrequest_in_memory
 
-" Fancy Index
 " https://github.com/aperezdc/ngx-fancyindex
 syn keyword ngxDirectiveThirdParty contained fancyindex
 syn keyword ngxDirectiveThirdParty contained fancyindex_css_href
@@ -988,40 +1047,29 @@
 syn keyword ngxDirectiveThirdParty contained fancyindex_show_path
 syn keyword ngxDirectiveThirdParty contained fancyindex_time_format
 
-" Footer filter
 " https://github.com/alibaba/nginx-http-footer-filter
 syn keyword ngxDirectiveThirdParty contained footer
 syn keyword ngxDirectiveThirdParty contained footer_types
 
-" ngx_http_geoip2_module
 " https://github.com/leev/ngx_http_geoip2_module
 syn keyword ngxDirectiveThirdParty contained geoip2
 syn keyword ngxDirectiveThirdParty contained geoip2_proxy
 syn keyword ngxDirectiveThirdParty contained geoip2_proxy_recursive
 
-" A version of the Nginx HTTP stub status module that outputs in JSON format
-" https://github.com/nginx-modules/nginx-json-status-module
-syn keyword ngxDirectiveThirdParty contained json_status
-syn keyword ngxDirectiveThirdParty contained json_status_type
+" https://github.com/ip2location/ip2location-nginx
+syn keyword ngxDirectiveThirdParty contained ip2location_database
+syn keyword ngxDirectiveThirdParty contained ip2location_proxy
+syn keyword ngxDirectiveThirdParty contained ip2location_proxy_recursive
 
-" MogileFS client for nginx
-" https://github.com/vkholodkov/nginx-mogilefs-module
-syn keyword ngxDirectiveThirdParty contained mogilefs_class
-syn keyword ngxDirectiveThirdParty contained mogilefs_connect_timeout
-syn keyword ngxDirectiveThirdParty contained mogilefs_domain
-syn keyword ngxDirectiveThirdParty contained mogilefs_methods
-syn keyword ngxDirectiveThirdParty contained mogilefs_noverify
-syn keyword ngxDirectiveThirdParty contained mogilefs_pass
-syn keyword ngxDirectiveThirdParty contained mogilefs_read_timeout
-syn keyword ngxDirectiveThirdParty contained mogilefs_send_timeout
-syn keyword ngxDirectiveThirdParty contained mogilefs_tracker
+" https://github.com/ip2location/ip2proxy-nginx
+syn keyword ngxDirectiveThirdParty contained ip2proxy_database
+syn keyword ngxDirectiveThirdParty contained ip2proxy_proxy
+syn keyword ngxDirectiveThirdParty contained ip2proxy_proxy_recursive
 
-" Ancient nginx plugin; probably not useful to anyone
 " https://github.com/kr/nginx-notice
 syn keyword ngxDirectiveThirdParty contained notice
 syn keyword ngxDirectiveThirdParty contained notice_type
 
-" nchan
 " https://github.com/slact/nchan
 syn keyword ngxDirectiveThirdParty contained nchan_access_control_allow_credentials
 syn keyword ngxDirectiveThirdParty contained nchan_access_control_allow_origin
@@ -1034,8 +1082,8 @@
 syn keyword ngxDirectiveThirdParty contained nchan_benchmark_subscriber_distribution
 syn keyword ngxDirectiveThirdParty contained nchan_benchmark_subscribers_per_channel
 syn keyword ngxDirectiveThirdParty contained nchan_benchmark_time
+syn keyword ngxDirectiveThirdParty contained nchan_channel_event_string
 syn keyword ngxDirectiveThirdParty contained nchan_channel_events_channel_id
-syn keyword ngxDirectiveThirdParty contained nchan_channel_event_string
 syn keyword ngxDirectiveThirdParty contained nchan_channel_group
 syn keyword ngxDirectiveThirdParty contained nchan_channel_group_accounting
 syn keyword ngxDirectiveThirdParty contained nchan_channel_id
@@ -1074,11 +1122,25 @@
 syn keyword ngxDirectiveThirdParty contained nchan_pubsub_channel_id
 syn keyword ngxDirectiveThirdParty contained nchan_pubsub_location
 syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_check_interval
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_check_interval_backoff
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_check_interval_jitter
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_check_interval_max
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_check_interval_min
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_connect_timeout
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_max_failing_time
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_recovery_delay
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_recovery_delay_backoff
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_recovery_delay_jitter
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_recovery_delay_max
+syn keyword ngxDirectiveThirdParty contained nchan_redis_cluster_recovery_delay_min
+syn keyword ngxDirectiveThirdParty contained nchan_redis_command_timeout
 syn keyword ngxDirectiveThirdParty contained nchan_redis_connect_timeout
 syn keyword ngxDirectiveThirdParty contained nchan_redis_discovered_ip_range_blacklist
 syn keyword ngxDirectiveThirdParty contained nchan_redis_fakesub_timer_interval
 syn keyword ngxDirectiveThirdParty contained nchan_redis_idle_channel_cache_timeout
+syn keyword ngxDirectiveThirdParty contained nchan_redis_load_scripts_unconditionally
 syn keyword ngxDirectiveThirdParty contained nchan_redis_namespace
+syn keyword ngxDirectiveThirdParty contained nchan_redis_node_connect_timeout
 syn keyword ngxDirectiveThirdParty contained nchan_redis_nostore_fastpublish
 syn keyword ngxDirectiveThirdParty contained nchan_redis_optimize_target
 syn keyword ngxDirectiveThirdParty contained nchan_redis_pass
@@ -1086,6 +1148,13 @@
 syn keyword ngxDirectiveThirdParty contained nchan_redis_password
 syn keyword ngxDirectiveThirdParty contained nchan_redis_ping_interval
 syn keyword ngxDirectiveThirdParty contained nchan_redis_publish_msgpacked_max_size
+syn keyword ngxDirectiveThirdParty contained nchan_redis_reconnect_delay
+syn keyword ngxDirectiveThirdParty contained nchan_redis_reconnect_delay_backoff
+syn keyword ngxDirectiveThirdParty contained nchan_redis_reconnect_delay_jitter
+syn keyword ngxDirectiveThirdParty contained nchan_redis_reconnect_delay_max
+syn keyword ngxDirectiveThirdParty contained nchan_redis_reconnect_delay_min
+syn keyword ngxDirectiveThirdParty contained nchan_redis_retry_commands
+syn keyword ngxDirectiveThirdParty contained nchan_redis_retry_commands_max_wait
 syn keyword ngxDirectiveThirdParty contained nchan_redis_server
 syn keyword ngxDirectiveThirdParty contained nchan_redis_ssl
 syn keyword ngxDirectiveThirdParty contained nchan_redis_ssl_ciphers
@@ -1113,10 +1182,10 @@
 syn keyword ngxDirectiveThirdParty contained nchan_stub_status
 syn keyword ngxDirectiveThirdParty contained nchan_sub_channel_id
 syn keyword ngxDirectiveThirdParty contained nchan_subscribe_existing_channels_only
+syn keyword ngxDirectiveThirdParty contained nchan_subscribe_request
 syn keyword ngxDirectiveThirdParty contained nchan_subscriber
 syn keyword ngxDirectiveThirdParty contained nchan_subscriber_channel_id
 syn keyword ngxDirectiveThirdParty contained nchan_subscriber_compound_etag_message_id
-syn keyword ngxDirectiveThirdParty contained nchan_subscribe_request
 syn keyword ngxDirectiveThirdParty contained nchan_subscriber_first_message
 syn keyword ngxDirectiveThirdParty contained nchan_subscriber_http_raw_stream_separator
 syn keyword ngxDirectiveThirdParty contained nchan_subscriber_info
@@ -1145,7 +1214,6 @@
 syn keyword ngxDirectiveThirdParty contained push_subscriber_concurrency
 syn keyword ngxDirectiveThirdParty contained push_subscriber_timeout
 
-" Push Stream
 " https://github.com/wandenberg/nginx-push-stream-module
 syn keyword ngxDirectiveThirdParty contained push_stream_allow_connections_to_events_channel
 syn keyword ngxDirectiveThirdParty contained push_stream_allowed_origins
@@ -1184,23 +1252,6 @@
 syn keyword ngxDirectiveThirdParty contained push_stream_wildcard_channel_max_qtd
 syn keyword ngxDirectiveThirdParty contained push_stream_wildcard_channel_prefix
 
-" redis module
-" https://www.nginx.com/resources/wiki/modules/redis/
-syn keyword ngxDirectiveThirdParty contained redis_bind
-syn keyword ngxDirectiveThirdParty contained redis_buffer_size
-syn keyword ngxDirectiveThirdParty contained redis_connect_timeout
-syn keyword ngxDirectiveThirdParty contained redis_gzip_flag
-syn keyword ngxDirectiveThirdParty contained redis_next_upstream
-syn keyword ngxDirectiveThirdParty contained redis_pass
-syn keyword ngxDirectiveThirdParty contained redis_read_timeout
-syn keyword ngxDirectiveThirdParty contained redis_send_timeout
-
-" ngx_http_response
-" http://catap.ru/downloads/nginx/
-syn keyword ngxDirectiveThirdParty contained response
-syn keyword ngxDirectiveThirdParty contained response_type
-
-" nginx_substitutions_filter
 " https://github.com/yaoweibin/ngx_http_substitutions_filter_module
 syn keyword ngxDirectiveThirdParty contained subs_buffers
 syn keyword ngxDirectiveThirdParty contained subs_filter
@@ -1208,7 +1259,6 @@
 syn keyword ngxDirectiveThirdParty contained subs_filter_types
 syn keyword ngxDirectiveThirdParty contained subs_line_buffer_size
 
-" Tarantool nginx upstream module
 " https://github.com/tarantool/nginx_upstream_module
 syn keyword ngxDirectiveThirdParty contained tnt_allowed_indexes
 syn keyword ngxDirectiveThirdParty contained tnt_allowed_spaces
@@ -1238,44 +1288,28 @@
 syn keyword ngxDirectiveThirdParty contained tnt_update
 syn keyword ngxDirectiveThirdParty contained tnt_upsert
 
-" A module for nginx web server for handling file uploads using multipart/form-data encoding (RFC 1867)
-" https://github.com/Austinb/nginx-upload-module
+" https://github.com/fdintino/nginx-upload-module
+syn keyword ngxDirectiveThirdParty contained upload_add_header
 syn keyword ngxDirectiveThirdParty contained upload_aggregate_form_field
-syn keyword ngxDirectiveThirdParty contained upload_archive_elm
-syn keyword ngxDirectiveThirdParty contained upload_archive_elm_separator
-syn keyword ngxDirectiveThirdParty contained upload_archive_path
-syn keyword ngxDirectiveThirdParty contained upload_archive_path_separator
 syn keyword ngxDirectiveThirdParty contained upload_buffer_size
 syn keyword ngxDirectiveThirdParty contained upload_cleanup
-syn keyword ngxDirectiveThirdParty contained upload_content_type
-syn keyword ngxDirectiveThirdParty contained upload_discard
-syn keyword ngxDirectiveThirdParty contained upload_field_name
-syn keyword ngxDirectiveThirdParty contained upload_file_crc32
-syn keyword ngxDirectiveThirdParty contained upload_file_md5
-syn keyword ngxDirectiveThirdParty contained upload_file_md5_uc
-syn keyword ngxDirectiveThirdParty contained upload_file_name
-syn keyword ngxDirectiveThirdParty contained upload_file_sha1
-syn keyword ngxDirectiveThirdParty contained upload_file_sha1_uc
-syn keyword ngxDirectiveThirdParty contained upload_file_size
-syn keyword ngxDirectiveThirdParty contained upload_filter
+syn keyword ngxDirectiveThirdParty contained upload_empty_fiels_names
+syn keyword ngxDirectiveThirdParty contained upload_limit_rate
 syn keyword ngxDirectiveThirdParty contained upload_max_file_size
 syn keyword ngxDirectiveThirdParty contained upload_max_output_body_len
 syn keyword ngxDirectiveThirdParty contained upload_max_part_header_len
+syn keyword ngxDirectiveThirdParty contained upload_merge_buffer_size
 syn keyword ngxDirectiveThirdParty contained upload_pass
 syn keyword ngxDirectiveThirdParty contained upload_pass_args
 syn keyword ngxDirectiveThirdParty contained upload_pass_form_field
+syn keyword ngxDirectiveThirdParty contained upload_range_header_buffer_size
+syn keyword ngxDirectiveThirdParty contained upload_resumable
 syn keyword ngxDirectiveThirdParty contained upload_set_form_field
+syn keyword ngxDirectiveThirdParty contained upload_state_store
 syn keyword ngxDirectiveThirdParty contained upload_store
 syn keyword ngxDirectiveThirdParty contained upload_store_access
-syn keyword ngxDirectiveThirdParty contained upload_tmp_path
-syn keyword ngxDirectiveThirdParty contained upload_unzip
-syn keyword ngxDirectiveThirdParty contained upload_unzip_buffers
-syn keyword ngxDirectiveThirdParty contained upload_unzip_hash
-syn keyword ngxDirectiveThirdParty contained upload_unzip_max_file_name_len
-syn keyword ngxDirectiveThirdParty contained upload_unzip_window
-syn keyword ngxDirectiveThirdParty contained upload_void_content_type
+syn keyword ngxDirectiveThirdParty contained upload_tame_arrays
 
-" nginx-upload-progress-module
 " https://github.com/masterzen/nginx-upload-progress-module
 syn keyword ngxDirectiveThirdParty contained report_uploads
 syn keyword ngxDirectiveThirdParty contained track_uploads
@@ -1288,9 +1322,7 @@
 syn keyword ngxDirectiveThirdParty contained upload_progress_jsonp_parameter
 syn keyword ngxDirectiveThirdParty contained upload_progress_template
 
-" Health checks upstreams for nginx
 " https://github.com/yaoweibin/nginx_upstream_check_module
-syn keyword ngxDirectiveThirdParty contained check
 syn keyword ngxDirectiveThirdParty contained check_fastcgi_param
 syn keyword ngxDirectiveThirdParty contained check_http_expect_alive
 syn keyword ngxDirectiveThirdParty contained check_http_send
@@ -1298,13 +1330,14 @@
 syn keyword ngxDirectiveThirdParty contained check_shm_size
 syn keyword ngxDirectiveThirdParty contained check_status
 
-" The fair load balancer module for nginx
-" https://github.com/cryptofuture/nginx-upstream-fair
+" https://github.com/jaygooby/nginx-upstream-fair
 syn keyword ngxDirectiveThirdParty contained fair
 syn keyword ngxDirectiveThirdParty contained upstream_fair_shm_size
 
-" Nginx Video Thumb Extractor Module
-" https://github.com/wandenberg/nginx-video-thumbextractor-module
+" https://github.com/ayty-adrianomartins/nginx-sticky-module-ng
+syn keyword ngxDirectiveThirdParty contained sticky_no_fallback
+
+" https://github.com/Novetta/nginx-video-thumbextractor-module
 syn keyword ngxDirectiveThirdParty contained video_thumbextractor
 syn keyword ngxDirectiveThirdParty contained video_thumbextractor_image_height
 syn keyword ngxDirectiveThirdParty contained video_thumbextractor_image_width
@@ -1329,43 +1362,14 @@
 syn keyword ngxDirectiveThirdParty contained video_thumbextractor_video_filename
 syn keyword ngxDirectiveThirdParty contained video_thumbextractor_video_second
 
-" drizzle-nginx-module - Upstream module for talking to MySQL and Drizzle directly
-" https://github.com/openresty/drizzle-nginx-module
-syn keyword ngxDirectiveThirdParty contained drizzle_buffer_size
-syn keyword ngxDirectiveThirdParty contained drizzle_connect_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_dbname
-syn keyword ngxDirectiveThirdParty contained drizzle_keepalive
-syn keyword ngxDirectiveThirdParty contained drizzle_module_header
-syn keyword ngxDirectiveThirdParty contained drizzle_pass
-syn keyword ngxDirectiveThirdParty contained drizzle_query
-syn keyword ngxDirectiveThirdParty contained drizzle_recv_cols_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_recv_rows_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_send_query_timeout
-syn keyword ngxDirectiveThirdParty contained drizzle_server
-syn keyword ngxDirectiveThirdParty contained drizzle_status
+" https://github.com/calio/iconv-nginx-module
+syn keyword ngxDirectiveThirdParty contained iconv_buffer_size
+syn keyword ngxDirectiveThirdParty contained iconv_filter
+syn keyword ngxDirectiveThirdParty contained set_iconv
 
-" ngx_dynamic_upstream
-" https://github.com/cubicdaiya/ngx_dynamic_upstream
-syn keyword ngxDirectiveThirdParty contained dynamic_upstream
-
-" encrypt and decrypt nginx variable values
-" https://github.com/openresty/encrypted-session-nginx-module
-syn keyword ngxDirectiveThirdParty contained encrypted_session_expires
-syn keyword ngxDirectiveThirdParty contained encrypted_session_iv
-syn keyword ngxDirectiveThirdParty contained encrypted_session_key
-syn keyword ngxDirectiveThirdParty contained set_decrypt_session
-syn keyword ngxDirectiveThirdParty contained set_encrypt_session
-
-" serve content directly from MongoDB's GridFS
-" https://github.com/mdirolf/nginx-gridfs
-syn keyword ngxDirectiveThirdParty contained gridfs
-syn keyword ngxDirectiveThirdParty contained mongo
-
-" Adds support for arithmetic operations to NGINX config
-" https://github.com/arut/nginx-let-module
+" https://github.com/baysao/nginx-let-module
 syn keyword ngxDirectiveThirdParty contained let
 
-" ngx_http_lua_module - Embed the power of Lua into Nginx HTTP Servers
 " https://github.com/openresty/lua-nginx-module
 syn keyword ngxDirectiveThirdParty contained access_by_lua
 syn keyword ngxDirectiveThirdParty contained access_by_lua_block
@@ -1431,6 +1435,8 @@
 syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_block
 syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_file
 syn keyword ngxDirectiveThirdParty contained rewrite_by_lua_no_postpone
+syn keyword ngxDirectiveThirdParty contained server_rewrite_by_lua_block
+syn keyword ngxDirectiveThirdParty contained server_rewrite_by_lua_file
 syn keyword ngxDirectiveThirdParty contained set_by_lua
 syn keyword ngxDirectiveThirdParty contained set_by_lua_block
 syn keyword ngxDirectiveThirdParty contained set_by_lua_file
@@ -1443,7 +1449,16 @@
 syn keyword ngxDirectiveThirdParty contained ssl_session_store_by_lua_block
 syn keyword ngxDirectiveThirdParty contained ssl_session_store_by_lua_file
 
-" ngx_memc - An extended version of the standard memcached module
+" https://github.com/Taymindis/nginx-link-function
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_add_prop
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_add_req_header
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_ca_cert
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_call
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_download_link_lib
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_lib
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_shm_size
+syn keyword ngxDirectiveThirdParty contained ngx_link_func_subrequest
+
 " https://github.com/openresty/memc-nginx-module
 syn keyword ngxDirectiveThirdParty contained memc_buffer_size
 syn keyword ngxDirectiveThirdParty contained memc_cmds_allowed
@@ -1457,21 +1472,24 @@
 syn keyword ngxDirectiveThirdParty contained memc_upstream_fail_timeout
 syn keyword ngxDirectiveThirdParty contained memc_upstream_max_fails
 
-" ModSecurity web application firewall
-" https://github.com/SpiderLabs/ModSecurity/tree/master
-syn keyword ngxDirectiveThirdParty contained ModSecurityConfig
-syn keyword ngxDirectiveThirdParty contained ModSecurityEnabled
-syn keyword ngxDirectiveThirdParty contained pool_context_hash_size
+" https://github.com/SpiderLabs/ModSecurity-nginx
+syn keyword ngxDirectiveThirdParty contained modsecurity
+syn keyword ngxDirectiveThirdParty contained modsecurity_rules
+syn keyword ngxDirectiveThirdParty contained modsecurity_rules_file
+syn keyword ngxDirectiveThirdParty contained modsecurity_rules_remote
+syn keyword ngxDirectiveThirdParty contained modsecurity_transaction_id
 
-" NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX
 " https://github.com/nbs-system/naxsi
 syn keyword ngxDirectiveThirdParty contained BasicRule
 syn keyword ngxDirectiveThirdParty contained CheckRule
 syn keyword ngxDirectiveThirdParty contained DeniedUrl
+syn keyword ngxDirectiveThirdParty contained IgnoreCIDR
+syn keyword ngxDirectiveThirdParty contained IgnoreIP
 syn keyword ngxDirectiveThirdParty contained LearningMode
 syn keyword ngxDirectiveThirdParty contained LibInjectionSql
 syn keyword ngxDirectiveThirdParty contained LibInjectionXss
 syn keyword ngxDirectiveThirdParty contained MainRule
+syn keyword ngxDirectiveThirdParty contained NaxsiLogFile
 syn keyword ngxDirectiveThirdParty contained SecRulesDisabled
 syn keyword ngxDirectiveThirdParty contained SecRulesEnabled
 syn keyword ngxDirectiveThirdParty contained basic_rule
@@ -1481,17 +1499,31 @@
 syn keyword ngxDirectiveThirdParty contained libinjection_sql
 syn keyword ngxDirectiveThirdParty contained libinjection_xss
 syn keyword ngxDirectiveThirdParty contained main_rule
+syn keyword ngxDirectiveThirdParty contained naxsi_log
 syn keyword ngxDirectiveThirdParty contained rules_disabled
 syn keyword ngxDirectiveThirdParty contained rules_enabled
 
-" Phusion Passenger
-" https://www.phusionpassenger.com/library/config/nginx/reference/
+" https://github.com/opentracing-contrib/nginx-opentracing
+syn keyword ngxDirectiveThirdParty contained opentracing
+syn keyword ngxDirectiveThirdParty contained opentracing_fastcgi_propagate_context
+syn keyword ngxDirectiveThirdParty contained opentracing_grpc_propagate_context
+syn keyword ngxDirectiveThirdParty contained opentracing_load_tracer
+syn keyword ngxDirectiveThirdParty contained opentracing_location_operation_name
+syn keyword ngxDirectiveThirdParty contained opentracing_operation_name
+syn keyword ngxDirectiveThirdParty contained opentracing_propagate_context
+syn keyword ngxDirectiveThirdParty contained opentracing_tag
+syn keyword ngxDirectiveThirdParty contained opentracing_trace_locations
+syn keyword ngxDirectiveThirdParty contained opentracing_trust_incoming_span
+
+" https://github.com/phusion/passenger
 syn keyword ngxDirectiveThirdParty contained passenger_abort_on_startup_error
 syn keyword ngxDirectiveThirdParty contained passenger_abort_websockets_on_process_shutdown
 syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_auth_type
 syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_password
 syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_url
 syn keyword ngxDirectiveThirdParty contained passenger_admin_panel_username
+syn keyword ngxDirectiveThirdParty contained passenger_analytics_log_group
+syn keyword ngxDirectiveThirdParty contained passenger_analytics_log_user
 syn keyword ngxDirectiveThirdParty contained passenger_anonymous_telemetry_proxy
 syn keyword ngxDirectiveThirdParty contained passenger_app_env
 syn keyword ngxDirectiveThirdParty contained passenger_app_file_descriptor_ulimit
@@ -1499,20 +1531,25 @@
 syn keyword ngxDirectiveThirdParty contained passenger_app_log_file
 syn keyword ngxDirectiveThirdParty contained passenger_app_rights
 syn keyword ngxDirectiveThirdParty contained passenger_app_root
+syn keyword ngxDirectiveThirdParty contained passenger_app_start_command
 syn keyword ngxDirectiveThirdParty contained passenger_app_type
 syn keyword ngxDirectiveThirdParty contained passenger_base_uri
 syn keyword ngxDirectiveThirdParty contained passenger_buffer_response
 syn keyword ngxDirectiveThirdParty contained passenger_buffer_size
+syn keyword ngxDirectiveThirdParty contained passenger_buffer_upload
 syn keyword ngxDirectiveThirdParty contained passenger_buffers
 syn keyword ngxDirectiveThirdParty contained passenger_busy_buffers_size
 syn keyword ngxDirectiveThirdParty contained passenger_concurrency_model
 syn keyword ngxDirectiveThirdParty contained passenger_core_file_descriptor_ulimit
 syn keyword ngxDirectiveThirdParty contained passenger_ctl
 syn keyword ngxDirectiveThirdParty contained passenger_data_buffer_dir
+syn keyword ngxDirectiveThirdParty contained passenger_debug_log_file
 syn keyword ngxDirectiveThirdParty contained passenger_debugger
 syn keyword ngxDirectiveThirdParty contained passenger_default_group
 syn keyword ngxDirectiveThirdParty contained passenger_default_user
+syn keyword ngxDirectiveThirdParty contained passenger_direct_instance_request_address
 syn keyword ngxDirectiveThirdParty contained passenger_disable_anonymous_telemetry
+syn keyword ngxDirectiveThirdParty contained passenger_disable_log_prefix
 syn keyword ngxDirectiveThirdParty contained passenger_disable_security_update_check
 syn keyword ngxDirectiveThirdParty contained passenger_document_root
 syn keyword ngxDirectiveThirdParty contained passenger_dump_config_manifest
@@ -1548,8 +1585,10 @@
 syn keyword ngxDirectiveThirdParty contained passenger_pass_header
 syn keyword ngxDirectiveThirdParty contained passenger_pool_idle_time
 syn keyword ngxDirectiveThirdParty contained passenger_pre_start
+syn keyword ngxDirectiveThirdParty contained passenger_preload_bundler
 syn keyword ngxDirectiveThirdParty contained passenger_python
 syn keyword ngxDirectiveThirdParty contained passenger_read_timeout
+syn keyword ngxDirectiveThirdParty contained passenger_request_buffering
 syn keyword ngxDirectiveThirdParty contained passenger_request_queue_overflow_status_code
 syn keyword ngxDirectiveThirdParty contained passenger_resist_deployment_errors
 syn keyword ngxDirectiveThirdParty contained passenger_response_buffer_high_watermark
@@ -1561,36 +1600,36 @@
 syn keyword ngxDirectiveThirdParty contained passenger_set_header
 syn keyword ngxDirectiveThirdParty contained passenger_show_version_in_header
 syn keyword ngxDirectiveThirdParty contained passenger_socket_backlog
+syn keyword ngxDirectiveThirdParty contained passenger_spawn_dir
+syn keyword ngxDirectiveThirdParty contained passenger_spawn_exception_status_code
 syn keyword ngxDirectiveThirdParty contained passenger_spawn_method
 syn keyword ngxDirectiveThirdParty contained passenger_start_timeout
 syn keyword ngxDirectiveThirdParty contained passenger_startup_file
 syn keyword ngxDirectiveThirdParty contained passenger_stat_throttle_rate
 syn keyword ngxDirectiveThirdParty contained passenger_sticky_sessions
+syn keyword ngxDirectiveThirdParty contained passenger_sticky_sessions_cookie_attributes
 syn keyword ngxDirectiveThirdParty contained passenger_sticky_sessions_cookie_name
+syn keyword ngxDirectiveThirdParty contained passenger_temp_path
 syn keyword ngxDirectiveThirdParty contained passenger_thread_count
 syn keyword ngxDirectiveThirdParty contained passenger_turbocaching
+syn keyword ngxDirectiveThirdParty contained passenger_use_global_queue
 syn keyword ngxDirectiveThirdParty contained passenger_user
 syn keyword ngxDirectiveThirdParty contained passenger_user_switching
 syn keyword ngxDirectiveThirdParty contained passenger_vary_turbocache_by_cookie
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_analytics_log_group
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_analytics_log_user
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_debug_log_file
-syn keyword ngxDirectiveThirdPartyDeprecated contained passenger_use_global_queue
-syn keyword ngxDirectiveThirdPartyDeprecated contained rack_env
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_app_spawner_idle_time
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_env
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_framework_spawner_idle_time
-syn keyword ngxDirectiveThirdPartyDeprecated contained rails_spawn_method
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_filter
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_address
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_cert
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_gateway_port
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_key
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_proxy_address
-syn keyword ngxDirectiveThirdPartyDeprecated contained union_station_support
+syn keyword ngxDirectiveThirdParty contained rack_env
+syn keyword ngxDirectiveThirdParty contained rails_app_spawner_idle_time
+syn keyword ngxDirectiveThirdParty contained rails_env
+syn keyword ngxDirectiveThirdParty contained rails_framework_spawner_idle_time
+syn keyword ngxDirectiveThirdParty contained rails_spawn_method
+syn keyword ngxDirectiveThirdParty contained union_station_filter
+syn keyword ngxDirectiveThirdParty contained union_station_gateway_address
+syn keyword ngxDirectiveThirdParty contained union_station_gateway_cert
+syn keyword ngxDirectiveThirdParty contained union_station_gateway_port
+syn keyword ngxDirectiveThirdParty contained union_station_key
+syn keyword ngxDirectiveThirdParty contained union_station_proxy_address
+syn keyword ngxDirectiveThirdParty contained union_station_support
 
-" ngx_postgres is an upstream module that allows nginx to communicate directly with PostgreSQL database
-" https://github.com/FRiCKLE/ngx_postgres
+" https://github.com/konstruxi/ngx_postgres
 syn keyword ngxDirectiveThirdParty contained postgres_connect_timeout
 syn keyword ngxDirectiveThirdParty contained postgres_escape
 syn keyword ngxDirectiveThirdParty contained postgres_keepalive
@@ -1602,7 +1641,6 @@
 syn keyword ngxDirectiveThirdParty contained postgres_server
 syn keyword ngxDirectiveThirdParty contained postgres_set
 
-" ngx_rds_csv - Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV)
 " https://github.com/openresty/rds-csv-nginx-module
 syn keyword ngxDirectiveThirdParty contained rds_csv
 syn keyword ngxDirectiveThirdParty contained rds_csv_buffer_size
@@ -1611,7 +1649,6 @@
 syn keyword ngxDirectiveThirdParty contained rds_csv_field_separator
 syn keyword ngxDirectiveThirdParty contained rds_csv_row_terminator
 
-" ngx_rds_json - an output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON
 " https://github.com/openresty/rds-json-nginx-module
 syn keyword ngxDirectiveThirdParty contained rds_json
 syn keyword ngxDirectiveThirdParty contained rds_json_buffer_size
@@ -1624,7 +1661,6 @@
 syn keyword ngxDirectiveThirdParty contained rds_json_success_property
 syn keyword ngxDirectiveThirdParty contained rds_json_user_property
 
-" ngx_redis2 - Nginx upstream module for the Redis 2.0 protocol
 " https://github.com/openresty/redis2-nginx-module
 syn keyword ngxDirectiveThirdParty contained redis2_bind
 syn keyword ngxDirectiveThirdParty contained redis2_buffer_size
@@ -1638,7 +1674,6 @@
 syn keyword ngxDirectiveThirdParty contained redis2_read_timeout
 syn keyword ngxDirectiveThirdParty contained redis2_send_timeout
 
-" NGINX-based Media Streaming Server
 " https://github.com/arut/nginx-rtmp-module
 syn keyword ngxDirectiveThirdParty contained ack_window
 syn keyword ngxDirectiveThirdParty contained application
@@ -1750,7 +1785,6 @@
 syn keyword ngxDirectiveThirdParty contained wait_key
 syn keyword ngxDirectiveThirdParty contained wait_video
 
-" ngx_set_misc - Various set_xxx directives added to nginx's rewrite module (md5/sha1, sql/json quoting, and many more)
 " https://github.com/openresty/set-misc-nginx-module
 syn keyword ngxDirectiveThirdParty contained set_base32_alphabet
 syn keyword ngxDirectiveThirdParty contained set_base32_padding
@@ -1770,6 +1804,7 @@
 syn keyword ngxDirectiveThirdParty contained set_hmac_sha256
 syn keyword ngxDirectiveThirdParty contained set_if_empty
 syn keyword ngxDirectiveThirdParty contained set_local_today
+syn keyword ngxDirectiveThirdParty contained set_md5
 syn keyword ngxDirectiveThirdParty contained set_misc_base32_padding
 syn keyword ngxDirectiveThirdParty contained set_quote_json_str
 syn keyword ngxDirectiveThirdParty contained set_quote_pgsql_str
@@ -1778,20 +1813,18 @@
 syn keyword ngxDirectiveThirdParty contained set_rotate
 syn keyword ngxDirectiveThirdParty contained set_secure_random_alphanum
 syn keyword ngxDirectiveThirdParty contained set_secure_random_lcalpha
+syn keyword ngxDirectiveThirdParty contained set_sha1
 syn keyword ngxDirectiveThirdParty contained set_unescape_uri
 
-" nginx-sflow-module
 " https://github.com/sflow/nginx-sflow-module
 syn keyword ngxDirectiveThirdParty contained sflow
 
-" Shibboleth auth request module for Nginx
 " https://github.com/nginx-shib/nginx-http-shibboleth
 syn keyword ngxDirectiveThirdParty contained shib_request
 syn keyword ngxDirectiveThirdParty contained shib_request_set
 syn keyword ngxDirectiveThirdParty contained shib_request_use_headers
 
-" nginx module which adds ability to cache static files
-" https://github.com/FRiCKLE/ngx_slowfs_cache
+" https://github.com/baysao/ngx_slowfs_cache
 syn keyword ngxDirectiveThirdParty contained slowfs_big_file_size
 syn keyword ngxDirectiveThirdParty contained slowfs_cache
 syn keyword ngxDirectiveThirdParty contained slowfs_cache_key
@@ -1801,8 +1834,7 @@
 syn keyword ngxDirectiveThirdParty contained slowfs_cache_valid
 syn keyword ngxDirectiveThirdParty contained slowfs_temp_path
 
-" Dynamic Image Transformation Module For nginx
-" https://github.com/cubicdaiya/ngx_small_light
+" https://github.com/kawakibi/ngx_small_light
 syn keyword ngxDirectiveThirdParty contained small_light
 syn keyword ngxDirectiveThirdParty contained small_light_buffer
 syn keyword ngxDirectiveThirdParty contained small_light_getparam_mode
@@ -1812,7 +1844,6 @@
 syn keyword ngxDirectiveThirdParty contained small_light_radius_max
 syn keyword ngxDirectiveThirdParty contained small_light_sigma_max
 
-" ngx_srcache - Transparent subrequest-based caching layout for arbitrary nginx locations
 " https://github.com/openresty/srcache-nginx-module
 syn keyword ngxDirectiveThirdParty contained srcache_buffer
 syn keyword ngxDirectiveThirdParty contained srcache_default_expire
@@ -1835,7 +1866,6 @@
 syn keyword ngxDirectiveThirdParty contained srcache_store_skip
 syn keyword ngxDirectiveThirdParty contained srcache_store_statuses
 
-" NGINX-based VOD Packager
 " https://github.com/kaltura/nginx-vod-module
 syn keyword ngxDirectiveThirdParty contained vod
 syn keyword ngxDirectiveThirdParty contained vod_align_segments_to_key_frames
@@ -1875,6 +1905,7 @@
 syn keyword ngxDirectiveThirdParty contained vod_manifest_duration_policy
 syn keyword ngxDirectiveThirdParty contained vod_manifest_segment_durations_mode
 syn keyword ngxDirectiveThirdParty contained vod_mapping_cache
+syn keyword ngxDirectiveThirdParty contained vod_max_frame_count
 syn keyword ngxDirectiveThirdParty contained vod_max_frames_size
 syn keyword ngxDirectiveThirdParty contained vod_max_mapping_response_size
 syn keyword ngxDirectiveThirdParty contained vod_max_metadata_size
@@ -1901,6 +1932,7 @@
 syn keyword ngxDirectiveThirdParty contained vod_secret_key
 syn keyword ngxDirectiveThirdParty contained vod_segment_count_policy
 syn keyword ngxDirectiveThirdParty contained vod_segment_duration
+syn keyword ngxDirectiveThirdParty contained vod_segment_max_frame_count
 syn keyword ngxDirectiveThirdParty contained vod_segments_base_url
 syn keyword ngxDirectiveThirdParty contained vod_source_clip_map_uri
 syn keyword ngxDirectiveThirdParty contained vod_speed_param_name
@@ -1910,7 +1942,6 @@
 syn keyword ngxDirectiveThirdParty contained vod_upstream_extra_args
 syn keyword ngxDirectiveThirdParty contained vod_upstream_location
 
-" Nginx virtual host traffic status module
 " https://github.com/vozlt/nginx-module-vts
 syn keyword ngxDirectiveThirdParty contained vhost_traffic_status
 syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_average_method
@@ -1934,7 +1965,6 @@
 syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_set_by_filter
 syn keyword ngxDirectiveThirdParty contained vhost_traffic_status_zone
 
-" xss-nginx-module - Native cross-site scripting support in nginx
 " https://github.com/openresty/xss-nginx-module
 syn keyword ngxDirectiveThirdParty contained xss_callback_arg
 syn keyword ngxDirectiveThirdParty contained xss_check_status
@@ -1943,471 +1973,6 @@
 syn keyword ngxDirectiveThirdParty contained xss_output_type
 syn keyword ngxDirectiveThirdParty contained xss_override_status
 
-" Add support for array-typed variables to nginx config files
-" https://github.com/openresty/array-var-nginx-module
-syn keyword ngxDirectiveThirdParty contained array_join
-syn keyword ngxDirectiveThirdParty contained array_map
-syn keyword ngxDirectiveThirdParty contained array_map_op
-syn keyword ngxDirectiveThirdParty contained array_split
-
-" NGINX module for Brotli compression
-" https://github.com/eustas/ngx_brotli
-syn keyword ngxDirectiveThirdParty contained brotli
-syn keyword ngxDirectiveThirdParty contained brotli_buffers
-syn keyword ngxDirectiveThirdParty contained brotli_comp_level
-syn keyword ngxDirectiveThirdParty contained brotli_min_length
-syn keyword ngxDirectiveThirdParty contained brotli_static
-syn keyword ngxDirectiveThirdParty contained brotli_types
-syn keyword ngxDirectiveThirdParty contained brotli_window
-
-" form-input-nginx-module
-" https://github.com/calio/form-input-nginx-module
-syn keyword ngxDirectiveThirdParty contained set_form_input
-syn keyword ngxDirectiveThirdParty contained set_form_input_multi
-
-" character conversion nginx module using libiconv
-" https://github.com/calio/iconv-nginx-module
-syn keyword ngxDirectiveThirdParty contained iconv_buffer_size
-syn keyword ngxDirectiveThirdParty contained iconv_filter
-syn keyword ngxDirectiveThirdParty contained set_iconv
-
-" 3rd party modules list taken from
-" https://www.nginx.com/resources/wiki/modules/
-" ---------------------------------------------
-
-" Nginx Module for Authenticating Akamai G2O requests
-" https://github.com/kaltura/nginx_mod_akamai_g2o
-syn keyword ngxDirectiveThirdParty contained g2o
-syn keyword ngxDirectiveThirdParty contained g2o_data_header
-syn keyword ngxDirectiveThirdParty contained g2o_hash_function
-syn keyword ngxDirectiveThirdParty contained g2o_key
-syn keyword ngxDirectiveThirdParty contained g2o_log_level
-syn keyword ngxDirectiveThirdParty contained g2o_nonce
-syn keyword ngxDirectiveThirdParty contained g2o_sign_header
-syn keyword ngxDirectiveThirdParty contained g2o_time_window
-syn keyword ngxDirectiveThirdParty contained g2o_version
-
-" nginx_lua_module
-" https://github.com/alacner/nginx_lua_module
-syn keyword ngxDirectiveThirdParty contained lua_file
-
-" Nginx Audio Track for HTTP Live Streaming
-" https://github.com/flavioribeiro/nginx-audio-track-for-hls-module
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_output_format
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_output_header
-syn keyword ngxDirectiveThirdParty contained ngx_hls_audio_track_rootpath
-
-" A Nginx module to dump backtrace when a worker process exits abnormally
-" https://github.com/alibaba/nginx-backtrace
-syn keyword ngxDirectiveThirdParty contained backtrace_log
-syn keyword ngxDirectiveThirdParty contained backtrace_max_stack_size
-
-" circle_gif module
-" https://github.com/evanmiller/nginx_circle_gif
-syn keyword ngxDirectiveThirdParty contained circle_gif
-syn keyword ngxDirectiveThirdParty contained circle_gif_max_radius
-syn keyword ngxDirectiveThirdParty contained circle_gif_min_radius
-syn keyword ngxDirectiveThirdParty contained circle_gif_step_radius
-
-" Upstream Consistent Hash
-" https://github.com/replay/ngx_http_consistent_hash
-syn keyword ngxDirectiveThirdParty contained consistent_hash
-
-" Nginx module for etags on dynamic content
-" https://github.com/kali/nginx-dynamic-etags
-syn keyword ngxDirectiveThirdParty contained dynamic_etags
-
-" Enhanced Nginx Memcached Module
-" https://github.com/bpaquet/ngx_http_enhanced_memcached_module
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_allow_delete
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_allow_put
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_bind
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_buffer_size
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_connect_timeout
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_flush
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_flush_namespace
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_hash_keys_with_md5
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_pass
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_read_timeout
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_send_timeout
-syn keyword ngxDirectiveThirdParty contained enhanced_memcached_stats
-
-" nginx max connections queue
-" https://github.com/ezmobius/nginx-ey-balancer
-syn keyword ngxDirectiveThirdParty contained max_connections_max_queue_length
-syn keyword ngxDirectiveThirdParty contained max_connections_queue_timeout
-
-" Nginx module for POST authentication and authorization
-" https://github.com/veruu/ngx_form_auth
-syn keyword ngxDirectiveThirdParty contained form_auth
-syn keyword ngxDirectiveThirdParty contained form_auth_login
-syn keyword ngxDirectiveThirdParty contained form_auth_pam_service
-syn keyword ngxDirectiveThirdParty contained form_auth_password
-syn keyword ngxDirectiveThirdParty contained form_auth_remote_user
-
-" ngx_http_accounting_module
-" https://github.com/Lax/ngx_http_accounting_module
-syn keyword ngxDirectiveThirdParty contained accounting
-syn keyword ngxDirectiveThirdParty contained accounting_id
-syn keyword ngxDirectiveThirdParty contained accounting_interval
-syn keyword ngxDirectiveThirdParty contained accounting_log
-syn keyword ngxDirectiveThirdParty contained accounting_perturb
-
-" concatenating files in a given context: CSS and JS files usually
-" https://github.com/alibaba/nginx-http-concat
-syn keyword ngxDirectiveThirdParty contained concat
-syn keyword ngxDirectiveThirdParty contained concat_delimiter
-syn keyword ngxDirectiveThirdParty contained concat_ignore_file_error
-syn keyword ngxDirectiveThirdParty contained concat_max_files
-syn keyword ngxDirectiveThirdParty contained concat_types
-syn keyword ngxDirectiveThirdParty contained concat_unique
-
-" update upstreams' config by restful interface
-" https://github.com/yzprofile/ngx_http_dyups_module
-syn keyword ngxDirectiveThirdParty contained dyups_interface
-syn keyword ngxDirectiveThirdParty contained dyups_shm_zone_size
-
-" add given content to the end of the response according to the condition specified
-" https://github.com/flygoast/ngx_http_footer_if_filter
-syn keyword ngxDirectiveThirdParty contained footer_if
-
-" NGINX HTTP Internal Redirect Module
-" https://github.com/flygoast/ngx_http_internal_redirect
-syn keyword ngxDirectiveThirdParty contained internal_redirect_if
-syn keyword ngxDirectiveThirdParty contained internal_redirect_if_no_postpone
-
-" nginx-ip-blocker
-" https://github.com/tmthrgd/nginx-ip-blocker
-syn keyword ngxDirectiveThirdParty contained ip_blocker
-
-" IP2Location Nginx
-" https://github.com/chrislim2888/ip2location-nginx
-syn keyword ngxDirectiveThirdParty contained ip2location_database
-
-" Limit upload rate
-" https://github.com/cfsego/limit_upload_rate
-syn keyword ngxDirectiveThirdParty contained limit_upload_rate
-syn keyword ngxDirectiveThirdParty contained limit_upload_rate_after
-syn keyword ngxDirectiveThirdParty contained limit_upload_rate_log_level
-
-" limit the number of connections to upstream
-" https://github.com/cfsego/nginx-limit-upstream
-syn keyword ngxDirectiveThirdParty contained limit_upstream_conn
-syn keyword ngxDirectiveThirdParty contained limit_upstream_log_level
-syn keyword ngxDirectiveThirdParty contained limit_upstream_zone
-
-" conditional accesslog for nginx
-" https://github.com/cfsego/ngx_log_if
-syn keyword ngxDirectiveThirdParty contained access_log_bypass_if
-
-" log messages over ZeroMQ
-" https://github.com/alticelabs/nginx-log-zmq
-syn keyword ngxDirectiveThirdParty contained log_zmq_endpoint
-syn keyword ngxDirectiveThirdParty contained log_zmq_format
-syn keyword ngxDirectiveThirdParty contained log_zmq_off
-syn keyword ngxDirectiveThirdParty contained log_zmq_server
-
-" simple module to uppercase/lowercase strings in the nginx config
-" https://github.com/replay/ngx_http_lower_upper_case
-syn keyword ngxDirectiveThirdParty contained lower
-syn keyword ngxDirectiveThirdParty contained upper
-
-" content filter for nginx, which returns the md5 hash of the content otherwise returned
-" https://github.com/kainswor/nginx_md5_filter
-syn keyword ngxDirectiveThirdParty contained md5_filter
-
-" Non-blocking upstream module for Nginx to connect to MongoDB
-" https://github.com/simpl/ngx_mongo
-syn keyword ngxDirectiveThirdParty contained mongo_auth
-syn keyword ngxDirectiveThirdParty contained mongo_bind
-syn keyword ngxDirectiveThirdParty contained mongo_buffer_size
-syn keyword ngxDirectiveThirdParty contained mongo_buffering
-syn keyword ngxDirectiveThirdParty contained mongo_buffers
-syn keyword ngxDirectiveThirdParty contained mongo_busy_buffers_size
-syn keyword ngxDirectiveThirdParty contained mongo_connect_timeout
-syn keyword ngxDirectiveThirdParty contained mongo_json
-syn keyword ngxDirectiveThirdParty contained mongo_next_upstream
-syn keyword ngxDirectiveThirdParty contained mongo_pass
-syn keyword ngxDirectiveThirdParty contained mongo_query
-syn keyword ngxDirectiveThirdParty contained mongo_read_timeout
-syn keyword ngxDirectiveThirdParty contained mongo_send_timeout
-
-" Nginx OCSP processing module designed for response caching
-" https://github.com/kyprizel/nginx_ocsp_proxy-module
-syn keyword ngxDirectiveThirdParty contained ocsp_cache_timeout
-syn keyword ngxDirectiveThirdParty contained ocsp_proxy
-
-" Nginx OpenSSL version check at startup
-" https://github.com/apcera/nginx-openssl-version
-syn keyword ngxDirectiveThirdParty contained openssl_builddate_minimum
-syn keyword ngxDirectiveThirdParty contained openssl_version_minimum
-
-" Automatic PageSpeed optimization module for Nginx
-" https://github.com/pagespeed/ngx_pagespeed
-syn keyword ngxDirectiveThirdParty contained pagespeed
-
-" PECL Memcache standard hashing compatible loadbalancer for Nginx
-" https://github.com/replay/ngx_http_php_memcache_standard_balancer
-syn keyword ngxDirectiveThirdParty contained hash_key
-
-" nginx module to parse php sessions
-" https://github.com/replay/ngx_http_php_session
-syn keyword ngxDirectiveThirdParty contained php_session_parse
-syn keyword ngxDirectiveThirdParty contained php_session_strip_formatting
-
-" Nginx HTTP rDNS module
-" https://github.com/flant/nginx-http-rdns
-syn keyword ngxDirectiveThirdParty contained rdns
-syn keyword ngxDirectiveThirdParty contained rdns_allow
-syn keyword ngxDirectiveThirdParty contained rdns_deny
-
-" Streaming regular expression replacement in response bodies
-" https://github.com/openresty/replace-filter-nginx-module
-syn keyword ngxDirectiveThirdParty contained replace_filter
-syn keyword ngxDirectiveThirdParty contained replace_filter_last_modified
-syn keyword ngxDirectiveThirdParty contained replace_filter_max_buffered_size
-syn keyword ngxDirectiveThirdParty contained replace_filter_skip
-syn keyword ngxDirectiveThirdParty contained replace_filter_types
-
-" Link RRDtool's graphing facilities directly into nginx
-" https://github.com/evanmiller/mod_rrd_graph
-syn keyword ngxDirectiveThirdParty contained rrd_graph
-syn keyword ngxDirectiveThirdParty contained rrd_graph_root
-
-" Module for nginx to proxy rtmp using http protocol
-" https://github.com/kwojtek/nginx-rtmpt-proxy-module
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_http_timeout
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_rtmp_timeout
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_stat
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_stylesheet
-syn keyword ngxDirectiveThirdParty contained rtmpt_proxy_target
-
-" Syntactically Awesome NGINX Module
-" https://github.com/mneudert/sass-nginx-module
-syn keyword ngxDirectiveThirdParty contained sass_compile
-syn keyword ngxDirectiveThirdParty contained sass_error_log
-syn keyword ngxDirectiveThirdParty contained sass_include_path
-syn keyword ngxDirectiveThirdParty contained sass_indent
-syn keyword ngxDirectiveThirdParty contained sass_is_indented_syntax
-syn keyword ngxDirectiveThirdParty contained sass_linefeed
-syn keyword ngxDirectiveThirdParty contained sass_output_style
-syn keyword ngxDirectiveThirdParty contained sass_precision
-syn keyword ngxDirectiveThirdParty contained sass_source_comments
-syn keyword ngxDirectiveThirdParty contained sass_source_map_embed
-
-" Nginx Selective Cache Purge Module
-" https://github.com/wandenberg/nginx-selective-cache-purge-module
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_query
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_database
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_host
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_password
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_port
-syn keyword ngxDirectiveThirdParty contained selective_cache_purge_redis_unix_socket
-
-" cconv nginx module
-" https://github.com/liseen/set-cconv-nginx-module
-syn keyword ngxDirectiveThirdParty contained set_cconv_to_simp
-syn keyword ngxDirectiveThirdParty contained set_cconv_to_trad
-syn keyword ngxDirectiveThirdParty contained set_pinyin_to_normal
-
-" Nginx module that allows the setting of variables to the value of a variety of hashes
-" https://github.com/simpl/ngx_http_set_hash
-syn keyword ngxDirectiveThirdParty contained set_md5
-syn keyword ngxDirectiveThirdParty contained set_md5_upper
-syn keyword ngxDirectiveThirdParty contained set_murmur2
-syn keyword ngxDirectiveThirdParty contained set_murmur2_upper
-syn keyword ngxDirectiveThirdParty contained set_sha1
-syn keyword ngxDirectiveThirdParty contained set_sha1_upper
-
-" Nginx module to set the language of a request based on a number of options
-" https://github.com/simpl/ngx_http_set_lang
-syn keyword ngxDirectiveThirdParty contained lang_cookie
-syn keyword ngxDirectiveThirdParty contained lang_get_var
-syn keyword ngxDirectiveThirdParty contained lang_host
-syn keyword ngxDirectiveThirdParty contained lang_list
-syn keyword ngxDirectiveThirdParty contained lang_post_var
-syn keyword ngxDirectiveThirdParty contained lang_referer
-syn keyword ngxDirectiveThirdParty contained set_lang
-syn keyword ngxDirectiveThirdParty contained set_lang_method
-
-" Nginx Sorted Querystring Module
-" https://github.com/wandenberg/nginx-sorted-querystring-module
-syn keyword ngxDirectiveThirdParty contained sorted_querysting_filter_parameter
-
-" Nginx upstream module for Sphinx 2.x search daemon
-" https://github.com/reeteshranjan/sphinx2-nginx-module
-syn keyword ngxDirectiveThirdParty contained sphinx2_bind
-syn keyword ngxDirectiveThirdParty contained sphinx2_buffer_size
-syn keyword ngxDirectiveThirdParty contained sphinx2_connect_timeout
-syn keyword ngxDirectiveThirdParty contained sphinx2_next_upstream
-syn keyword ngxDirectiveThirdParty contained sphinx2_pass
-syn keyword ngxDirectiveThirdParty contained sphinx2_read_timeout
-syn keyword ngxDirectiveThirdParty contained sphinx2_send_timeout
-
-" Nginx module for retrieving user attributes and groups from SSSD
-" https://github.com/veruu/ngx_sssd_info
-syn keyword ngxDirectiveThirdParty contained sssd_info
-syn keyword ngxDirectiveThirdParty contained sssd_info_attribute
-syn keyword ngxDirectiveThirdParty contained sssd_info_attribute_separator
-syn keyword ngxDirectiveThirdParty contained sssd_info_attributes
-syn keyword ngxDirectiveThirdParty contained sssd_info_group
-syn keyword ngxDirectiveThirdParty contained sssd_info_group_separator
-syn keyword ngxDirectiveThirdParty contained sssd_info_groups
-syn keyword ngxDirectiveThirdParty contained sssd_info_output_to
-
-" An nginx module for sending statistics to statsd
-" https://github.com/zebrafishlabs/nginx-statsd
-syn keyword ngxDirectiveThirdParty contained statsd_count
-syn keyword ngxDirectiveThirdParty contained statsd_sample_rate
-syn keyword ngxDirectiveThirdParty contained statsd_server
-syn keyword ngxDirectiveThirdParty contained statsd_timing
-
-" ngx_stream_echo - TCP/stream echo module for NGINX (a port of the ngx_http_echo module)
-" https://github.com/openresty/stream-echo-nginx-module
-syn keyword ngxDirectiveThirdParty contained echo
-syn keyword ngxDirectiveThirdParty contained echo_client_error_log_level
-syn keyword ngxDirectiveThirdParty contained echo_discard_request
-syn keyword ngxDirectiveThirdParty contained echo_duplicate
-syn keyword ngxDirectiveThirdParty contained echo_flush_wait
-syn keyword ngxDirectiveThirdParty contained echo_lingering_close
-syn keyword ngxDirectiveThirdParty contained echo_lingering_time
-syn keyword ngxDirectiveThirdParty contained echo_lingering_timeout
-syn keyword ngxDirectiveThirdParty contained echo_read_buffer_size
-syn keyword ngxDirectiveThirdParty contained echo_read_bytes
-syn keyword ngxDirectiveThirdParty contained echo_read_line
-syn keyword ngxDirectiveThirdParty contained echo_read_timeout
-syn keyword ngxDirectiveThirdParty contained echo_request_data
-syn keyword ngxDirectiveThirdParty contained echo_send_timeout
-syn keyword ngxDirectiveThirdParty contained echo_sleep
-
-" Embed the power of Lua into NGINX TCP/UDP servers
-" https://github.com/openresty/stream-lua-nginx-module
-syn keyword ngxDirectiveThirdParty contained lua_add_variable
-syn keyword ngxDirectiveThirdParty contained preread_by_lua_block
-syn keyword ngxDirectiveThirdParty contained preread_by_lua_file
-syn keyword ngxDirectiveThirdParty contained preread_by_lua_no_postpone
-
-" nginx-upsync-module
-" https://github.com/weibocom/nginx-upsync-module
-syn keyword ngxDirectiveThirdParty contained upstream_show
-syn keyword ngxDirectiveThirdParty contained upsync
-syn keyword ngxDirectiveThirdParty contained upsync_dump_path
-syn keyword ngxDirectiveThirdParty contained upsync_lb
-
-" Whitespace stripper for nginx
-" https://github.com/evanmiller/mod_strip
-syn keyword ngxDirectiveThirdParty contained strip
-
-" Split one big HTTP/Range request to multiple subrange requesets
-" https://github.com/Qihoo360/ngx_http_subrange_module
-syn keyword ngxDirectiveThirdParty contained subrange
-
-" summarizer-nginx-module
-" https://github.com/reeteshranjan/summarizer-nginx-module
-syn keyword ngxDirectiveThirdParty contained summarizer_bind
-syn keyword ngxDirectiveThirdParty contained summarizer_buffer_size
-syn keyword ngxDirectiveThirdParty contained summarizer_connect_timeout
-syn keyword ngxDirectiveThirdParty contained summarizer_next_upstream
-syn keyword ngxDirectiveThirdParty contained summarizer_pass
-syn keyword ngxDirectiveThirdParty contained summarizer_read_timeout
-syn keyword ngxDirectiveThirdParty contained summarizer_send_timeout
-
-" nginx module providing API to communicate with supervisord and manage (start/stop) backends on-demand
-" https://github.com/FRiCKLE/ngx_supervisord
-syn keyword ngxDirectiveThirdParty contained supervisord
-syn keyword ngxDirectiveThirdParty contained supervisord_inherit_backend_status
-syn keyword ngxDirectiveThirdParty contained supervisord_name
-syn keyword ngxDirectiveThirdParty contained supervisord_start
-syn keyword ngxDirectiveThirdParty contained supervisord_stop
-
-" simple robot mitigation module using cookie based challenge/response technique. Not supported any more.
-" https://github.com/kyprizel/testcookie-nginx-module
-syn keyword ngxDirectiveThirdParty contained testcookie
-syn keyword ngxDirectiveThirdParty contained testcookie_arg
-syn keyword ngxDirectiveThirdParty contained testcookie_deny_keepalive
-syn keyword ngxDirectiveThirdParty contained testcookie_domain
-syn keyword ngxDirectiveThirdParty contained testcookie_expires
-syn keyword ngxDirectiveThirdParty contained testcookie_fallback
-syn keyword ngxDirectiveThirdParty contained testcookie_get_only
-syn keyword ngxDirectiveThirdParty contained testcookie_httponly_flag
-syn keyword ngxDirectiveThirdParty contained testcookie_https_location
-syn keyword ngxDirectiveThirdParty contained testcookie_internal
-syn keyword ngxDirectiveThirdParty contained testcookie_max_attempts
-syn keyword ngxDirectiveThirdParty contained testcookie_name
-syn keyword ngxDirectiveThirdParty contained testcookie_p3p
-syn keyword ngxDirectiveThirdParty contained testcookie_pass
-syn keyword ngxDirectiveThirdParty contained testcookie_path
-syn keyword ngxDirectiveThirdParty contained testcookie_port_in_redirect
-syn keyword ngxDirectiveThirdParty contained testcookie_redirect_via_refresh
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie_iv
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_encrypt_cookie_key
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_status
-syn keyword ngxDirectiveThirdParty contained testcookie_refresh_template
-syn keyword ngxDirectiveThirdParty contained testcookie_samesite
-syn keyword ngxDirectiveThirdParty contained testcookie_secret
-syn keyword ngxDirectiveThirdParty contained testcookie_secure_flag
-syn keyword ngxDirectiveThirdParty contained testcookie_session
-syn keyword ngxDirectiveThirdParty contained testcookie_whitelist
-
-" ngx_http_types_filter_module
-" https://github.com/flygoast/ngx_http_types_filter
-syn keyword ngxDirectiveThirdParty contained types_filter
-syn keyword ngxDirectiveThirdParty contained types_filter_use_default
-
-" A module allowing the nginx to use files embedded in a zip file
-" https://github.com/youzee/nginx-unzip-module
-syn keyword ngxDirectiveThirdParty contained file_in_unzip
-syn keyword ngxDirectiveThirdParty contained file_in_unzip_archivefile
-syn keyword ngxDirectiveThirdParty contained file_in_unzip_extract
-
-" An asynchronous domain name resolve module for nginx upstream
-" https://github.com/wdaike/ngx_upstream_jdomain
-syn keyword ngxDirectiveThirdParty contained jdomain
-
-" Nginx url encoding converting module
-" https://github.com/vozlt/nginx-module-url
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_alloc_size
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_alloc_size_x
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_from
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_phase
-syn keyword ngxDirectiveThirdParty contained url_encoding_convert_to
-
-" A nginx module to match browsers and crawlers
-" https://github.com/alibaba/nginx-http-user-agent
-syn keyword ngxDirectiveThirdParty contained user_agent
-
-" nginx load-balancer module implementing ketama consistent hashing
-" https://github.com/flygoast/ngx_http_upstream_ketama_chash
-syn keyword ngxDirectiveThirdParty contained ketama_chash
-
-" nginx-sticky-module-ng
-" https://github.com/ayty-adrianomartins/nginx-sticky-module-ng
-syn keyword ngxDirectiveThirdParty contained sticky_no_fallback
-
-" dynamic linking and call the function of your application
-" https://github.com/Taymindis/nginx-link-function
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_add_prop
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_add_req_header
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_ca_cert
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_call
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_download_link_lib
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_lib
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_shm_size
-syn keyword ngxDirectiveThirdParty contained ngx_link_func_subrequest
-
-" purge content from FastCGI, proxy, SCGI and uWSGI caches
-" https://github.com/torden/ngx_cache_purge
-syn keyword ngxDirectiveThirdParty contained cache_purge_response_type
-
-" set the flags "HttpOnly", "secure" and "SameSite" for cookies
-" https://github.com/AirisX/nginx_cookie_flag_module
-syn keyword ngxDirectiveThirdParty contained set_cookie_flag
-
-" Embed websockify into Nginx (convert any tcp connection into websocket)
 " https://github.com/tg123/websockify-nginx-module
 syn keyword ngxDirectiveThirdParty contained websockify_buffer_size
 syn keyword ngxDirectiveThirdParty contained websockify_connect_timeout
@@ -2415,55 +1980,6 @@
 syn keyword ngxDirectiveThirdParty contained websockify_read_timeout
 syn keyword ngxDirectiveThirdParty contained websockify_send_timeout
 
-" IP2Location Nginx
-" https://github.com/ip2location/ip2location-nginx
-syn keyword ngxDirectiveThirdParty contained ip2location_addresstype
-syn keyword ngxDirectiveThirdParty contained ip2location_areacode
-syn keyword ngxDirectiveThirdParty contained ip2location_category
-syn keyword ngxDirectiveThirdParty contained ip2location_city
-syn keyword ngxDirectiveThirdParty contained ip2location_country_long
-syn keyword ngxDirectiveThirdParty contained ip2location_country_short
-syn keyword ngxDirectiveThirdParty contained ip2location_domain
-syn keyword ngxDirectiveThirdParty contained ip2location_elevation
-syn keyword ngxDirectiveThirdParty contained ip2location_iddcode
-syn keyword ngxDirectiveThirdParty contained ip2location_isp
-syn keyword ngxDirectiveThirdParty contained ip2location_latitude
-syn keyword ngxDirectiveThirdParty contained ip2location_longitude
-syn keyword ngxDirectiveThirdParty contained ip2location_mcc
-syn keyword ngxDirectiveThirdParty contained ip2location_mnc
-syn keyword ngxDirectiveThirdParty contained ip2location_mobilebrand
-syn keyword ngxDirectiveThirdParty contained ip2location_netspeed
-syn keyword ngxDirectiveThirdParty contained ip2location_proxy
-syn keyword ngxDirectiveThirdParty contained ip2location_proxy_recursive
-syn keyword ngxDirectiveThirdParty contained ip2location_region
-syn keyword ngxDirectiveThirdParty contained ip2location_timezone
-syn keyword ngxDirectiveThirdParty contained ip2location_usagetype
-syn keyword ngxDirectiveThirdParty contained ip2location_weatherstationcode
-syn keyword ngxDirectiveThirdParty contained ip2location_weatherstationname
-syn keyword ngxDirectiveThirdParty contained ip2location_zipcode
-
-" IP2Proxy module for Nginx
-" https://github.com/ip2location/ip2proxy-nginx
-syn keyword ngxDirectiveThirdParty contained ip2proxy_as
-syn keyword ngxDirectiveThirdParty contained ip2proxy_asn
-syn keyword ngxDirectiveThirdParty contained ip2proxy_city
-syn keyword ngxDirectiveThirdParty contained ip2proxy_country_long
-syn keyword ngxDirectiveThirdParty contained ip2proxy_country_short
-syn keyword ngxDirectiveThirdParty contained ip2proxy_database
-syn keyword ngxDirectiveThirdParty contained ip2proxy_domain
-syn keyword ngxDirectiveThirdParty contained ip2proxy_isp
-syn keyword ngxDirectiveThirdParty contained ip2proxy_is_proxy
-syn keyword ngxDirectiveThirdParty contained ip2proxy_last_seen
-syn keyword ngxDirectiveThirdParty contained ip2proxy_provider
-syn keyword ngxDirectiveThirdParty contained ip2proxy_proxy
-syn keyword ngxDirectiveThirdParty contained ip2proxy_proxy_recursive
-syn keyword ngxDirectiveThirdParty contained ip2proxy_proxy_type
-syn keyword ngxDirectiveThirdParty contained ip2proxy_region
-syn keyword ngxDirectiveThirdParty contained ip2proxy_threat
-syn keyword ngxDirectiveThirdParty contained ip2proxy_usage_type
-
-
-
 " highlight
 
 hi def link ngxComment Comment