changeset 726:78469331407e

Update syntaxes
author nanaya <me@nanaya.net>
date Mon, 19 Aug 2024 17:04:13 +0900
parents 0a896ffe3029
children 49538e2aad65
files vendor/vim-packs/ctrlp.vim/autoload/ctrlp/tag.vim vendor/vim-packs/srcery-vim/.github/workflows/lint.yaml vendor/vim-packs/srcery-vim/README.md vendor/vim-packs/srcery-vim/after/plugin/srcery.vim vendor/vim-packs/srcery-vim/after/syntax/html.vim vendor/vim-packs/srcery-vim/after/syntax/javascript.vim vendor/vim-packs/srcery-vim/after/syntax/markdown.vim vendor/vim-packs/srcery-vim/autoload/srcery.vim vendor/vim-packs/srcery-vim/colors/srcery.vim vendor/vim-packs/srcery-vim/doc/srcery.txt vendor/vim-packs/srcery-vim/lua/lualine/themes/srcery.lua vendor/vim-syntax/css.vim vendor/vim-syntax/javascript.vim vendor/vim-syntax/json.vim vendor/vim-syntax/nginx.vim vendor/vim-syntax/ruby.vim vendor/vim-syntax/shared/typescriptcommon.vim vendor/vim-syntax/slim.vim vendor/vim-syntax/typescript.vim vendor/vim-syntax/typescriptreact.vim
diffstat 20 files changed, 754 insertions(+), 471 deletions(-) [+]
line wrap: on
line diff
--- a/vendor/vim-packs/ctrlp.vim/autoload/ctrlp/tag.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/ctrlp.vim/autoload/ctrlp/tag.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -116,10 +116,14 @@
 		if cmd != ''
 			exe cmd
 		en
-		let save_cst = &cst
-		set cst&
+		if exists('&cst')
+			let save_cst = &cst
+			set cst&
+		en
 		cal feedkeys(":".( utg ? fdcnt[2] : "" )."ta ".tg."\r", 'nt')
-		let &cst = save_cst
+		if exists('&cst')
+			let &cst = save_cst
+		en
 	el
 		let ext = ""
 		if fdcnt[1] < 2 && fdcnt[2]
--- a/vendor/vim-packs/srcery-vim/.github/workflows/lint.yaml	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/.github/workflows/lint.yaml	Mon Aug 19 17:04:13 2024 +0900
@@ -11,8 +11,8 @@
     runs-on: ubuntu-latest
     name: Linting
     steps:
-      - uses: actions/checkout@v3
-      - uses: actions/setup-python@v4
+      - uses: actions/checkout@v4
+      - uses: actions/setup-python@v5
         with:
           python-version: "3.x"
       - name: Install Vint
--- a/vendor/vim-packs/srcery-vim/README.md	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/README.md	Mon Aug 19 17:04:13 2024 +0900
@@ -1,8 +1,72 @@
-![logo](https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/title.png)
+<p align="center">
+  <img src="https://raw.githubusercontent.com/srcery-colors/srcery-assets/master/src/logo_border.svg">
+</p>
+
+<p align="center">
+  <a href="https://srcery.sh">
+    <img src="https://img.shields.io/static/v1?label=&message=website&style=flat&color=5B5B5B&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7MAAAOzAGxoQZ+AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAdJJREFUOI1jDAgIYMAFTp8+EcrIyMRqYmK2DJcaJlwS548fV2RjYJnNxsg87fzx44okGbBhwwaWvyyMSzM4dfgrlGz5/7IwLt2wYQML0QZIS0s2mLFIWIZxqDKkyJowuAirWkpLSzYQZcDZsyfthJnYK2p4TBkYGRgYGBkYGXo0PBjE2XgqT58+7oTXgHPnzgky/GNYXMFlwizEyAEXF2bjYujX9GJiYmBedPr0aWGcBvz793teOIeanBWrJIZT7YQUGFJkTaQZGf4v3LBhAyOGAWdPn8hUZxYIyODUweZVBgYGBoYqZXsGQz5Jb1lpiQycYUAqgBtgbGox/ebfDxtmfL+CU3Hb3YMM5z893/r46YsZWF3AxMSatPLHrUfHfj/H0Hzo3QOGOY/PPP3PwBgfEBDwH6sBRkZG7xmYGGI7vp35++7/D7j421/fGAqvb/v3j+FvnKmp6VusXoB7xdj80Nt/Pztavpxm+M/AwPCf4T9DyY0dDC9/fWk3NbXchzMMkMHTp88bTv15cXzVj9sMcx6fYdjz9vbxp0+fN2BTy4grN54/flyRiYX1PCMTI8PfX78MDS0t72NThzMaDS0t7//5/y/z99+/mbg0MzAwMAAAVbWgDHTwVjUAAAAASUVORK5CYII=">
+  </a>
+  <a href="https://discord.gg/G6vBMmZ">
+    <img src="https://img.shields.io/discord/714101903377694741?color=%232C78BF&label=discord&logo=discord">
+  </a>
+  <a href="https://github.com/orgs/srcery-colors/repositories">
+    <img src="https://img.shields.io/github/actions/workflow/status/srcery-colors/srcery-vim/lint.yaml?color=%2398BC37&logo=github">
+  </a>
+
+  <a href="https://www.npmjs.com/package/@srcery-colors/srcery-palette">
+    <img src="https://img.shields.io/npm/v/@srcery-colors/srcery-palette?color=%23FBB829&label=Palette%20version&logo=npm">
+  </a>
+</p>
+
+<p align="center">
+Srcery is a color scheme with clearly defined contrasting colors and a
+slightly earthy tone.
+</p>
+
+<details>
+<summary><strong>Table of content</strong></summary>
 
-[![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)
+- [Requirements](#requirements)
+    - [GUI](#gui)
+    - [TUI](#tui)
+- [Installation](#installation)
+    - [Manually](#manually)
+    - [Vim 8](#vim-8)
+    - [dein.vim](#deinvim)
+    - [vim-pathogen](#vim-pathogen)
+    - [vim-plug](#vim-plug)
+    - [packer](#packer)
+- [Usage](#usage)
+- [Configuration](#configuration)
+    - [Colors](#colors)
+    - [Options](#options)
+        - [g:srcery\_bold](#gsrcery_bold)
+        - [g:srcery\_italic](#gsrcery_italic)
+        - [g:srcery\_underline](#gsrcery_underline)
+        - [g:srcery\_undercurl](#gsrcery_undercurl)
+        - [g:srcery\_strikethrough](#gsrcery_strikethrough)
+        - [g:srcery\_inverse](#gsrcery_inverse)
+        - [g:srcery\_inverse\_matches](#gsrcery_inverse_matches)
+        - [g:srcery\_inverse\_match\_paren](#gsrcery_inverse_match_paren)
+        - [g:srcery\_dim\_lisp\_paren](#gsrcery_dim_lisp_paren)
+        - [g:srcery\_guisp\_fallback](#gsrcery_guisp_fallback)
+        - [g:srcery\_italic\_types](#gsrcery_italic_types)
+        - [g:srcery\_bg](#gsrcery_bg)
+        - [g:srcery\_hard\_black\_terminal\_bg](#gsrcery_hard_black_terminal_bg)
+- [Screenshots](#screenshots)
+- [Plugin support](#plugin-support)
+    - [Lightline](#lightline)
+    - [Airline](#airline)
+    - [Other](#other)
+- [Attribution](#attribution)
+- [Troubleshooting](#troubleshooting)
+    - [Colors don't look right](#colors-dont-look-right)
+    - [24-bit color, tmux and Neovim](#24-bit-color-tmux-and-neovim)
+- [Extra](#extra)
+    - [Emacs](#emacs)
 
-Color scheme with clearly defined contrasting colors and a slightly earthy tone.
+
+</details>
 
 ## Requirements
 
@@ -17,58 +81,74 @@
 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=+)   |
+| IMG  | TERMCOL | NR | VAR | HEX | RGB  | HSL |
+|------|---------|----|-----|-----|------|-----|
+| ![black](https://place-hold.it/24x24/1c1b19?text=+) | black | 0 | `g:srcery_black` | #1C1B19 | 28, 27, 25 | 40, 6%, 10% |
+| ![red](https://place-hold.it/24x24/ef2f27?text=+) | red | 1 | `g:srcery_red` | #EF2F27 | 239, 47, 39 | 2, 86%, 55% |
+| ![green](https://place-hold.it/24x24/519f50?text=+) | green | 2 | `g:srcery_green` | #519F50 | 81, 159, 80 | 119, 33%, 47% |
+| ![yellow](https://place-hold.it/24x24/fbb829?text=+) | yellow | 3 | `g:srcery_yellow` | #FBB829 | 251, 184, 41 | 41, 96%, 57% |
+| ![blue](https://place-hold.it/24x24/2c78bf?text=+) | blue | 4 | `g:srcery_blue` | #2C78BF | 44, 120, 191 | 209, 63%, 46% |
+| ![magenta](https://place-hold.it/24x24/e02c6d?text=+) | magenta | 5 | `g:srcery_magenta` | #E02C6D | 224, 44, 109 | 338, 74%, 53% |
+| ![cyan](https://place-hold.it/24x24/0aaeb3?text=+) | cyan | 6 | `g:srcery_cyan` | #0AAEB3 | 10, 174, 179 | 182, 89%, 37% |
+| ![white](https://place-hold.it/24x24/baa67f?text=+) | white | 7 | `g:srcery_white` | #BAA67F | 186, 166, 127 | 40, 30%, 61% |
+| ![brightblack](https://place-hold.it/24x24/918175?text=+) | brightblack | 8 | `g:srcery_bright_black` | #918175 | 145, 129, 117 | 26, 11%, 51% |
+| ![brightred](https://place-hold.it/24x24/f75341?text=+) | brightred | 9 | `g:srcery_bright_red` | #F75341 | 247, 83, 65 | 6, 92%, 61% |
+| ![brightgreen](https://place-hold.it/24x24/98bc37?text=+) | brightgreen | 10 | `g:srcery_bright_green` | #98BC37 | 152, 188, 55 | 76, 55%, 48% |
+| ![brightyellow](https://place-hold.it/24x24/fed06e?text=+) | brightyellow | 11 | `g:srcery_bright_yellow` | #FED06E | 254, 208, 110 | 41, 99%, 71% |
+| ![brightblue](https://place-hold.it/24x24/68a8e4?text=+) | brightblue | 12 | `g:srcery_bright_blue` | #68A8E4 | 104, 168, 228 | 209, 70%, 65% |
+| ![brightmagenta](https://place-hold.it/24x24/ff5c8f?text=+) | brightmagenta | 13 | `g:srcery_bright_magenta` | #FF5C8F | 255, 92, 143 | 341, 100%, 68% |
+| ![brightcyan](https://place-hold.it/24x24/2be4d0?text=+) | brightcyan | 14 | `g:srcery_bright_cyan` | #2BE4D0 | 43, 228, 208 | 174, 77%, 53% |
+| ![brightwhite](https://place-hold.it/24x24/fce8c3?text=+) | brightwhite | 15 | `g:srcery_bright_white` | #FCE8C3 | 252, 232, 195 | 39, 90%, 88% |
 
 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=+)         |
+| IMG  | NAME | NR | VAR | HEX | RGB  | HSL |
+|------|------|----|-----|-----|------|-----|
+| ![orange](https://place-hold.it/24x24/ff5f00?text=+) | orange | 202 | `g:srcery_orange`, `g:srcery_orange_cterm` | #FF5F00 | 255, 95, 0 | 22, 100%, 50% |
+| ![bright_orange](https://place-hold.it/24x24/ff8700?text=+) | bright_orange | 208 | `g:srcery_bright_orange`, `g:srcery_bright_orange_cterm` | #FF8700 | 255, 135, 0 | 32, 100%, 50% |
+| ![hard_black](https://place-hold.it/24x24/121212?text=+) | hard_black | 233 | `g:srcery_hard_black`, `g:srcery_hard_black_cterm`| #121212 | 18, 18, 18 | 0, 0%, 7% |
+| ![xgray1](https://place-hold.it/24x24/262626?text=+) | xgray1 | 235 | `g:srcery_xgray1`, `g:srcery_xgray1_cterm` | #262626 | 38, 38, 38 | 0, 0%, 15% |
+| ![xgray2](https://place-hold.it/24x24/303030?text=+) | xgray2 | 236 | `g:srcery_xgray2`, `g:srcery_xgray2_cterm` | #303030 | 48, 48, 48 | 0, 0%, 19% |
+| ![xgray3](https://place-hold.it/24x24/3a3a3a?text=+) | xgray3 | 237 | `g:srcery_xgray3`, `g:srcery_xgray3_cterm` | #3A3A3A | 58, 58, 58 | 0, 0%, 23% |
+| ![xgray4](https://place-hold.it/24x24/444444?text=+) | xgray4 | 238 | `g:srcery_xgray4`, `g:srcery_xgray4_cterm` |#444444 | 68, 68, 68 | 0, 0%, 27% |
+| ![xgray5](https://place-hold.it/24x24/4e4e4e?text=+) | xgray5 | 239 | `g:srcery_xgray5`, `g:srcery_xgray5_cterm` | #4E4E4E | 78, 78, 78 | 0, 0%, 31% |
+| ![xgray6](https://place-hold.it/24x24/585858?text=+) | xgray6 | 240 | `g:srcery_xgray6`, `g:srcery_xgray6_cterm` | #585858 | 88, 88, 88 | 0, 0%, 35% |
+<!-- | ![teal](https://place-hold.it/24x24/008080?text=+) | teal | 30 | N/A* | #008080 | 0, 128, 128 | 180, 100%, 25% | -->
+<!-- | ![xgray7](https://place-hold.it/24x24/626262?text=+) | xgray7 | 241 | N/A* | #626262 | 98, 98, 98 | 0, 0%, 38% | -->
+<!-- | ![xgray8](https://place-hold.it/24x24/6c6c6c?text=+) | xgray8 | 242 | N/A* | #6C6C6C | 108, 108, 108 | 0, 0%, 42% | -->
+<!-- | ![xgray9](https://place-hold.it/24x24/767676?text=+) | xgray9 | 243 | N/A* | #767676 | 118, 118, 118 | 0, 0%, 46% | -->
+<!-- | ![xgray10](https://place-hold.it/24x24/808080?text=+) | xgray10 | 244 | N/A* | #808080 | 128, 128, 128 | 0, 0%, 50% | -->
+<!-- | ![xgray11](https://place-hold.it/24x24/8a8a8a?text=+) | xgray11 | 245 | N/A* | #8A8A8A | 138, 138, 138 | 0, 0%, 54% | -->
+<!-- | ![xgray12](https://place-hold.it/24x24/949494?text=+) | xgray12 | 246 | N/A* | #949494 | 148, 148, 148 | 0, 0%, 58% | -->
+<!-- > \* N/A on variables means the color isn't used in the vim theme, but are used in other Srcery derivatives. If there is a need for more colors these can easily be included. -->
 
 ## Installation
 
 ### Manually
 
-Put `srcery.vim` in `~/.vim/colors/` (on unix-like systems) or `%userprofile%\vimfiles\colors\` (on Windows).
+Download or clone srcery's repository to a location of your choosing and set your `runtimepath` correctly, otherwise srcery will not work as it relies on the `autoload` functionality.
+
+You can also install with your favourite plugin manager.
 
 ### 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`.
+Vim 8 has native support for loading plugins by using `packages`. All you need to do to, is to clone this repository into `~/.vim/pack/themes/opt`.
+
+    git clone https://github.com/srcery-colors/srcery-vim ~/.vim/pack/themes/opt/srcery-vim
 
-    git clone https://github.com/srcery-colors/srcery-vim ~/.vim/pack/default/opt/srcery-vim
+And then set your `.vimrc` accordingly.
+
+```vim
+packadd! srcery-vim
+colorscheme srcery
+```
 
 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
+    git clone https://github.com/srcery-colors/srcery-vim $XDG_CONFIG_HOME/nvim/pack/themes/opt
 
 ### [dein.vim](https://github.com/Shougo/dein.vim)
 
@@ -124,6 +204,13 @@
 let g:srcery_red = '#FF0000'
 ```
 
+Inside a 256-color terminal emulator, additional colors are configurable
+via setting the corresponding variable with the \_cterm suffix, e.g.
+
+```vim
+let g:srcery_hard_black_cterm = 232
+```
+
 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
@@ -156,6 +243,12 @@
 
 Default: 1
 
+#### g:srcery\_strikethrough
+
+Enables strikethrough text.
+
+Default: 1
+
 #### g:srcery\_inverse
 
 Enable or disable inverse highlighting (foreground becomes background,
@@ -188,18 +281,6 @@
 
 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
@@ -219,6 +300,22 @@
 
 Default: 0
 
+#### g:srcery\_bg
+
+Let's you customize the background color. This var takes a list with two
+values, with a quoted HEX in the first position, and a terminal color index for
+the second position. This lets you set both a 24-bit color, and a 8bit terminal
+color index.
+
+You can specify `'NONE'` as one of the values to make it transparent, as such
+`['NONE', 'NONE']` would be the same as the previous option
+`g:srcery_bg_passthrough = 1`.
+
+You can specify `'DEFAULT'` as one of the values in order to use that
+position's default value.
+
+Default: `[g:srcery_black, 0]`
+
 #### g:srcery\_hard\_black\_terminal\_bg
 
 If enabled, will set the terminal background in vim to hard black.
@@ -259,6 +356,18 @@
       \ 'colorscheme': 'srcery',
       \ }
 ```
+### Lualine
+
+[Lualine](https://github.com/nvim-lualine/lualine.nvim) colorscheme.
+It's the same as Lightline's. Enable it in your configuration:
+
+```
+require('lualine').setup {
+  options = {
+    theme = 'srcery',
+  },
+}
+```
 
 ### Airline
 
@@ -274,6 +383,10 @@
 * [coc.nvim](https://github.com/neoclide/coc.nvim)
 * [ctrlp.vim](https://github.com/ctrlpvim/ctrlp.vim)
 * [fzf.vim](https://github.com/junegunn/fzf.vim)
+* [nerdtree](https://github.com/preservim/nerdtree)
+* [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
+* [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
+* [telescope-nvim](https://github.com/nvim-telescope/telescope.nvim)
 * [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)
--- a/vendor/vim-packs/srcery-vim/after/plugin/srcery.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/after/plugin/srcery.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -43,6 +43,7 @@
 let s:underline = g:srcery#palette.underline
 let s:undercurl = g:srcery#palette.undercurl
 let s:inverse = g:srcery#palette.inverse
+let s:strikethrough = g:srcery#palette.strikethrough
 
 " }}}
 " Sneak: {{{
@@ -218,6 +219,18 @@
 endif
 
 " }}}
+" nvim-cmp: "{{{
+
+if exists('g:loaded_cmp')
+  hi! link CmpItemAbbr Pmenu
+  hi! link CmpItemAbbrDeprecated Comment
+  hi! link CmpItemAbbrMatch Pmenu
+  hi! link CmpItemAbbrMatchFuzzy Pmenu
+  hi! link CmpItemKind Special
+  hi! link CmpItemMenu Pmenu
+endif
+
+" }}}
 " nvim: {{{
 
 if has('nvim')
@@ -250,8 +263,33 @@
     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
+      highlight! link @text.strong TSStrong
+      highlight! link @text.emphasis TSEmphasis
+      highlight! link @text.underline TSUnderline
+      highlight! link @text.warning TSWarning
+      highlight! link @text.danger TSDanger
+      highlight! link @constant.builtin TSConstBuiltin
+      highlight! link @field TSField
+      highlight! link @function.builtin TSFuncBuiltin
+      highlight! link @function.macro TSFuncMacro
+      highlight! link @function TSFunction
+      highlight! link @namespace TSNamespace
+      highlight! link @parameter TSParameter
+      highlight! link @property TSProperty
+      highlight! link @symbol TSSymbol
+      highlight! link @tag TSTag
+      highlight! link @tag.attribute TSTagAttribute
+      highlight! link @variable.builtin TSVariableBuiltin
+      highlight! link @type TSType
+      highlight! link @delimiter TSDelimiter
+      highlight! link @text.uri TSURI
+      highlight! link @variable TSVariable
+
+      call srcery#helper#Highlight('@markup.strong', s:none, s:none, s:bold)
+      call srcery#helper#Highlight('@markup.italic', s:none, s:none, s:italic)
+      call srcery#helper#Highlight('@markup.underline', s:none, s:none, s:underline)
+      call srcery#helper#Highlight('@markup.strikethrough', s:none, s:none, s:strikethrough)
+
     endif
   endif
 
--- a/vendor/vim-packs/srcery-vim/after/syntax/html.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/after/syntax/html.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -22,26 +22,18 @@
 hi! link htmlTagN SrceryBlue
 hi! link htmlSpecialTagName SrceryBlue
 
+hi! link javaScript Normal
+
 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
+call srcery#helper#Highlight('htmlBold', s:bright_white, g:srcery_bg, s:bold)
+call srcery#helper#Highlight('htmlBoldUnderline', s:bright_white, g:srcery_bg, s:bold . s:underline)
+call srcery#helper#Highlight('htmlBoldItalic', s:bright_white, g:srcery_bg, s:bold . s:italic)
+call srcery#helper#Highlight('htmlBoldUnderlineItalic', s:bright_white, g:srcery_bg, s:bold . s:underline . s:italic)
+call srcery#helper#Highlight('htmlUnderline', s:bright_white, g:srcery_bg, s:underline)
+call srcery#helper#Highlight('htmlUnderlineItalic', s:bright_white, g:srcery_bg, s:underline . s:italic)
+call srcery#helper#Highlight('htmlItalic', s:bright_white, g:srcery_bg, s:italic)
 
 " }}}
--- a/vendor/vim-packs/srcery-vim/after/syntax/javascript.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/after/syntax/javascript.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -4,13 +4,14 @@
 
 " JavaScript: {{{
 
-hi! link javascriptMember SrceryBlue
-hi! link javascriptNull SrceryMagenta
+hi! link javaScriptMember SrceryBlue
+hi! link javaScriptNull SrceryMagenta
+hi! link javasCriptParens SrceryWhite
+hi! link javaScriptBraces SrceryWhite
+hi! link javaScriptReserved SrceryOrange
 
-hi! link javascriptParens SrceryWhite
-hi! link javascriptBraces SrceryWhite
-hi! link javascriptReserved SrceryOrange
-hi! link javascriptIdentifier SrceryRed
+" }}}
+" YAJS: {{{
 
 hi! link javascriptFuncArg Normal
 hi! link javascriptDocComment SrceryGreen
@@ -20,18 +21,16 @@
 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
+" }}}
+" pangloss/vim-javascript {{{
+
 hi! link jsFunction SrceryRed
 hi! link jsImport SrceryRed
 hi! link jsObjectSeparator SrceryWhite
@@ -42,3 +41,5 @@
 hi! link jsOperator SrceryBrightCyan
 
 " }}}
+
+" vim: set ts=2 sw=2 tw=78 fdm=marker et :
--- a/vendor/vim-packs/srcery-vim/after/syntax/markdown.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/after/syntax/markdown.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -4,11 +4,13 @@
 
 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
 let s:underline = g:srcery#palette.underline
 
 " Markdown: {{{
 
+call srcery#helper#Highlight('markdownBold', s:bright_white, s:none, s:bold)
 call srcery#helper#Highlight('markdownItalic', s:bright_white, s:none, s:italic)
 
 hi! link markdownH1 SrceryBrightBlueBold
--- a/vendor/vim-packs/srcery-vim/autoload/srcery.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/autoload/srcery.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -69,38 +69,74 @@
   let g:srcery_orange='#FF5F00'
 endif
 
+if !exists('g:srcery_orange_cterm')
+  let g:srcery_orange_cterm=202
+endif
+
 if !exists('g:srcery_bright_orange')
   let g:srcery_bright_orange='#FF8700'
 endif
 
+if !exists('g:srcery_bright_orange_cterm')
+  let g:srcery_bright_orange_cterm=208
+endif
+
 if !exists('g:srcery_hard_black')
   let g:srcery_hard_black='#121212'
 endif
 
+if !exists('g:srcery_hard_black_cterm')
+  let g:srcery_hard_black_cterm=233
+endif
+
 if !exists('g:srcery_xgray1')
   let g:srcery_xgray1='#262626'
 endif
 
+if !exists('g:srcery_xgray1_cterm')
+  let g:srcery_xgray1_cterm=235
+endif
+
 if !exists('g:srcery_xgray2')
   let g:srcery_xgray2='#303030'
 endif
 
+if !exists('g:srcery_xgray2_cterm')
+  let g:srcery_xgray2_cterm=236
+endif
+
 if !exists('g:srcery_xgray3')
   let g:srcery_xgray3='#3A3A3A'
 endif
 
+if !exists('g:srcery_xgray3_cterm')
+  let g:srcery_xgray3_cterm=237
+endif
+
 if !exists('g:srcery_xgray4')
   let g:srcery_xgray4='#444444'
 endif
 
+if !exists('g:srcery_xgray4_cterm')
+  let g:srcery_xgray4_cterm=238
+endif
+
 if !exists('g:srcery_xgray5')
   let g:srcery_xgray5='#4E4E4E'
 endif
 
+if !exists('g:srcery_xgray5_cterm')
+  let g:srcery_xgray5_cterm=239
+endif
+
 if !exists('g:srcery_xgray6')
   let g:srcery_xgray6='#585858'
 endif
 
+if !exists('g:srcery_xgray6_cterm')
+  let g:srcery_xgray6_cterm=240
+endif
+
 " }}}
 " Options {{{
 
@@ -116,10 +152,6 @@
   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
@@ -128,6 +160,10 @@
   let g:srcery_underline=1
 endif
 
+if !exists('g:srcery_strikethrough')
+  let g:srcery_strikethrough=1
+endif
+
 if !exists('g:srcery_inverse')
   let g:srcery_inverse=1
 endif
@@ -152,6 +188,18 @@
   let g:srcery_italic_types=0
 endif
 
+if !exists('g:srcery_bg')
+  "Sets the default color for both guisp and cterm backgrounds.
+  let g:srcery_bg=[g:srcery_black, 0]
+elseif (index(g:srcery_bg, 'DEFAULT') >= 0) || (index(g:srcery_bg, 'NONE') >= 0 && has('gui_running'))
+  "Defaults should be set if the user specifies it, or if the background is set as 'NONE' whilst the gui is running.
+  for i in [0, 1]
+    if g:srcery_bg[i] ==# 'DEFAULT' || (g:srcery_bg[i] ==# 'NONE' && has('gui_running'))
+      let g:srcery_bg[i] = (i==1 ? 0 : g:srcery_black)
+    endif
+  endfor
+endif
+
 if !exists('g:srcery_hard_black_terminal_bg')
   let g:srcery_hard_black_terminal_bg=1
 endif
@@ -182,15 +230,18 @@
 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]
+let g:srcery#palette.orange         = [g:srcery_orange,
+                                    \  g:srcery_orange_cterm]
+let g:srcery#palette.bright_orange  = [g:srcery_bright_orange,
+                                    \  g:srcery_bright_orange_cterm]
+let g:srcery#palette.hard_black     = [g:srcery_hard_black,
+                                    \  g:srcery_hard_black_cterm]
+let g:srcery#palette.xgray1         = [g:srcery_xgray1, g:srcery_xgray1_cterm]
+let g:srcery#palette.xgray2         = [g:srcery_xgray2, g:srcery_xgray2_cterm]
+let g:srcery#palette.xgray3         = [g:srcery_xgray3, g:srcery_xgray3_cterm]
+let g:srcery#palette.xgray4         = [g:srcery_xgray4, g:srcery_xgray4_cterm]
+let g:srcery#palette.xgray5         = [g:srcery_xgray5, g:srcery_xgray5_cterm]
+let g:srcery#palette.xgray6         = [g:srcery_xgray6, g:srcery_xgray6_cterm]
 
 " }}}
 " Setup Emphasis: {{{
@@ -220,6 +271,11 @@
   let g:srcery#palette.inverse = ''
 endif
 
+let g:srcery#palette.strikethrough = 'strikethrough,'
+if g:srcery_strikethrough == 0
+  let g:srcery#palette.strikethrough = ''
+endif
+
 " }}}
 
 " Setup Terminal Colors For Neovim: {{{
--- a/vendor/vim-packs/srcery-vim/colors/srcery.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/colors/srcery.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -171,11 +171,10 @@
 
 " 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
+call s:HL('Normal', s:bright_white, g:srcery_bg)
+
+call s:HL('FloatBorder', s:white, g:srcery_bg)
+call s:HL('NormalFloat', s:none, s:xgray2)
 
 if v:version >= 700
   " Screen line that the cursor is
@@ -206,11 +205,7 @@
   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
+  call s:HL('CursorLineNr', s:yellow, g:srcery_bg)
 
 endif
 
@@ -227,29 +222,23 @@
 
 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)
+  call s:HL('IncSearch', s:none, s:none, s:underline . s:inverse . s:bold)
+  call s:HL('CurSearch', s:none, s:none, s:underline . s:inverse . s:bold)
 else
-  call s:HL('Search', s:none, s:xgray5, s:bold)
+  call s:HL('Search', s:none, s:xgray5)
   call s:HL('IncSearch', s:none, s:xgray5, s:underline . s:bold)
+  call s:HL('CurSearch', 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
+call s:HL('StatusLineNC', s:bright_black, g:srcery_bg, s:underline)
+" The column separating vertically split windows
+call s:HL('VertSplit', s:bright_white, g:srcery_bg)
+" Current match in wildmenu completion
+call s:HL('WildMenu', s:blue, g:srcery_bg, s:bold)
 
 " Directory names, special names in listing
 hi! link Directory SrceryGreenBold
@@ -274,19 +263,13 @@
 " 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
+" Column where signs are displayed
+" TODO Possibly need to fix  SignColumn
+call s:HL('SignColumn', s:none, g:srcery_bg)
+" Line used for closed folds
+call s:HL('Folded', s:bright_black, g:srcery_bg, s:italic)
+" Column where folds are displayed
+call s:HL('FoldColumn', s:bright_black, g:srcery_bg)
 
 " }}}
 " Cursor: {{{
@@ -307,11 +290,7 @@
 
 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('Todo', s:bright_white, g:srcery_bg, s:bold . s:italic)
 
 call s:HL('Error', s:bright_white, s:red, s:bold)
 
@@ -329,7 +308,7 @@
 " try, catch, throw
 hi! link Exception SrceryRed
 " sizeof, "+", "*", etc.
-hi! link Operator Normal
+hi! link Operator SrceryBrightWhite
 " Any other keyword
 hi! link Keyword SrceryRed
 
@@ -388,31 +367,19 @@
   " 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
+  " Popup menu: scrollbar
+  call s:HL('PmenuSbar', s:none, g:srcery_bg)
+  " Popup menu: scrollbar thumb
+  call s:HL('PmenuThumb', s:none, s:orange)
 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
+call s:HL('DiffDelete', s:red, g:srcery_bg)
+call s:HL('DiffAdd',    s:green, g:srcery_bg)
+call s:HL('DiffChange', s:cyan, g:srcery_bg)
+call s:HL('DiffText',   s:yellow, g:srcery_bg)
 
 " }}}
 " Spelling: {{{
@@ -436,6 +403,30 @@
   " Therefore not useful with transparent background option
   call s:HL('Terminal', s:bright_white, s:hard_black)
 endif
+" }}}
+" Neovim LSP: {{{
+
+if has('nvim')
+  " for backward compatibility with neovim v0.5.x
+  hi! link LspDiagnosticsDefaultError DiagnosticError
+  hi! link LspDiagnosticsDefaultWarning DiagnosticWarn
+  hi! link LspDiagnosticsDefaultInformation DiagnosticInfo
+  hi! link LspDiagnosticsDefaultHint DiagnosticHint
+  hi! link LspDiagnosticsUnderlineError DiagnosticUnderlineError
+  hi! link LspDiagnosticsUnderlineHint DiagnosticUnderlineHint
+  hi! link LspDiagnosticsUnderlineInformation DiagnosticUnderlineInfo
+  hi! link LspDiagnosticsUnderlineWarning DiagnosticUnderlineWarn
+
+  " latest hl groups
+  hi! link DiagnosticError SrceryBrightRed
+  hi! link DiagnosticWarn SrceryBrightYellow
+  hi! link DiagnosticInfo SrceryBrightGreen
+  hi! link DiagnosticHint SrceryBrightCyan
+  call s:HL('DiagnosticUnderlineError', s:bright_red, s:none, s:undercurl)
+  call s:HL('DiagnosticUnderlineWarn', s:bright_yellow, s:none, s:undercurl)
+  call s:HL('DiagnosticUnderlineInfo', s:bright_green, s:none, s:undercurl)
+  call s:HL('DiagnosticUnderlineHint', s:bright_cyan, s:none, s:undercurl)
+endif
 
 " }}}
 
--- a/vendor/vim-packs/srcery-vim/doc/srcery.txt	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-packs/srcery-vim/doc/srcery.txt	Mon Aug 19 17:04:13 2024 +0900
@@ -9,29 +9,30 @@
 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|
+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|
+	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_strikethrough		|srcery-option-strikethrough|
+	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_guisp_fallback		|srcery-option-guisp-fallback|
+	g:srcery_italic_types		|srcery-option-italic-types|
+	g:srcery_bg			|srcery-option-bg|
+	g:srcery_hard_black_terminal_bg	|srcery-option-hard-black-terminal-bg|
 
 ==============================================================================
-INTRODUCTION 						   *srcery-introduction*
+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
@@ -41,23 +42,31 @@
 ==============================================================================
 INSTALLATION						   *srcery-installation*
 
-Put srcery.vim in `~/.vim/colors/` (on unix-like systems) or
-`%userprofile%\vimfiles\colors\` (on Windows).
+Download or clone srcery's repository to a location of your choosing and set
+your 'runtimepath' correctly, otherwise srcery will not work as it relies on
+'autoload' functionality.
+
+You can also install with your favourite plugin manager.
 
 							   *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`.
+Vim 8 has native support for loading plugins by using |packages|. All you need
+to do to, is to clone this repository into `~/.vim/pack/themes/opt`.
 >
 	git clone https://github.com/srcery-colors/srcery-vim \
-		~/.vim/plug/default/opt
+		~/.vim/pack/themes/opt
+<
+And then set your `.vimrc` accordingly.
+>
+	packadd! srcery-vim
+	colorscheme srcery
 <
 
 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
+		$XDG_CONFIG_HOME/nvim/pack/themes/opt
 <
 
 							   *srcery-install-dein*
@@ -80,24 +89,24 @@
 ==============================================================================
 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 |
+| 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.
@@ -119,11 +128,9 @@
 
 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*
@@ -132,6 +139,11 @@
 >
 	let g:srcery_red = '#FF0000'
 <
+Inside a 256-color terminal emulator, additional colors are configurable
+via setting the corresponding variable with the _cterm suffix, e.g.
+>
+	let g:srcery_hard_black_cterm = 232
+<
 Refer to the |srcery-color-table| for a full list of color variables, hexes
 and more.
 
@@ -163,6 +175,13 @@
 
 	Default: 1
 
+						   *srcery-option-strikethrough*
+g:srcery_strikethrough
+
+	Enables strikethrough text.
+
+	Default: 1
+
 							 *srcery-option-inverse*
 g:srcery_inverse
 
@@ -192,7 +211,7 @@
 
 	Default: 0
 
-					 	  *srcery-option-dim-lisp-paren*
+						  *srcery-option-dim-lisp-paren*
 g:srcery_dim_lisp_paren
 
 	Dims lisp dialects delimiters to a fairly dark gray (xgray5
@@ -200,18 +219,6 @@
 
 	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
 
@@ -234,9 +241,27 @@
 
 	Default: 0
 
+							      *srcery-option-bg*
+g:srcery_bg
+
+	Let's you customize the background color. This var takes a list with
+	two values, with a quoted HEX in the first position, and a terminal
+	color index for the second position. This lets you set both a 24-bit
+	color, and a 8bit terminal color index.
+
+	You can specify `'NONE'` as one of the values to make it transparent,
+	as such `['NONE', 'NONE']` would be the same as the previous option
+	`g:srcery_bg_passthrough = 1`.
+
+
+	You can specify `'DEFAULT'` as one of the values in order to use that
+	position's default value.
+
+	Default: `[g:srcery_black, 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.
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/vim-packs/srcery-vim/lua/lualine/themes/srcery.lua	Mon Aug 19 17:04:13 2024 +0900
@@ -0,0 +1,67 @@
+-- Port of Srcery's airline theme to lualine
+local colors = {
+  black           =   vim.api.nvim_eval('g:srcery_black'),
+  red             =   vim.api.nvim_eval('g:srcery_red'),
+  green           =   vim.api.nvim_eval('g:srcery_green'),
+  yellow          =   vim.api.nvim_eval('g:srcery_yellow'),
+  blue            =   vim.api.nvim_eval('g:srcery_blue'),
+  magenta         =   vim.api.nvim_eval('g:srcery_magenta'),
+  cyan            =   vim.api.nvim_eval('g:srcery_cyan'),
+  white           =   vim.api.nvim_eval('g:srcery_white'),
+  brightblack     =   vim.api.nvim_eval('g:srcery_bright_black'),
+  brightred       =   vim.api.nvim_eval('g:srcery_bright_red'),
+  brightgreen     =   vim.api.nvim_eval('g:srcery_bright_green'),
+  brightyellow    =   vim.api.nvim_eval('g:srcery_bright_yellow'),
+  brightblue      =   vim.api.nvim_eval('g:srcery_bright_blue'),
+  brightmagenta   =   vim.api.nvim_eval('g:srcery_bright_magenta'),
+  brightcyan      =   vim.api.nvim_eval('g:srcery_bright_cyan'),
+  brightwhite     =   vim.api.nvim_eval('g:srcery_bright_white'),
+  -- Srcery's xterm 256 colors
+  orange          =   vim.api.nvim_eval('g:srcery_red'),
+  brightorange    =   vim.api.nvim_eval('g:srcery_red'),
+  hardblack       =   vim.api.nvim_eval('g:srcery_red'),
+  xgray1          =   vim.api.nvim_eval('g:srcery_xgray1'),
+  xgray2          =   vim.api.nvim_eval('g:srcery_xgray2'),
+  xgray3          =   vim.api.nvim_eval('g:srcery_xgray3'),
+  xgray4          =   vim.api.nvim_eval('g:srcery_xgray4'),
+  xgray5          =   vim.api.nvim_eval('g:srcery_xgray5'),
+  xgray6          =   vim.api.nvim_eval('g:srcery_xgray6'),
+}
+
+return {
+  normal = {
+    a = {bg = colors.xgray4, fg = colors.brightwhite, gui = 'bold'},
+    b = {bg = colors.xgray3, fg = colors.brightwhite},
+    c = {bg = colors.xgray1, fg = colors.brightwhite}
+  },
+  insert = {
+    a = {bg = colors.brightwhite, fg = colors.black, gui = 'bold'},
+    b = {bg = colors.brightblack, fg = colors.black},
+    c = {bg = colors.xgray1, fg = colors.brightwhite}
+  },
+  visual = {
+    a = {bg = colors.cyan, fg = colors.black, gui = 'bold'},
+    b = {bg = colors.xgray5, fg = colors.brightwhite},
+    c = {bg = colors.xgray1, fg = colors.brightwhite}
+  },
+  replace = {
+    a = {bg = colors.brightred, fg = colors.brightwhite, gui = 'bold'},
+    b = {bg = colors.brightblack, fg = colors.black},
+    c = {bg = colors.xgray1, fg = colors.brightwhite}
+  },
+  command = {
+    a = {bg = colors.yellow, fg = colors.black, gui = 'bold'},
+    b = {bg = colors.xgray3, fg = colors.brightwhite},
+    c = {bg = colors.xgray1, fg = colors.brightwhite}
+  },
+  terminal = {
+    a = {bg = colors.green, fg = colors.black, gui = 'bold'},
+    b = {bg = colors.xgray3, fg = colors.brightwhite},
+    c = {bg = colors.xgray1, fg = colors.brightwhite}
+  },
+  inactive = {
+    a = {bg = colors.xgray4, fg = colors.xgray6, gui = 'bold'},
+    b = {bg = colors.xgray3, fg = colors.xgray6},
+    c = {bg = colors.xgray2, fg = colors.xgray6}
+  }
+}
--- a/vendor/vim-syntax/css.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/css.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -7,7 +7,7 @@
 "               Nikolai Weibull (Add CSS2 support)
 " URL:          https://github.com/vim-language-dept/css-syntax.vim
 " Maintainer:   Jay Sitter <jay@jaysitter.com>
-" Last Change:  2021 Oct 20
+" Last Change:  2024 Mar 2
 
 " quit when a syntax file was already loaded
 if !exists("main_syntax")
@@ -127,7 +127,7 @@
 
 syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
 syn region cssMathGroup contained matchgroup=cssMathParens start="(" end=")" containedin=cssFunction,cssMathGroup contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline
-syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline
+syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssURL,cssColor,cssStringQ,cssStringQQ oneline
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline  contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\|conic-\)\=\gradient\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
@@ -176,6 +176,8 @@
 
 syn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
 syn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>"
+syn match cssBorderProp contained "\<border-\(inline\|block\)\(-\(start\|end\)\)\=\(-\(style\|width\|color\)\)\=\>"
+syn match cssBorderProp contained "\<border-\(start\|end\)-\(start\|end\)-radius\>"
 syn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
 syn match cssBorderProp contained "\<box-decoration-break\>"
 syn match cssBorderProp contained "\<box-shadow\>"
@@ -195,6 +197,7 @@
 
 syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
 syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
+syn match cssBoxProp contained "\<\(margin\|padding\)\(-\(inline\|block\)\(-\(start\|end\)\)\)\=\>"
 syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
 syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
 syn keyword cssBoxAttr contained visible hidden scroll auto
@@ -227,7 +230,7 @@
 
 " CSS Fonts Module Level 3
 " http://www.w3.org/TR/css-fonts-3/
-syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
+syn match cssFontProp contained "\<font\(-\(display\|family\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
 
 " font attributes
 syn keyword cssFontAttr contained icon menu caption
@@ -248,6 +251,8 @@
 syn keyword cssFontAttr contained weight style
 " font-weight attributes
 syn keyword cssFontAttr contained bold bolder lighter
+" font-display attributes
+syn keyword cssFontAttr contained auto block swap fallback optional
 " TODO: font-variant-* attributes
 "------------------------------------------------
 
@@ -282,7 +287,7 @@
 " https://www.w3.org/TR/css-grid-1/
 syn match cssGridProp contained "\<grid\>"
 syn match cssGridProp contained "\<grid-template\(-\(columns\|rows\|areas\)\)\=\>"
-syn match cssGridProp contained "\<grid-\(column\|row\)\(-\(start\|end\|gap\)\)\=\>"
+syn match cssGridProp contained "\<\(grid-\)\=\(column\|row\)\(-\(start\|end\|gap\)\)\=\>"
 syn match cssGridProp contained "\<grid-\(area\|gap\)\>"
 syn match cssGridProp contained "\<gap\>"
 syn match cssGridProp contained "\<grid-auto-\(flow\|rows\|columns\)\>"
--- a/vendor/vim-syntax/javascript.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/javascript.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -10,6 +10,7 @@
 " Last Change:	2022 Jun 09
 " 		2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
 " 		2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
+" 		2024 Aug 14: fix a few stylistic issues (#15480)
 
 " tuning parameters:
 " unlet javaScript_fold
@@ -52,21 +53,22 @@
 syn region  javaScriptRegexpString     start=+[,(=+]\s*/[^/*]+ms=e-1,me=e-1 skip=+\\\\\|\\/+ end=+/[gimuys]\{0,2\}\s*$+ end=+/[gimuys]\{0,2\}\s*[+;.,)\]}]+me=e-1 end=+/[gimuys]\{0,2\}\s\+\/+me=e-1 contains=@htmlPreproc,javaScriptComment oneline
 
 syn keyword javaScriptConditional	if else switch
-syn keyword javaScriptRepeat		while for do in
+syn keyword javaScriptRepeat		while for do in of
 syn keyword javaScriptBranch		break continue
 syn keyword javaScriptOperator		new delete instanceof typeof
 syn keyword javaScriptType		Array Boolean Date Function Number Object String RegExp
-syn keyword javaScriptStatement		return with await
+syn keyword javaScriptStatement		return with await yield
 syn keyword javaScriptBoolean		true false
 syn keyword javaScriptNull		null undefined
-syn keyword javaScriptIdentifier	arguments this var let
+syn keyword javaScriptIdentifier	arguments this
 syn keyword javaScriptLabel		case default
 syn keyword javaScriptException		try catch finally throw
 syn keyword javaScriptMessage		alert confirm prompt status
 syn keyword javaScriptGlobal		self window top parent
 syn keyword javaScriptMember		document event location 
 syn keyword javaScriptDeprecated	escape unescape
-syn keyword javaScriptReserved		abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile async
+syn keyword javaScriptReserved		abstract boolean byte char class const debugger double enum export extends final float from goto implements import int interface let long native package private protected public short super synchronized throws transient var volatile async
+syn keyword javaScriptModifier  static
 
 syn cluster  javaScriptEmbededExpr	contains=javaScriptBoolean,javaScriptNull,javaScriptIdentifier,javaScriptStringD,javaScriptStringS,javaScriptStringT
 
@@ -103,14 +105,14 @@
 hi def link javaScriptStringT		String
 hi def link javaScriptCharacter		Character
 hi def link javaScriptSpecialCharacter	javaScriptSpecial
-hi def link javaScriptNumber		javaScriptValue
+hi def link javaScriptNumber		Number
 hi def link javaScriptConditional		Conditional
 hi def link javaScriptRepeat		Repeat
 hi def link javaScriptBranch		Conditional
 hi def link javaScriptOperator		Operator
 hi def link javaScriptType			Type
 hi def link javaScriptStatement		Statement
-hi def link javaScriptFunction		Function
+hi def link javaScriptFunction		Keyword
 hi def link javaScriptBraces		Function
 hi def link javaScriptError		Error
 hi def link javaScrParenError		javaScriptError
@@ -126,6 +128,7 @@
 hi def link javaScriptMember		Keyword
 hi def link javaScriptDeprecated		Exception 
 hi def link javaScriptReserved		Keyword
+hi def link javaScriptModifier		StorageClass
 hi def link javaScriptDebug		Debug
 hi def link javaScriptConstant		Label
 hi def link javaScriptEmbed		Special
--- a/vendor/vim-syntax/json.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/json.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -1,6 +1,6 @@
 " Vim syntax file
 " Language:	JSON
-" Maintainer:	vacancy
+" Maintainer:	Vito <vito.blog@gmail.com>
 " Previous Maintainer:	Eli Parra <eli@elzr.com>
 " Last Change:	2019 Sep 17
 " Version:      0.12
--- a/vendor/vim-syntax/nginx.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/nginx.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -65,12 +65,12 @@
     \ contained
     \ nextgroup=@ngxListenParams skipwhite skipempty
 syn keyword ngxListenOptions contained
-    \ default_server ssl http2 proxy_protocol
+    \ default_server ssl quic proxy_protocol
     \ setfib fastopen backlog rcvbuf sndbuf accept_filter deferred bind
     \ ipv6only reuseport so_keepalive
     \ nextgroup=@ngxListenParams skipwhite skipempty
 syn keyword ngxListenOptionsDeprecated contained
-    \ spdy
+    \ http2
     \ nextgroup=@ngxListenParams skipwhite skipempty
 syn cluster ngxListenParams
     \ contains=ngxListenParam,ngxListenString,ngxListenComment
@@ -90,7 +90,6 @@
 syn keyword ngxDirectiveBlock contained geo
 syn keyword ngxDirectiveBlock contained map
 syn keyword ngxDirectiveBlock contained split_clients
-syn keyword ngxDirectiveBlock contained match
 
 syn keyword ngxDirectiveImportant contained include
 syn keyword ngxDirectiveImportant contained root
@@ -113,7 +112,6 @@
 
 syn keyword ngxDirectiveDeprecated contained proxy_downstream_buffer
 syn keyword ngxDirectiveDeprecated contained proxy_upstream_buffer
-syn keyword ngxDirectiveDeprecated contained ssl
 syn keyword ngxDirectiveDeprecated contained http2_idle_timeout
 syn keyword ngxDirectiveDeprecated contained http2_max_field_size
 syn keyword ngxDirectiveDeprecated contained http2_max_header_size
@@ -136,7 +134,6 @@
 syn keyword ngxDirective contained allow
 syn keyword ngxDirective contained ancient_browser
 syn keyword ngxDirective contained ancient_browser_value
-syn keyword ngxDirective contained api
 syn keyword ngxDirective contained auth_basic
 syn keyword ngxDirective contained auth_basic_user_file
 syn keyword ngxDirective contained auth_delay
@@ -144,15 +141,6 @@
 syn keyword ngxDirective contained auth_http_header
 syn keyword ngxDirective contained auth_http_pass_client_cert
 syn keyword ngxDirective contained auth_http_timeout
-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
-syn keyword ngxDirective contained auth_jwt_require
-syn keyword ngxDirective contained auth_jwt_type
 syn keyword ngxDirective contained auth_request
 syn keyword ngxDirective contained auth_request_set
 syn keyword ngxDirective contained autoindex
@@ -193,8 +181,6 @@
 syn keyword ngxDirective contained etag
 syn keyword ngxDirective contained eventport_events
 syn keyword ngxDirective contained expires
-syn keyword ngxDirective contained f4f
-syn keyword ngxDirective contained f4f_buffer_size
 syn keyword ngxDirective contained fastcgi_bind
 syn keyword ngxDirective contained fastcgi_buffer_size
 syn keyword ngxDirective contained fastcgi_buffering
@@ -211,7 +197,6 @@
 syn keyword ngxDirective contained fastcgi_cache_methods
 syn keyword ngxDirective contained fastcgi_cache_min_uses
 syn keyword ngxDirective contained fastcgi_cache_path
-syn keyword ngxDirective contained fastcgi_cache_purge
 syn keyword ngxDirective contained fastcgi_cache_revalidate
 syn keyword ngxDirective contained fastcgi_cache_use_stale
 syn keyword ngxDirective contained fastcgi_cache_valid
@@ -295,14 +280,7 @@
 syn keyword ngxDirective contained gzip_vary
 syn keyword ngxDirective contained gzip_window
 syn keyword ngxDirective contained hash
-syn keyword ngxDirective contained health_check
-syn keyword ngxDirective contained health_check_timeout
-syn keyword ngxDirective contained hls
-syn keyword ngxDirective contained hls_buffers
-syn keyword ngxDirective contained hls_forward_args
-syn keyword ngxDirective contained hls_fragment
-syn keyword ngxDirective contained hls_mp4_buffer_size
-syn keyword ngxDirective contained hls_mp4_max_buffer_size
+syn keyword ngxDirective contained http2
 syn keyword ngxDirective contained http2_body_preread_size
 syn keyword ngxDirective contained http2_chunk_size
 syn keyword ngxDirective contained http2_max_concurrent_pushes
@@ -312,6 +290,10 @@
 syn keyword ngxDirective contained http2_push_preload
 syn keyword ngxDirective contained http2_recv_buffer_size
 syn keyword ngxDirective contained http2_streams_index_size
+syn keyword ngxDirective contained http3
+syn keyword ngxDirective contained http3_hq
+syn keyword ngxDirective contained http3_max_concurrent_streams
+syn keyword ngxDirective contained http3_stream_buffer_size
 syn keyword ngxDirective contained if_modified_since
 syn keyword ngxDirective contained ignore_invalid_headers
 syn keyword ngxDirective contained image_filter
@@ -342,21 +324,20 @@
 syn keyword ngxDirective contained js_header_filter
 syn keyword ngxDirective contained js_import
 syn keyword ngxDirective contained js_path
+syn keyword ngxDirective contained js_preload_object
 syn keyword ngxDirective contained js_preread
 syn keyword ngxDirective contained js_set
+syn keyword ngxDirective contained js_shared_dict_zone
 syn keyword ngxDirective contained js_var
 syn keyword ngxDirective contained keepalive
 syn keyword ngxDirective contained keepalive_disable
 syn keyword ngxDirective contained keepalive_requests
 syn keyword ngxDirective contained keepalive_time
 syn keyword ngxDirective contained keepalive_timeout
-syn keyword ngxDirective contained keyval
-syn keyword ngxDirective contained keyval_zone
 syn keyword ngxDirective contained kqueue_changes
 syn keyword ngxDirective contained kqueue_events
 syn keyword ngxDirective contained large_client_header_buffers
 syn keyword ngxDirective contained least_conn
-syn keyword ngxDirective contained least_time
 syn keyword ngxDirective contained limit_conn
 syn keyword ngxDirective contained limit_conn_dry_run
 syn keyword ngxDirective contained limit_conn_log_level
@@ -400,14 +381,11 @@
 syn keyword ngxDirective contained modern_browser_value
 syn keyword ngxDirective contained mp4
 syn keyword ngxDirective contained mp4_buffer_size
-syn keyword ngxDirective contained mp4_limit_rate
-syn keyword ngxDirective contained mp4_limit_rate_after
 syn keyword ngxDirective contained mp4_max_buffer_size
 syn keyword ngxDirective contained mp4_start_key_frame
 syn keyword ngxDirective contained msie_padding
 syn keyword ngxDirective contained msie_refresh
 syn keyword ngxDirective contained multi_accept
-syn keyword ngxDirective contained ntlm
 syn keyword ngxDirective contained open_file_cache
 syn keyword ngxDirective contained open_file_cache_errors
 syn keyword ngxDirective contained open_file_cache_events
@@ -450,7 +428,6 @@
 syn keyword ngxDirective contained proxy_cache_methods
 syn keyword ngxDirective contained proxy_cache_min_uses
 syn keyword ngxDirective contained proxy_cache_path
-syn keyword ngxDirective contained proxy_cache_purge
 syn keyword ngxDirective contained proxy_cache_revalidate
 syn keyword ngxDirective contained proxy_cache_use_stale
 syn keyword ngxDirective contained proxy_cache_valid
@@ -488,7 +465,6 @@
 syn keyword ngxDirective contained proxy_responses
 syn keyword ngxDirective contained proxy_send_lowat
 syn keyword ngxDirective contained proxy_send_timeout
-syn keyword ngxDirective contained proxy_session_drop
 syn keyword ngxDirective contained proxy_set_body
 syn keyword ngxDirective contained proxy_set_header
 syn keyword ngxDirective contained proxy_smtp_auth
@@ -513,7 +489,11 @@
 syn keyword ngxDirective contained proxy_temp_path
 syn keyword ngxDirective contained proxy_timeout
 syn keyword ngxDirective contained proxy_upload_rate
-syn keyword ngxDirective contained queue
+syn keyword ngxDirective contained quic_active_connection_id_limit
+syn keyword ngxDirective contained quic_bpf
+syn keyword ngxDirective contained quic_gso
+syn keyword ngxDirective contained quic_host_key
+syn keyword ngxDirective contained quic_retry
 syn keyword ngxDirective contained random
 syn keyword ngxDirective contained random_index
 syn keyword ngxDirective contained read_ahead
@@ -544,7 +524,6 @@
 syn keyword ngxDirective contained scgi_cache_methods
 syn keyword ngxDirective contained scgi_cache_min_uses
 syn keyword ngxDirective contained scgi_cache_path
-syn keyword ngxDirective contained scgi_cache_purge
 syn keyword ngxDirective contained scgi_cache_revalidate
 syn keyword ngxDirective contained scgi_cache_use_stale
 syn keyword ngxDirective contained scgi_cache_valid
@@ -583,9 +562,6 @@
 syn keyword ngxDirective contained server_names_hash_bucket_size
 syn keyword ngxDirective contained server_names_hash_max_size
 syn keyword ngxDirective contained server_tokens
-syn keyword ngxDirective contained session_log
-syn keyword ngxDirective contained session_log_format
-syn keyword ngxDirective contained session_log_zone
 syn keyword ngxDirective contained set_real_ip_from
 syn keyword ngxDirective contained slice
 syn keyword ngxDirective contained smtp_auth
@@ -633,11 +609,6 @@
 syn keyword ngxDirective contained ssl_verify_client
 syn keyword ngxDirective contained ssl_verify_depth
 syn keyword ngxDirective contained starttls
-syn keyword ngxDirective contained state
-syn keyword ngxDirective contained status
-syn keyword ngxDirective contained status_format
-syn keyword ngxDirective contained status_zone
-syn keyword ngxDirective contained sticky
 syn keyword ngxDirective contained stub_status
 syn keyword ngxDirective contained sub_filter
 syn keyword ngxDirective contained sub_filter_last_modified
@@ -680,7 +651,6 @@
 syn keyword ngxDirective contained uwsgi_cache_methods
 syn keyword ngxDirective contained uwsgi_cache_min_uses
 syn keyword ngxDirective contained uwsgi_cache_path
-syn keyword ngxDirective contained uwsgi_cache_purge
 syn keyword ngxDirective contained uwsgi_cache_revalidate
 syn keyword ngxDirective contained uwsgi_cache_use_stale
 syn keyword ngxDirective contained uwsgi_cache_valid
@@ -744,6 +714,62 @@
 syn keyword ngxDirective contained xslt_stylesheet
 syn keyword ngxDirective contained xslt_types
 syn keyword ngxDirective contained zone
+
+" nginx-plus commercial extensions directives
+
+syn keyword ngxDirectiveBlock contained match
+syn keyword ngxDirectiveBlock contained otel_exporter
+
+syn keyword ngxDirective contained api
+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
+syn keyword ngxDirective contained auth_jwt_require
+syn keyword ngxDirective contained auth_jwt_type
+syn keyword ngxDirective contained f4f
+syn keyword ngxDirective contained f4f_buffer_size
+syn keyword ngxDirective contained fastcgi_cache_purge
+syn keyword ngxDirective contained health_check
+syn keyword ngxDirective contained health_check_timeout
+syn keyword ngxDirective contained hls
+syn keyword ngxDirective contained hls_buffers
+syn keyword ngxDirective contained hls_forward_args
+syn keyword ngxDirective contained hls_fragment
+syn keyword ngxDirective contained hls_mp4_buffer_size
+syn keyword ngxDirective contained hls_mp4_max_buffer_size
+syn keyword ngxDirective contained internal_redirect
+syn keyword ngxDirective contained keyval
+syn keyword ngxDirective contained keyval_zone
+syn keyword ngxDirective contained least_time
+syn keyword ngxDirective contained mp4_limit_rate
+syn keyword ngxDirective contained mp4_limit_rate_after
+syn keyword ngxDirective contained mqtt
+syn keyword ngxDirective contained mqtt_preread
+syn keyword ngxDirective contained mqtt_rewrite_buffer_size
+syn keyword ngxDirective contained mqtt_set_connect
+syn keyword ngxDirective contained ntlm
+syn keyword ngxDirective contained otel_service_name
+syn keyword ngxDirective contained otel_span_attr
+syn keyword ngxDirective contained otel_span_name
+syn keyword ngxDirective contained otel_trace
+syn keyword ngxDirective contained otel_trace_context
+syn keyword ngxDirective contained proxy_cache_purge
+syn keyword ngxDirective contained proxy_session_drop
+syn keyword ngxDirective contained queue
+syn keyword ngxDirective contained scgi_cache_purge
+syn keyword ngxDirective contained session_log
+syn keyword ngxDirective contained session_log_format
+syn keyword ngxDirective contained session_log_zone
+syn keyword ngxDirective contained state
+syn keyword ngxDirective contained status
+syn keyword ngxDirective contained status_format
+syn keyword ngxDirective contained status_zone
+syn keyword ngxDirective contained sticky
+syn keyword ngxDirective contained uwsgi_cache_purge
 syn keyword ngxDirective contained zone_sync
 syn keyword ngxDirective contained zone_sync_buffers
 syn keyword ngxDirective contained zone_sync_connect_retry_interval
@@ -766,7 +792,6 @@
 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/main/www/nginx-devel/Makefile.extmod
 " ----------------------------------------------------------------------------------
@@ -837,52 +862,6 @@
 " 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
-syn keyword ngxDirectiveThirdParty contained access_handler_property
-syn keyword ngxDirectiveThirdParty contained access_handler_type
-syn keyword ngxDirectiveThirdParty contained always_read_body
-syn keyword ngxDirectiveThirdParty contained auto_upgrade_ws
-syn keyword ngxDirectiveThirdParty contained body_filter_code
-syn keyword ngxDirectiveThirdParty contained body_filter_name
-syn keyword ngxDirectiveThirdParty contained body_filter_property
-syn keyword ngxDirectiveThirdParty contained body_filter_type
-syn keyword ngxDirectiveThirdParty contained content_handler_code
-syn keyword ngxDirectiveThirdParty contained content_handler_name
-syn keyword ngxDirectiveThirdParty contained content_handler_property
-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 header_filter_code
-syn keyword ngxDirectiveThirdParty contained header_filter_name
-syn keyword ngxDirectiveThirdParty contained header_filter_property
-syn keyword ngxDirectiveThirdParty contained header_filter_type
-syn keyword ngxDirectiveThirdParty contained jvm_classpath
-syn keyword ngxDirectiveThirdParty contained jvm_classpath_check
-syn keyword ngxDirectiveThirdParty contained jvm_exit_handler_code
-syn keyword ngxDirectiveThirdParty contained jvm_exit_handler_name
-syn keyword ngxDirectiveThirdParty contained jvm_handler_type
-syn keyword ngxDirectiveThirdParty contained jvm_init_handler_code
-syn keyword ngxDirectiveThirdParty contained jvm_init_handler_name
-syn keyword ngxDirectiveThirdParty contained jvm_options
-syn keyword ngxDirectiveThirdParty contained jvm_path
-syn keyword ngxDirectiveThirdParty contained jvm_var
-syn keyword ngxDirectiveThirdParty contained jvm_workers
-syn keyword ngxDirectiveThirdParty contained log_handler_code
-syn keyword ngxDirectiveThirdParty contained log_handler_name
-syn keyword ngxDirectiveThirdParty contained log_handler_property
-syn keyword ngxDirectiveThirdParty contained log_handler_type
-syn keyword ngxDirectiveThirdParty contained max_balanced_tcp_connections
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_code
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_name
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_property
-syn keyword ngxDirectiveThirdParty contained rewrite_handler_type
-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
 
@@ -932,29 +911,6 @@
 syn keyword ngxDirectiveThirdParty contained dynamic_state_file
 syn keyword ngxDirectiveThirdParty contained dynamic_upstream
 
-" 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
@@ -1004,6 +960,7 @@
 syn keyword ngxDirectiveThirdParty contained auth_gss_realm
 syn keyword ngxDirectiveThirdParty contained auth_gss_service_ccache
 syn keyword ngxDirectiveThirdParty contained auth_gss_service_name
+syn keyword ngxDirectiveThirdParty contained auth_gss_zone_name
 
 " https://github.com/kvspb/nginx-auth-ldap
 syn keyword ngxDirectiveThirdParty contained auth_ldap
@@ -1033,6 +990,7 @@
 
 " https://github.com/aperezdc/ngx-fancyindex
 syn keyword ngxDirectiveThirdParty contained fancyindex
+syn keyword ngxDirectiveThirdParty contained fancyindex_case_sensitive
 syn keyword ngxDirectiveThirdParty contained fancyindex_css_href
 syn keyword ngxDirectiveThirdParty contained fancyindex_default_sort
 syn keyword ngxDirectiveThirdParty contained fancyindex_directories_first
@@ -1121,6 +1079,7 @@
 syn keyword ngxDirectiveThirdParty contained nchan_pubsub
 syn keyword ngxDirectiveThirdParty contained nchan_pubsub_channel_id
 syn keyword ngxDirectiveThirdParty contained nchan_pubsub_location
+syn keyword ngxDirectiveThirdParty contained nchan_redis_accurate_subscriber_count
 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
@@ -1138,6 +1097,11 @@
 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_idle_channel_keepalive_backoff
+syn keyword ngxDirectiveThirdParty contained nchan_redis_idle_channel_keepalive_jitter
+syn keyword ngxDirectiveThirdParty contained nchan_redis_idle_channel_keepalive_max
+syn keyword ngxDirectiveThirdParty contained nchan_redis_idle_channel_keepalive_min
+syn keyword ngxDirectiveThirdParty contained nchan_redis_idle_channel_keepalive_safety_margin
 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
@@ -1173,6 +1137,9 @@
 syn keyword ngxDirectiveThirdParty contained nchan_redis_tls_trusted_certificate
 syn keyword ngxDirectiveThirdParty contained nchan_redis_tls_trusted_certificate_path
 syn keyword ngxDirectiveThirdParty contained nchan_redis_tls_verify_certificate
+syn keyword ngxDirectiveThirdParty contained nchan_redis_upstream_stats
+syn keyword ngxDirectiveThirdParty contained nchan_redis_upstream_stats_disconnected_timeout
+syn keyword ngxDirectiveThirdParty contained nchan_redis_upstream_stats_enabled
 syn keyword ngxDirectiveThirdParty contained nchan_redis_url
 syn keyword ngxDirectiveThirdParty contained nchan_redis_username
 syn keyword ngxDirectiveThirdParty contained nchan_redis_wait_after_connecting
@@ -1323,6 +1290,7 @@
 syn keyword ngxDirectiveThirdParty contained upload_progress_template
 
 " 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
@@ -1335,6 +1303,7 @@
 syn keyword ngxDirectiveThirdParty contained upstream_fair_shm_size
 
 " https://github.com/ayty-adrianomartins/nginx-sticky-module-ng
+syn keyword ngxDirectiveThirdParty contained sticky_hide_cookie
 syn keyword ngxDirectiveThirdParty contained sticky_no_fallback
 
 " https://github.com/Novetta/nginx-video-thumbextractor-module
@@ -1421,6 +1390,8 @@
 syn keyword ngxDirectiveThirdParty contained lua_socket_read_timeout
 syn keyword ngxDirectiveThirdParty contained lua_socket_send_lowat
 syn keyword ngxDirectiveThirdParty contained lua_socket_send_timeout
+syn keyword ngxDirectiveThirdParty contained lua_ssl_certificate
+syn keyword ngxDirectiveThirdParty contained lua_ssl_certificate_key
 syn keyword ngxDirectiveThirdParty contained lua_ssl_ciphers
 syn keyword ngxDirectiveThirdParty contained lua_ssl_conf_command
 syn keyword ngxDirectiveThirdParty contained lua_ssl_crl
@@ -1834,16 +1805,6 @@
 syn keyword ngxDirectiveThirdParty contained slowfs_cache_valid
 syn keyword ngxDirectiveThirdParty contained slowfs_temp_path
 
-" 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
-syn keyword ngxDirectiveThirdParty contained small_light_imlib2_temp_dir
-syn keyword ngxDirectiveThirdParty contained small_light_material_dir
-syn keyword ngxDirectiveThirdParty contained small_light_pattern_define
-syn keyword ngxDirectiveThirdParty contained small_light_radius_max
-syn keyword ngxDirectiveThirdParty contained small_light_sigma_max
-
 " https://github.com/openresty/srcache-nginx-module
 syn keyword ngxDirectiveThirdParty contained srcache_buffer
 syn keyword ngxDirectiveThirdParty contained srcache_default_expire
@@ -1980,6 +1941,14 @@
 syn keyword ngxDirectiveThirdParty contained websockify_read_timeout
 syn keyword ngxDirectiveThirdParty contained websockify_send_timeout
 
+" https://github.com/vozlt/nginx-module-sts
+syn keyword ngxDirectiveThirdParty contained stream_server_traffic_status
+syn keyword ngxDirectiveThirdParty contained stream_server_traffic_status_average_method
+syn keyword ngxDirectiveThirdParty contained stream_server_traffic_status_display
+syn keyword ngxDirectiveThirdParty contained stream_server_traffic_status_display_format
+syn keyword ngxDirectiveThirdParty contained stream_server_traffic_status_display_jsonp
+syn keyword ngxDirectiveThirdParty contained stream_server_traffic_status_zone
+
 " highlight
 
 hi def link ngxComment Comment
--- a/vendor/vim-syntax/ruby.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/ruby.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -3,7 +3,7 @@
 " Maintainer:		Doug Kearns <dougkearns@gmail.com>
 " URL:			https://github.com/vim-ruby/vim-ruby
 " Release Coordinator:	Doug Kearns <dougkearns@gmail.com>
-" Last Change:		2021 Nov 03
+" Last Change:		2023 Mar 16
 " ----------------------------------------------------------------------------
 "
 " Previous Maintainer:	Mirko Nasato
@@ -145,9 +145,9 @@
 syn cluster rubyStringNotTop	 contains=@rubyStringSpecial,@rubyNestedBrackets,@rubySingleCharEscape
 
 " Regular Expression Metacharacters {{{1
-syn region rubyRegexpComment	  matchgroup=rubyRegexpSpecial	 start="(?#"								    skip="\\\\\|\\)"  end=")"  contained
-syn region rubyRegexpParens	  matchgroup=rubyRegexpSpecial	 start="(\(?:\|?<\=[=!]\|?>\|?<[a-z_]\w*>\|?[imx]*-[imx]*:\=\|\%(?#\)\@!\)" skip="\\\\\|\\)"  end=")"  contained transparent contains=@rubyRegexpSpecial
-syn region rubyRegexpBrackets	  matchgroup=rubyRegexpCharClass start="\[\^\="								    skip="\\\\\|\\\]" end="\]" contained transparent contains=rubyRegexpBrackets,rubyStringEscape,rubyRegexpEscape,rubyRegexpCharClass,rubyRegexpIntersection oneline
+syn region rubyRegexpComment	  matchgroup=rubyRegexpSpecial	 start="(?#"								     skip="\\\\\|\\)"  end=")"	contained
+syn region rubyRegexpParens	  matchgroup=rubyRegexpSpecial	 start="(\%(?:\|?<\=[=!]\|?>\|?<[a-z_]\w*>\|?[imx]*-[imx]*:\=\|\%(?#\)\@!\)" skip="\\\\\|\\)"  end=")"	contained transparent contains=@rubyRegexpSpecial
+syn region rubyRegexpBrackets	  matchgroup=rubyRegexpCharClass start="\[\^\="								     skip="\\\\\|\\\]" end="\]" contained transparent contains=rubyRegexpBrackets,rubyStringEscape,rubyRegexpEscape,rubyRegexpCharClass,rubyRegexpIntersection oneline
 syn match  rubyRegexpCharClass	  "\\[DdHhRSsWw]"	 contained display
 syn match  rubyRegexpCharClass	  "\[:\^\=\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|xdigit\):\]" contained
 syn match  rubyRegexpCharClass	  "\\[pP]{^\=.\{-}}"	 contained display
@@ -346,7 +346,7 @@
 syn match rubyControl	     "\%#=1\<\%(break\|in\|next\|redo\|retry\|return\)\>"
 syn match rubyKeyword	     "\%#=1\<\%(super\|yield\)\>"
 syn match rubyBoolean	     "\%#=1\<\%(true\|false\)\>[?!]\@!"
-syn match rubyPseudoVariable "\%#=1\<\(self\|nil\)\>[?!]\@!"
+syn match rubyPseudoVariable "\%#=1\<\%(self\|nil\)\>[?!]\@!"
 syn match rubyPseudoVariable "\%#=1\<__\%(ENCODING\|dir\|FILE\|LINE\|callee\|method\)__\>"
 syn match rubyBeginEnd	     "\%#=1\<\%(BEGIN\|END\)\>"
 
@@ -399,11 +399,6 @@
 
   SynFold 'for' syn region rubyRepeatExpression start="\<for\>" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\@<![!?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop nextgroup=rubyOptionalDoLine
 
-  if !exists("ruby_minlines")
-    let ruby_minlines = 500
-  endif
-  exe "syn sync minlines=" . ruby_minlines
-
 else
   syn match rubyControl "\<def\>"    nextgroup=rubyMethodDeclaration skipwhite skipnl
   syn match rubyControl "\<class\>"  nextgroup=rubyClassDeclaration  skipwhite skipnl
@@ -412,13 +407,18 @@
   syn match rubyKeyword "\<\%(alias\|undef\)\>"
 endif
 
+if !exists("ruby_minlines")
+  let ruby_minlines = 500
+endif
+exe "syn sync minlines=" . ruby_minlines
+
 " Special Methods {{{1
 if !exists("ruby_no_special_methods")
   syn match rubyAccess	  "\<\%(public\|protected\|private\)\>" " use re=2
   syn match rubyAccess	  "\%#=1\<\%(public\|private\)_class_method\>"
   syn match rubyAccess	  "\%#=1\<\%(public\|private\)_constant\>"
   syn match rubyAccess	  "\%#=1\<module_function\>"
-  syn match rubyAttribute "\%#=1\%(\%(^\|;\)\s*\)\@<=attr\>\(\s*[.=]\)\@!" " attr is a common variable name
+  syn match rubyAttribute "\%#=1\%(\%(^\|;\)\s*\)\@<=attr\>\%(\s*[.=]\)\@!" " attr is a common variable name
   syn match rubyAttribute "\%#=1\<attr_\%(accessor\|reader\|writer\)\>"
   syn match rubyControl   "\%#=1\<\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>"
   syn match rubyEval	  "\%#=1\<eval\>"
@@ -435,8 +435,8 @@
 syn keyword rubyTodo	     FIXME NOTE TODO OPTIMIZE HACK REVIEW XXX todo contained
 syn match   rubyEncoding     "[[:alnum:]-_]\+" contained display
 syn match   rubyMagicComment "\c\%<3l#\s*\zs\%(coding\|encoding\):"					contained nextgroup=rubyEncoding skipwhite
-syn match   rubyMagicComment "\c\%<10l#\s*\zs\%(frozen_string_literal\|warn_indent\|warn_past_scope\):" contained nextgroup=rubyBoolean  skipwhite
-syn match   rubyMagicComment "\c\%<10l#\s*\zs\%(shareable_constant_value\):"				contained nextgroup=rubyEncoding  skipwhite
+syn match   rubyMagicComment "\c\%<10l#\s*\zs\%(frozen[-_]string[-_]literal\|warn[-_]indent\|warn[-_]past[-_]scope\):" contained nextgroup=rubyBoolean  skipwhite
+syn match   rubyMagicComment "\c\%<10l#\s*\zs\%(shareable[-_]constant[-_]value\):"				contained nextgroup=rubyEncoding  skipwhite
 syn match   rubyComment	     "#.*" contains=@rubyCommentSpecial,rubySpaceError,@Spell
 
 syn cluster rubyCommentSpecial contains=rubySharpBang,rubyTodo,rubyMagicComment
--- a/vendor/vim-syntax/shared/typescriptcommon.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/shared/typescriptcommon.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:     TypeScript and TypeScriptReact
-" Maintainer:   Bram Moolenaar, Herrington Darkholme
-" Last Change:	2021 Sep 22
+" Maintainer:   Herrington Darkholme
+" Last Change:  2024 May 24
 " Based On:     Herrington Darkholme's yats.vim
-" Changes:      See https:github.com/HerringtonDarkholme/yats.vim
+" Changes:      See https://github.com/HerringtonDarkholme/yats.vim
 " Credits:      See yats.vim on github
 
 if &cpo =~ 'C'
@@ -49,13 +49,13 @@
   \ nextgroup=@afterIdentifier
   \ skipwhite skipempty
 
-syntax region  typescriptIndexExpr      contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
+syntax region  typescriptIndexExpr      contained matchgroup=typescriptProperty start=/\[/ end=/]/ contains=@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
 
 syntax match   typescriptDotNotation           /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
 syntax match   typescriptDotStyleNotation      /\.style\./ nextgroup=typescriptDOMStyle transparent
 " syntax match   typescriptFuncCall              contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
 syntax region  typescriptParenExp              matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty
-syntax region  typescriptFuncCallArg           contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptValue,@typescriptComments nextgroup=@typescriptSymbols,typescriptDotNotation skipwhite skipempty skipnl
+syntax region  typescriptFuncCallArg           contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptValue,@typescriptComments,typescriptCastKeyword nextgroup=@typescriptSymbols,typescriptDotNotation skipwhite skipempty skipnl
 syntax region  typescriptEventFuncCallArg      contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptEventExpression
 syntax region  typescriptEventString           contained start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/ contains=typescriptASCII,@events
 
@@ -116,20 +116,33 @@
 
 syntax region  typescriptTemplateSubstitution matchgroup=typescriptTemplateSB
   \ start=/\${/ end=/}/
-  \ contains=@typescriptValue
+  \ contains=@typescriptValue,typescriptCastKeyword
   \ contained
 
 
-syntax region  typescriptString 
+syntax region  typescriptString
   \ start=+\z(["']\)+  skip=+\\\%(\z1\|$\)+  end=+\z1+ end=+$+
   \ contains=typescriptSpecial,@Spell
+  \ nextgroup=@typescriptSymbols
+  \ skipwhite skipempty
   \ extend
 
 syntax match   typescriptSpecial            contained "\v\\%(x\x\x|u%(\x{4}|\{\x{1,6}})|c\u|.)"
 
-" From vim runtime
-" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48>
-syntax region  typescriptRegexpString          start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gimuy]\{0,5\}\s*$+ end=+/[gimuy]\{0,5\}\s*[;.,)\]}:]+me=e-1 nextgroup=typescriptDotNotation oneline
+" From pangloss/vim-javascript
+" <https://github.com/pangloss/vim-javascript/blob/d6e137563c47fb59f26ed25d044c0c7532304f18/syntax/javascript.vim#L64-L72>
+syntax region  typescriptRegexpCharClass    contained start=+\[+ skip=+\\.+ end=+\]+ contains=typescriptSpecial extend
+syntax match   typescriptRegexpBoundary     contained "\v\c[$^]|\\b"
+syntax match   typescriptRegexpBackRef      contained "\v\\[1-9]\d*"
+syntax match   typescriptRegexpQuantifier   contained "\v[^\\]%([?*+]|\{\d+%(,\d*)?})\??"lc=1
+syntax match   typescriptRegexpOr           contained "|"
+syntax match   typescriptRegexpMod          contained "\v\(\?[:=!>]"lc=1
+syntax region  typescriptRegexpGroup        contained start="[^\\]("lc=1 skip="\\.\|\[\(\\.\|[^]]\+\)\]" end=")" contains=typescriptRegexpCharClass,@typescriptRegexpSpecial keepend
+syntax region  typescriptRegexpString
+  \ start=+\%(\%(\<return\|\<typeof\|\_[^)\]'"[:blank:][:alnum:]_$]\)\s*\)\@<=/\ze[^*/]+ skip=+\\.\|\[[^]]\{1,}\]+ end=+/[gimyus]\{,6}+
+  \ contains=typescriptRegexpCharClass,typescriptRegexpGroup,@typescriptRegexpSpecial
+  \ oneline keepend extend
+syntax cluster typescriptRegexpSpecial    contains=typescriptSpecial,typescriptRegexpBoundary,typescriptRegexpBackRef,typescriptRegexpQuantifier,typescriptRegexpOr,typescriptRegexpMod
 
 syntax region  typescriptTemplate
   \ start=/`/  skip=/\\\\\|\\`\|\n/  end=/`\|$/
@@ -140,7 +153,7 @@
 "Array
 syntax region  typescriptArray matchgroup=typescriptBraces
   \ start=/\[/ end=/]/
-  \ contains=@typescriptValue,@typescriptComments
+  \ contains=@typescriptValue,@typescriptComments,typescriptCastKeyword
   \ nextgroup=@typescriptSymbols,typescriptDotNotation
   \ skipwhite skipempty fold
 
@@ -149,11 +162,11 @@
 syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/       nextgroup=@typescriptSymbols skipwhite skipempty
 syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
 syntax match typescriptNumber /\<\%(\d[0-9_]*\%(\.\d[0-9_]*\)\=\|\.\d[0-9_]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/
-  \ nextgroup=typescriptSymbols skipwhite skipempty
+  \ nextgroup=@typescriptSymbols skipwhite skipempty
 
 syntax region  typescriptObjectLiteral         matchgroup=typescriptBraces
   \ start=/{/ end=/}/
-  \ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName,typescriptObjectAsyncKeyword
+  \ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName,typescriptObjectAsyncKeyword,typescriptTernary,typescriptCastKeyword
   \ fold contained
 
 syntax keyword typescriptObjectAsyncKeyword async contained
@@ -223,11 +236,11 @@
 
 syntax cluster typescriptSymbols               contains=typescriptBinaryOp,typescriptKeywordOp,typescriptTernary,typescriptAssign,typescriptCastKeyword
 
-" runtime syntax/basic/reserved.vim
+" runtime syntax/ts-common/reserved.vim
 "Import
 syntax keyword typescriptImport                from as
 syntax keyword typescriptImport                import
-  \ nextgroup=typescriptImportType
+  \ nextgroup=typescriptImportType,typescriptTypeBlock,typescriptDefaultImportName
   \ skipwhite
 syntax keyword typescriptImportType            type
   \ contained
@@ -238,20 +251,11 @@
   \ contained skipwhite skipempty skipnl
 syntax keyword typescriptModule                namespace module
 
-"this
 
-"JavaScript Prototype
-syntax keyword typescriptPrototype             prototype
-  \ nextgroup=@afterIdentifier
-
-syntax keyword typescriptCastKeyword           as
+syntax keyword typescriptCastKeyword           as satisfies
   \ nextgroup=@typescriptType
   \ skipwhite
 
-"Program Keywords
-syntax keyword typescriptIdentifier            arguments this super
-  \ nextgroup=@afterIdentifier
-
 syntax keyword typescriptVariable              let var
   \ nextgroup=@typescriptVariableDeclarations
   \ skipwhite skipempty
@@ -260,6 +264,10 @@
   \ nextgroup=typescriptEnum,@typescriptVariableDeclarations
   \ skipwhite skipempty
 
+syntax keyword typescriptUsing              using
+  \ nextgroup=@typescriptVariableDeclarations
+  \ skipwhite skipempty
+
 syntax region typescriptEnum matchgroup=typescriptEnumKeyword start=/enum / end=/\ze{/
   \ nextgroup=typescriptBlock
   \ skipwhite
@@ -272,7 +280,6 @@
 
 syntax keyword typescriptForOperator           contained in of
 syntax keyword typescriptBoolean               true false nextgroup=@typescriptSymbols skipwhite skipempty
-syntax keyword typescriptNull                  null undefined nextgroup=@typescriptSymbols skipwhite skipempty
 syntax keyword typescriptMessage               alert confirm prompt status
   \ nextgroup=typescriptDotNotation,typescriptFuncCallArg
 syntax keyword typescriptGlobal                self top parent
@@ -290,10 +297,10 @@
 syntax keyword typescriptDefault               default containedin=typescriptBlock nextgroup=@typescriptValue,typescriptClassKeyword,typescriptInterfaceKeyword skipwhite oneline
 syntax keyword typescriptStatementKeyword      with
 syntax keyword typescriptStatementKeyword      yield skipwhite nextgroup=@typescriptValue containedin=typescriptBlock
-syntax keyword typescriptStatementKeyword      return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock
 
 syntax keyword typescriptTry                   try
-syntax keyword typescriptExceptions            catch throw finally
+syntax keyword typescriptExceptions            throw finally
+syntax keyword typescriptExceptions            catch nextgroup=typescriptCall skipwhite skipempty oneline
 syntax keyword typescriptDebugger              debugger
 
 syntax keyword typescriptAsyncFor              await nextgroup=typescriptLoopParen skipwhite skipempty contained
@@ -321,6 +328,24 @@
   \ typescriptEnumKeyword,typescriptEnum,
   \ typescriptModule
 
+syntax keyword typescriptIdentifier            arguments  nextgroup=@afterIdentifier
+syntax match typescriptDefaultImportName /\v\h\k*( |,)/
+  \ contained
+  \ nextgroup=typescriptTypeBlock
+  \ skipwhite skipempty
+
+syntax region  typescriptTypeBlock
+  \ matchgroup=typescriptBraces
+  \ start=/{/ end=/}/
+  \ contained
+  \ contains=typescriptIdentifierName,typescriptImportType
+  \ fold
+
+"Program Keywords
+syntax keyword typescriptNull null undefined nextgroup=@typescriptSymbols skipwhite skipempty
+syntax keyword typescriptIdentifier this super prototype nextgroup=@afterIdentifier
+syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock
+
 "Syntax coloring for Node.js shebang line
 syntax match   shellbang "^#!.*node\>"
 syntax match   shellbang "^#!.*iojs\>"
@@ -536,7 +561,7 @@
   \ contained skipwhite skipnl
 
 syntax region typescriptFuncType matchgroup=typescriptParens
-  \ start=/(/ end=/)\s*=>/me=e-2
+  \ start=/(\(\k\+:\|)\)\@=/ end=/)\s*=>/me=e-2
   \ contains=@typescriptParameterList
   \ nextgroup=typescriptFuncTypeArrow
   \ contained skipwhite skipnl oneline
@@ -546,7 +571,6 @@
   \ containedin=typescriptFuncType
   \ contained skipwhite skipnl
 
-
 syntax keyword typescriptConstructorType new
   \ nextgroup=@typescriptFunctionType
   \ contained skipwhite skipnl
@@ -623,25 +647,24 @@
 
 
 " extension
-if get(g:, 'yats_host_keyword', 1)
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function Boolean
-  " use of nextgroup Suggested by Doug Kearns
+if get(g:, 'typescript_host_keyword', 1)
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function Boolean nextgroup=typescriptFuncCallArg
   syntax keyword typescriptGlobal containedin=typescriptIdentifierName Error EvalError nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy nextgroup=typescriptFuncCallArg
   syntax keyword typescriptGlobal containedin=typescriptIdentifierName arguments
   hi def link typescriptGlobal Structure
   syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName eval uneval nextgroup=typescriptFuncCallArg
@@ -675,12 +698,12 @@
   hi def link typescriptStringStaticMethod Keyword
   syntax keyword typescriptStringMethod contained anchor charAt charCodeAt codePointAt nextgroup=typescriptFuncCallArg
   syntax keyword typescriptStringMethod contained concat endsWith includes indexOf lastIndexOf nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained link localeCompare match normalize nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained padStart padEnd repeat replace search nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptStringMethod contained link localeCompare match matchAll normalize nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptStringMethod contained padStart padEnd repeat replace replaceAll search nextgroup=typescriptFuncCallArg
   syntax keyword typescriptStringMethod contained slice split startsWith substr substring nextgroup=typescriptFuncCallArg
   syntax keyword typescriptStringMethod contained toLocaleLowerCase toLocaleUpperCase nextgroup=typescriptFuncCallArg
   syntax keyword typescriptStringMethod contained toLowerCase toString toUpperCase trim nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptStringMethod contained valueOf nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptStringMethod contained trimEnd trimStart valueOf nextgroup=typescriptFuncCallArg
   syntax cluster props add=typescriptStringMethod
   hi def link typescriptStringMethod Keyword
 
@@ -689,18 +712,18 @@
   syntax keyword typescriptArrayStaticMethod contained from isArray of nextgroup=typescriptFuncCallArg
   hi def link typescriptArrayStaticMethod Keyword
   syntax keyword typescriptArrayMethod contained concat copyWithin entries every fill nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained filter find findIndex forEach indexOf nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained includes join keys lastIndexOf map nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptArrayMethod contained filter find findIndex flat flatMap forEach nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptArrayMethod contained includes indexOf join keys lastIndexOf map nextgroup=typescriptFuncCallArg
   syntax keyword typescriptArrayMethod contained pop push reduce reduceRight reverse nextgroup=typescriptFuncCallArg
   syntax keyword typescriptArrayMethod contained shift slice some sort splice toLocaleString nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptArrayMethod contained toSource toString unshift nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptArrayMethod contained toSource toString unshift values nextgroup=typescriptFuncCallArg
   syntax cluster props add=typescriptArrayMethod
   hi def link typescriptArrayMethod Keyword
 
   syntax keyword typescriptGlobal containedin=typescriptIdentifierName Object nextgroup=typescriptGlobalObjectDot,typescriptFuncCallArg
   syntax match   typescriptGlobalObjectDot /\./ contained nextgroup=typescriptObjectStaticMethod,typescriptProp
   syntax keyword typescriptObjectStaticMethod contained create defineProperties defineProperty nextgroup=typescriptFuncCallArg
-  syntax keyword typescriptObjectStaticMethod contained entries freeze getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptObjectStaticMethod contained entries freeze fromEntries getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg
   syntax keyword typescriptObjectStaticMethod contained getOwnPropertyDescriptor getOwnPropertyNames nextgroup=typescriptFuncCallArg
   syntax keyword typescriptObjectStaticMethod contained getOwnPropertySymbols getPrototypeOf nextgroup=typescriptFuncCallArg
   syntax keyword typescriptObjectStaticMethod contained is isExtensible isFrozen isSealed nextgroup=typescriptFuncCallArg
@@ -715,7 +738,7 @@
 
   syntax keyword typescriptGlobal containedin=typescriptIdentifierName Symbol nextgroup=typescriptGlobalSymbolDot,typescriptFuncCallArg
   syntax match   typescriptGlobalSymbolDot /\./ contained nextgroup=typescriptSymbolStaticProp,typescriptSymbolStaticMethod,typescriptProp
-  syntax keyword typescriptSymbolStaticProp contained length iterator match replace
+  syntax keyword typescriptSymbolStaticProp contained description length iterator match matchAll replace
   syntax keyword typescriptSymbolStaticProp contained search split hasInstance isConcatSpreadable
   syntax keyword typescriptSymbolStaticProp contained unscopables species toPrimitive
   syntax keyword typescriptSymbolStaticProp contained toStringTag
@@ -771,7 +794,7 @@
   syntax match   typescriptGlobalRegExpDot /\./ contained nextgroup=typescriptRegExpStaticProp,typescriptProp
   syntax keyword typescriptRegExpStaticProp contained lastIndex
   hi def link typescriptRegExpStaticProp Keyword
-  syntax keyword typescriptRegExpProp contained global ignoreCase multiline source sticky
+  syntax keyword typescriptRegExpProp contained dotAll global ignoreCase multiline source sticky
   syntax cluster props add=typescriptRegExpProp
   hi def link typescriptRegExpProp Keyword
   syntax keyword typescriptRegExpMethod contained exec test nextgroup=typescriptFuncCallArg
@@ -805,7 +828,7 @@
 
   syntax keyword typescriptGlobal containedin=typescriptIdentifierName Promise nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg
   syntax match   typescriptGlobalPromiseDot /\./ contained nextgroup=typescriptPromiseStaticMethod,typescriptProp
-  syntax keyword typescriptPromiseStaticMethod contained resolve reject all race nextgroup=typescriptFuncCallArg
+  syntax keyword typescriptPromiseStaticMethod contained all allSettled any race reject resolve nextgroup=typescriptFuncCallArg
   hi def link typescriptPromiseStaticMethod Keyword
   syntax keyword typescriptPromiseMethod contained then catch finally nextgroup=typescriptFuncCallArg
   syntax cluster props add=typescriptPromiseMethod
@@ -1232,7 +1255,8 @@
   syntax cluster props add=typescriptBOMHistoryMethod
   hi def link typescriptBOMHistoryMethod Keyword
 
-  syntax keyword typescriptGlobal containedin=typescriptIdentifierName console
+  syntax keyword typescriptGlobal containedin=typescriptIdentifierName console nextgroup=typescriptGlobalConsoleDot
+  syntax match   typescriptGlobalConsoleDot /\./ contained nextgroup=typescriptConsoleMethod,typescriptProp
   syntax keyword typescriptConsoleMethod contained count dir error group groupCollapsed nextgroup=typescriptFuncCallArg
   syntax keyword typescriptConsoleMethod contained groupEnd info log time timeEnd trace nextgroup=typescriptFuncCallArg
   syntax keyword typescriptConsoleMethod contained warn nextgroup=typescriptFuncCallArg
@@ -1735,8 +1759,6 @@
   syntax keyword typescriptServiceWorkerEvent contained install activate fetch
   syntax cluster events add=typescriptServiceWorkerEvent
   hi def link typescriptServiceWorkerEvent Title
-
-
 endif
 
 " patch
@@ -1764,6 +1786,7 @@
   \ typescriptClassStatic,
   \ typescriptAccessibilityModifier,
   \ typescriptReadonlyModifier,
+  \ typescriptAutoAccessor,
   \ typescriptMethodAccessor,
   \ @typescriptMembers
   " \ typescriptMemberVariableDeclaration
@@ -1780,7 +1803,9 @@
 
 syntax keyword typescriptAccessibilityModifier public private protected contained
 
-syntax keyword typescriptReadonlyModifier readonly contained
+syntax keyword typescriptReadonlyModifier readonly override contained
+
+syntax keyword typescriptAutoAccessor accessor contained
 
 syntax region  typescriptStringMember   contained
   \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1/
@@ -1789,7 +1814,7 @@
 
 syntax region  typescriptComputedMember   contained matchgroup=typescriptProperty
   \ start=/\[/rs=s+1 end=/]/
-  \ contains=@typescriptValue,typescriptMember,typescriptMappedIn
+  \ contains=@typescriptValue,typescriptMember,typescriptMappedIn,typescriptCastKeyword
   \ nextgroup=@memberNextGroup
   \ skipwhite skipempty
 
@@ -1861,7 +1886,7 @@
 
 "Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement
 syntax cluster typescriptStatement
-  \ contains=typescriptBlock,typescriptVariable,
+  \ contains=typescriptBlock,typescriptVariable,typescriptUsing,
   \ @typescriptTopExpression,typescriptAssign,
   \ typescriptConditional,typescriptRepeat,typescriptBranch,
   \ typescriptLabel,typescriptStatementKeyword,
@@ -1899,16 +1924,14 @@
 syntax cluster typescriptEventExpression       contains=typescriptArrowFuncDef,typescriptParenExp,@typescriptValue,typescriptRegexpString,@typescriptEventTypes,typescriptOperator,typescriptGlobal,jsxRegion
 
 syntax keyword typescriptAsyncFuncKeyword      async
-  \ nextgroup=typescriptFuncKeyword,typescriptArrowFuncDef
+  \ nextgroup=typescriptFuncKeyword,typescriptArrowFuncDef,typescriptArrowFuncTypeParameter
   \ skipwhite
 
 syntax keyword typescriptAsyncFuncKeyword      await
-  \ nextgroup=@typescriptValue
+  \ nextgroup=@typescriptValue,typescriptUsing
   \ skipwhite
 
-syntax keyword typescriptFuncKeyword           function
-  \ nextgroup=typescriptAsyncFunc,typescriptFuncName,@typescriptCallSignature
-  \ skipwhite skipempty
+syntax keyword typescriptFuncKeyword function nextgroup=typescriptAsyncFunc,typescriptFuncName,@typescriptCallSignature skipwhite skipempty
 
 syntax match   typescriptAsyncFunc             contained /*/
   \ nextgroup=typescriptFuncName,@typescriptCallSignature
@@ -1918,39 +1941,33 @@
   \ nextgroup=@typescriptCallSignature
   \ skipwhite
 
-" destructuring ({ a: ee }) =>
-syntax match   typescriptArrowFuncDef          contained /(\(\s*\({\_[^}]*}\|\k\+\)\(:\_[^)]\)\?,\?\)\+)\s*=>/
-  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
-  \ nextgroup=@typescriptExpression,typescriptBlock
-  \ skipwhite skipempty
-
-" matches `(a) =>` or `([a]) =>` or
-" `(
-"  a) =>`
-syntax match   typescriptArrowFuncDef          contained /(\(\_s*[a-zA-Z\$_\[.]\_[^)]*\)*)\s*=>/
-  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
-  \ nextgroup=@typescriptExpression,typescriptBlock
-  \ skipwhite skipempty
-
 syntax match   typescriptArrowFuncDef          contained /\K\k*\s*=>/
   \ contains=typescriptArrowFuncArg,typescriptArrowFunc
   \ nextgroup=@typescriptExpression,typescriptBlock
   \ skipwhite skipempty
 
-" TODO: optimize this pattern
-syntax region   typescriptArrowFuncDef          contained start=/(\_[^(^)]*):/ end=/=>/
-  \ contains=typescriptArrowFuncArg,typescriptArrowFunc,typescriptTypeAnnotation
+syntax match   typescriptArrowFuncDef          contained /(\%(\_[^()]\+\|(\_[^()]*)\)*)\_s*=>/
+  \ contains=typescriptArrowFuncArg,typescriptArrowFunc,@typescriptCallSignature
+  \ nextgroup=@typescriptExpression,typescriptBlock
+  \ skipwhite skipempty
+
+syntax region  typescriptArrowFuncDef          contained start=/(\%(\_[^()]\+\|(\_[^()]*)\)*):/ matchgroup=typescriptArrowFunc end=/=>/
+  \ contains=typescriptArrowFuncArg,typescriptTypeAnnotation,@typescriptCallSignature
   \ nextgroup=@typescriptExpression,typescriptBlock
   \ skipwhite skipempty keepend
 
+syntax region  typescriptArrowFuncTypeParameter start=/</ end=/>/
+  \ contains=@typescriptTypeParameterCluster
+  \ nextgroup=typescriptArrowFuncDef
+  \ contained skipwhite skipnl
+
 syntax match   typescriptArrowFunc             /=>/
 syntax match   typescriptArrowFuncArg          contained /\K\k*/
-syntax region  typescriptArrowFuncArg          contained start=/<\|(/ end=/\ze=>/ contains=@typescriptCallSignature
 
 syntax region typescriptReturnAnnotation contained start=/:/ end=/{/me=e-1 contains=@typescriptType nextgroup=typescriptBlock
 
 
-syntax region typescriptFuncImpl contained start=/function\>/ end=/{/me=e-1
+syntax region typescriptFuncImpl contained start=/function\>/ end=/{\|;\|\n/me=e-1
   \ contains=typescriptFuncKeyword
   \ nextgroup=typescriptBlock
 
@@ -1970,7 +1987,7 @@
   \ nextgroup=typescriptFuncCallArg,typescriptTypeArguments
   \ contains=@_semantic,typescriptDotNotation
 
-" Define the default highlighting.
+
 hi def link typescriptReserved             Error
 
 hi def link typescriptEndColons            Exception
@@ -2013,6 +2030,7 @@
 hi def link typescriptBranch               Conditional
 hi def link typescriptIdentifier           Structure
 hi def link typescriptVariable             Identifier
+hi def link typescriptUsing                Identifier
 hi def link typescriptDestructureVariable  PreProc
 hi def link typescriptEnumKeyword          Identifier
 hi def link typescriptRepeat               Repeat
@@ -2050,16 +2068,13 @@
 hi def link typescriptAsyncFunc            Keyword
 hi def link typescriptArrowFunc            Type
 hi def link typescriptFuncName             Function
-hi def link typescriptFuncArg              PreProc
+hi def link typescriptFuncCallArg          PreProc
 hi def link typescriptArrowFuncArg         PreProc
 hi def link typescriptFuncComma            Operator
 
 hi def link typescriptClassKeyword         Keyword
 hi def link typescriptClassExtends         Keyword
-" hi def link typescriptClassName            Function
 hi def link typescriptAbstract             Special
-" hi def link typescriptClassHeritage        Function
-" hi def link typescriptInterfaceHeritage    Function
 hi def link typescriptClassStatic          StorageClass
 hi def link typescriptReadonlyModifier     Keyword
 hi def link typescriptInterfaceKeyword     Keyword
@@ -2077,6 +2092,7 @@
 hi def link typescriptConstructorType       Function
 hi def link typescriptTypeQuery             Keyword
 hi def link typescriptAccessibilityModifier Keyword
+hi def link typescriptAutoAccessor          Keyword
 hi def link typescriptOptionalMark          PreProc
 hi def link typescriptFuncType              Special
 hi def link typescriptMappedIn              Special
--- a/vendor/vim-syntax/slim.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/slim.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -70,7 +70,7 @@
 syn region slimPlainFilter      matchgroup=slimFilter start="^\z(\s*\)\%(rdoc\|textile\|markdown\|wiki\):\s*$" end="^\%(\z1 \| *$\)\@!"
 syn region slimJavascriptFilter matchgroup=slimFilter start="^\z(\s*\)javascript:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@htmlJavaScript,slimInterpolation keepend
 syn region slimCoffeeFilter matchgroup=slimFilter start="^\z(\s*\)coffee:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@coffeeAll,slimInterpolation keepend
-syn region slimCSSFilter matchgroup=slimFilter start="^\z(\s*\)css:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@htmlCss,slimInterpolation keepend
+syn region slimCSSFilter matchgroup=slimFilter start="^\z(\s*\)\%(css\|scss\):\s*$" end="^\%(\z1 \| *$\)\@!" contains=@htmlCss,slimInterpolation keepend
 syn region slimSassFilter matchgroup=slimFilter start="^\z(\s*\)sass:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@hamlSassTop
 syn region slimRubyFilter matchgroup=slimFilter start="^\z(\s*\)ruby:\s*$" end="^\%(\z1 \| *$\)\@!" contains=@slimRubyTop keepend
 
--- a/vendor/vim-syntax/typescript.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/typescript.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:     TypeScript
-" Maintainer:   Bram Moolenaar, Herrington Darkholme
-" Last Change:	2019 Nov 30
+" Maintainer:   Herrington Darkholme
+" Last Change:  2024 May 24
 " Based On:     Herrington Darkholme's yats.vim
-" Changes:      Go to https:github.com/HerringtonDarkholme/yats.vim for recent changes.
+" Changes:      Go to https://github.com/HerringtonDarkholme/yats.vim for recent changes.
 " Origin:       https://github.com/othree/yajs
 " Credits:      Kao Wei-Ko(othree), Jose Elera Campana, Zhao Yi, Claudio Fleiner, Scott Shattuck
 "               (This file is based on their hard work), gumnos (From the #vim
--- a/vendor/vim-syntax/typescriptreact.vim	Mon Aug 19 17:03:52 2024 +0900
+++ b/vendor/vim-syntax/typescriptreact.vim	Mon Aug 19 17:04:13 2024 +0900
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:     TypeScript with React (JSX)
-" Maintainer:   Bram Moolenaar
-" Last Change:	2019 Nov 30
+" Maintainer:   The Vim Project <https://github.com/vim/vim>
+" Last Change:  2024 May 26
 " Based On:     Herrington Darkholme's yats.vim
-" Changes:      See https:github.com/HerringtonDarkholme/yats.vim
+" Changes:      See https://github.com/HerringtonDarkholme/yats.vim
 " Credits:      See yats.vim on github
 
 if !exists("main_syntax")
@@ -118,13 +118,14 @@
 
 " <tag id="sample">
 "         s~~~~~~e
-syntax region tsxString contained start=+"+ end=+"+ contains=tsxEntity,@Spell display
+syntax region tsxString contained start=+"+ skip=+\\"+ end=+"+ contains=tsxEntity,@Spell display
+syntax region tsxString contained start=+'+ skip=+\\'+ end=+'+ contains=tsxEntity,@Spell display
 
 " <tag key={this.props.key}>
 "          s~~~~~~~~~~~~~~e
 syntax region tsxEscJs
     \ contained
-    \ contains=@typescriptValue,@tsxComment
+    \ contains=@typescriptValue,@tsxComment,typescriptObjectSpread
     \ matchgroup=typescriptBraces
     \ start=+{+
     \ end=+}+