1229 Commits
Author SHA1 Message Date
zeertzjqandJulien Voisin 8e34903b6a vim-patch:e9c5e56: runtime(python): improve performance of number and ellipsis matching (#41608)
Problem:  The floating-point `.d` number match and the two ellipsis
          matches are slow: each begins with a look-behind, which cannot
          be reduced to a fixed first character, so the automatic regexp
          engine selects the slower NFA backend for them.
Solution: Force the backtracking engine with \%#=1 on those three
          patterns; it evaluates the look-behind far more efficiently.
          Highlighting is unchanged.

Measured with :syntime over a 40000 line corpus: the three affected
rules drop from ~0.13s to ~0.008s (about -93%), which cuts the total
syntax parse cost by ~10% (1.85s to 1.65s).

closes: vim/vim#21194

https://github.com/vim/vim/commit/e9c5e56081d1923caab5efce1f6fca4e235cf350

Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
2026-09-02 13:51:57 +08:00
8edcb401cf vim-patch:5c9c5a4: runtime(c): syntax depends on the 'iskeyword' option
Problem:  C keywords are matched using the characters from 'iskeyword',
          so changing that option highlights part of an identifier as a
          keyword and leaves keywords containing an underscore
          unhighlighted.
Solution: Set the keyword characters with ":syn iskeyword".

fixes:  vim/vim#21173
closes: vim/vim#21176

https://github.com/vim/vim/commit/5c9c5a43c183e8d1e4156b468343d0aa0f3b081c

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Co-Authored-By: Maxim Kim <habamax@gmail.com>
2026-08-31 10:46:52 +08:00
zeertzjqandJulien Voisin 7f7115f752 vim-patch:560dfad: runtime(yaml): syntax highlighting of numbers is slow
Problem:  YAML syntax highlighting is slow; the yamlInteger and yamlFloat
          rules alone account for over half of the parsing time.
Solution: The number, null and timestamp scalar patterns begin with a
          lookbehind, which stops the regexp engine from using a
          first-character search, so the automatic engine selects the
          much slower NFA engine.  Force the backtracking engine with
          \%#=1 on these patterns for a large speedup with identical
          matches (Jordan).

On a 40000-line YAML file the total :syntime drops by about 30%: the
yamlFloat rule goes from 0.61s to 0.17s and yamlInteger from 0.42s to 0.31s.
The engine override is applied only to the lookbehind-anchored number rules;
forcing it on the structural plain-scalar and mapping-key patterns regresses
them badly, so those are left on the automatic engine.

closes: vim/vim#21182

https://github.com/vim/vim/commit/560dfadac8813ff040cf7d51cc44d4a73c92c701

Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
2026-08-31 10:45:59 +08:00
zeertzjqandmdspan 5cd7b3a9ad vim-patch:9.2.1018: filetype: radvd config files are not recognized (#41534)
Problem:  filetype: radvd config files are not recognized
Solution: Detect radvd.conf as radvd filetype, include syntax and
          filetype plugins, add syntax tests, update the menus (mdspan).

Reference:
https://linux.die.net/man/5/radvd.conf

closes: vim/vim#21159

https://github.com/vim/vim/commit/d4c8c66bed0615058073985627a15e9c1c01af06

Co-authored-by: mdspan <mdspan.github@gmail.com>
2026-08-29 08:49:18 +08:00
zeertzjqandJulien Voisin 2fbc82820b vim-patch:964a495: runtime(html): match plain tag and attribute names as keywords (#41522)
Problem:  Several tag and attribute names are highlighted with regular
          expression alternations even though they are plain words.  A
          :syn-match with an alternation is retried at nearly every
          position of every tag.
Solution: Move the plain-word tag names (b, i, u, em, strong, head,
          body, title, h1-h6) and the "label", "href" and "title"
          attribute names into syn-keyword lists, leaving only the
          genuinely hyphenated names "accept-charset" and "http-equiv"
          as matches.

Profiling a 6000-line HTML file with :syntime, the converted rules drop
from a combined 0.044s to 0.004s, lowering total per-rule syntax time
by about 15%.  Highlighting is unchanged except that a bare valueless
"href" attribute is now highlighted as an attribute, consistent with a
bare "title", which already behaved that way.

closes: vim/vim#21155

https://github.com/vim/vim/commit/964a495bef698368f4e200b1d22d63da27f47948

Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
2026-08-28 10:09:15 +08:00
zeertzjqandBarrett Ruth 35ae925da9 vim-patch:9.2.1002: filetype: bazelrc files are not recognized (#41496)
Problem:  filetype: bazelrc files are not recognized
Solution: Detect *.bazelrc and tools/bazel.rc files as bazelrc filetype,
          include syntax und filetype plugins, update the menus
          (Barrett Ruth).

closes: vim/vim#21146

https://github.com/vim/vim/commit/1afe7ad1bb72f36a80f8e625b91d0e7506ce8985

Co-authored-by: Barrett Ruth <br@barrettruth.com>
2026-08-26 11:41:17 +08:00
zeertzjqandShay Hill 3733a31cd8 vim-patch:ee1517d: runtime(pov): nested pov comments break highlighting (#41407)
A line comment nested in a block comment (the comment plugin uses a
block comment on every line) break syntax highlighting and shade the
rest of the file as a comment.

closes: vim/vim#21109

https://github.com/vim/vim/commit/ee1517df53bc34f22f501c56ec6773df1fc0c484

Co-authored-by: Shay Hill <shay_public@hotmail.com>
2026-08-21 09:25:27 +08:00
zeertzjqandAliaksei Budavei 24183950e1 vim-patch:5d41506: runtime(sh): Selectively suppress matching syntax errors (#41302)
As a refinement upon "g:sh_no_error", support not matching
particular classes of syntax errors.  Look up syntax rule
names and list them with:
‐-----------------------------------------------------------
let g:sh_no_error_rules = ["shCurlyError", "shParenError"]
‐-----------------------------------------------------------

closes: vim/vim#20935

https://github.com/vim/vim/commit/5d41506eb4895fbf0b6ccf4067c7f6e3c8ac568b

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2026-08-14 08:47:30 +08:00
zeertzjqandDoug Kearns e8a1addb5a vim-patch:90a9a8c: runtime(algol68): Update syntax, fix syncing (#41291)
Use "fromstart" syncing.

Pragment regions are delimited by shared start/end tokens which render
other syncing types largely useless.  A sync point located in the middle
of a multiline comment cannot distinguish the end token from a start
token and the erroneously created region runs to EOF.

closes: vim/vim#21032

https://github.com/vim/vim/commit/90a9a8c7523741f4a9cd091a0f1727902e8c9340

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-08-13 08:27:50 +08:00
zeertzjqandJosef Schönberger 5f15c0e959 vim-patch:2e8c81e: runtime(strace): highlight stack trace as comment (#41266)
strace supports printing a complete stack trace for each syscall using
the `-k` (`--stack-trace`) flag. Highlight the trace as a comment.

closes: vim/vim#20998

https://github.com/vim/vim/commit/2e8c81ea093ca84fa8402cb140422d5338bbb6d9

Co-authored-by: Josef Schönberger <josef.schoenberger@tum.de>
2026-08-11 01:30:08 +00:00
zeertzjqandBogdan Barbu 9c738cb718 vim-patch:9.2.0920: filetype: json-ld files are not recognized
Problem:  filetype: json-ld files are not recognized
Solution: Detect *.jsonld files as jsonld filetype, include
          filetype, indent and syntax plugins (Bogdan Barbu).

Reference:
https://www.w3.org/TR/json-ld11/

closes: vim/vim#20954

https://github.com/vim/vim/commit/a1e2198a2ca8bbddcad69ade8629f371bcb4cf1f

Co-authored-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
2026-08-07 12:36:41 +08:00
zeertzjqandAliaksei Budavei 925ddb190f vim-patch:90e8cb0: runtime(sh): Fix shFunctionTwo and shFunctionFour definitions for Bash
Claim e.g. "function f () { :; }" as shFunctionTwo while
observing that parentheses after the function name are
optional when the "function" word is used and do not delimit
its body if the latter follows them in "{}" (which should
not be taken for granted with limited backtracking).

closes: vim/vim#20878

https://github.com/vim/vim/commit/90e8cb0094508e9e6932adcf42f5003251c47c26

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2026-08-07 12:35:04 +08:00
ba823836cf vim-patch:bfc7604: runtime(sh): Do not conflate comments and function declarations in Bash
Bash identifiers declared in scripts cannot have a leading
"#" in their names.  And neither "namespace" nor "function"
can be followed by a newline before an identifier.

related: vim/vim#20878

https://github.com/vim/vim/commit/bfc760467864846b5091c5c5768c53b97cc8b5a7

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Co-authored-by: Christoffer Aasted <dezzadk@gmail.com>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-08-07 12:34:54 +08:00
zeertzjqandBogdan Barbu 139ffd91de vim-patch:8c93e2d: runtime(make): variables in make target lists use wrong highlighting (#41183)
Problem:  Variables in make target lists are highlighted as targets when
          the prerequisite list is non-empty.
Solution: Match target lists separately from prerequisite regions so
          that contained identifiers are highlighted correctly.  Add
          regression test.

closes: vim/vim#20947

https://github.com/vim/vim/commit/8c93e2d50dacabcd66cc4cb9573da497e98d3c26

Co-authored-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
2026-08-06 08:06:25 +08:00
zeertzjqandBogdan Barbu 743a8d448c vim-patch:5a1124e: runtime(c): compound literal braces are highlighted as errors
Problem: Braces in C compound literals and initializers inside parentheses
         and brackets are highlighted as errors.

Solution: Recognize those initializer blocks while preserving syntax recovery
          for malformed parentheses.

fixes:  vim/vim#18709
closes: vim/vim#20842

https://github.com/vim/vim/commit/5a1124e4f59fafa0c774db956ae1e86bdd259442

Co-authored-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
2026-08-05 07:02:22 +08:00
zeertzjqandDoug Kearns e9190e9c4f vim-patch:9.2.0894: filetype: ed script files not recognised (#41109)
Problem:  filetype: ed script files not recognised.
Solution: Add filetype detection for *.ed files and shebang lines,
          include syntax script and syntax tests.

Features of the ed syntax file:
- BSD and GNU extensions are supported
- Andrew L. Moore's ed extensions are not supported
- Rebuild synmenu.vim

closes: vim/vim#19602

https://github.com/vim/vim/commit/c28515b9992e52f49c3fd90484601c248c672aec

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-08-02 09:56:10 +08:00
zeertzjqandCatsDeservePets f129b5428a vim-patch:e31fb9b: runtime(lf): update syntax to support lf version r42 (#41083)
closes: vim/vim#20897

https://github.com/vim/vim/commit/e31fb9bb67617fc4357cdd075aa16423ced9bbe3

Co-authored-by: CatsDeservePets <145048791+CatsDeservePets@users.noreply.github.com>
2026-08-01 08:25:29 +08:00
zeertzjqandBrian Carbone 659259d736 vim-patch:99921ff: runtime(marko): improve syntax highlighting
closes: vim/vim#20874

https://github.com/vim/vim/commit/99921ffc39591f7163d015dec43b29ae30a4462b

Co-authored-by: Brian Carbone <brian@briancarbone.com>
2026-07-31 09:28:56 +08:00
Barrett Ruth e29af9c32f refactor(zip)!: builtin zip.lua plugin #40846
Problem:
The bundled `zip` plugin is implemented in Vimscript, making it harder to
maintain and build on with Nvim's Lua runtime infrastructure.

Solution:
Add an opt-out `zip.lua` browser backed by `nvim.dir`, and disable the legacy
Vimscript implementation by moving it to `pack/dist/opt/zip/`. Load it with
`:packadd zip`.
2026-07-29 12:54:43 -04:00
zeertzjqandBrian Carbone 1eba3a75da vim-patch:9.2.0870: filetype: marko files are not recognized (#41038)
Problem:  filetype: marko files are not recognized
Solution: Detect *.marko files as marko filetype, include a syntax
          plugin and add syntax tests (Brian Carbone)

References:
https://markojs.com
https://github.com/marko-js/tree-sitter
https://github.com/marko-js/language-server
https://v5.markojs.com/docs/editor-plugins/

closes: vim/vim#20863

https://github.com/vim/vim/commit/95da62a910809787cc8fdf26b131721359812d8f

Co-authored-by: Brian Carbone <brian@briancarbone.com>
2026-07-29 09:14:48 +08:00
zeertzjqandSam Williams a8626466e8 vim-patch:70d55cd: runtime(m4): Prevent the m4Disabled region from nesting within itself. (#41037)
closes: vim/vim#20801

https://github.com/vim/vim/commit/70d55cd5162b03e5a058907b30bc96d544fc0594

Co-authored-by: Sam Williams <sam@badcow.co>
2026-07-29 09:14:14 +08:00
zeertzjqandJon Parise 1c83e43f27 vim-patch:916809a: runtime(python): highlight the 'lazy' soft keyword
Lazy imports (PEP 810, to be released in Python 3.15) introduces a
`lazy` soft keyword that's recognized when it precedes a `from` or
`import` keyword.

closes: vim/vim#20342

https://github.com/vim/vim/commit/916809ae1e3e562e0a6220a6e7e08f38b8a23b62

Co-authored-by: Jon Parise <jon@indelible.org>
2026-07-27 06:31:58 +08:00
zeertzjqandfrapank 11cad372ef vim-patch:fb1a2e9: runtime(sh): fix Bash/Ksh array highlighting after an escaped paren
fixes:  vim/vim#18712
closes: vim/vim#20705

https://github.com/vim/vim/commit/fb1a2e9d13f21fadec7ef4aef2fb6e760036daf0

Co-authored-by: frapank <francesco.pankov+github@proton.me>
2026-07-26 09:02:02 +08:00
zeertzjqandBillie Cleek 77b0476f40 vim-patch:e9234b9: runtime(go): update Go syntax file
Update the Go syntax file with some recent changes made to vim-go to
correctly highlight the second and later lines of concatenated strings
in var or const blocks.

closes: vim/vim#20835

https://github.com/vim/vim/commit/e9234b9b4ae658d1de4a3f785a2aac531d77f903

Co-authored-by: Billie Cleek <bhcleek@gmail.com>
2026-07-25 06:26:41 +08:00
zeertzjqandFionn Fitzmaurice 05c5cf7e40 vim-patch:9.2.0836: filetype: .git-blame-ignore-revs file is not recognized (#40912)
Problem:  filetype: .git-blame-ignore-revs file is not recognized
Solution: Detect .git-blame-ignore-revs file as gitrevlist filetype,
          include syntax and filetype plugins (Fionn Fitzmaurice)

A Git revision list is

> a list of object names (i.e. one unabbreviated SHA-1 per line)...,
> comments (#), empty lines, and any leading and trailing whitespace are
> ignored.

(from Git's fsck.skipList documentation).

The default output of git rev-list will match this. It is also suitable
as input to git blame --ignore-revs-file.

This adds filetype detection matching .git-blame-ignore-revs files,
syntax highlighting and basic filetype settings.

closes: vim/vim#20702

https://github.com/vim/vim/commit/a8d5be92845df7fc0e9e4399545bd5c01bba536a

Co-authored-by: Fionn Fitzmaurice <fionn@github.com>
2026-07-23 09:03:07 +08:00
zeertzjqandJian-Shuo Huang 69e1321731 vim-patch:203210e: runtime(zathurarc): sync options with latest zathura master (#40879)
closes: vim/vim#20733

https://github.com/vim/vim/commit/203210e48b75e8af501c4f40f91671c4a8556f28

Co-authored-by: Jian-Shuo Huang <jianshuo.huang@tuta.io>
2026-07-21 07:37:14 +08:00
zeertzjqandChristian Brabandt ee51e7bd11 vim-patch:922d991: runtime(cuda): Fix typo in cuda syntax file (#40810)
related: vim/vim#20773

https://github.com/vim/vim/commit/922d991f77eb54b2f1e3cb28edcce6487f81f8cc

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-07-18 22:20:00 +08:00
721569dd9b vim-patch:9.2.0788: filetype: hip files are not recognized (#40809)
Problem:  filetype: hip files are not recognized
Solution: Detect *.hip files as hip filetype, include filetype, syntax
          and indent plugins, update makemenu.vim and synmenu.vim (Young)

Round out HIP (Heterogeneous-compute Interface for Portability) support
to mirror the existing CUDA files:

- autoload/dist/ft.vim: detect the ".hip" extension as filetype "hip"
- ftplugin/hip.vim: behave like C++ by sourcing ftplugin/cpp.vim
- indent/hip.vim: use cindent, like indent/cuda.vim
- makemenu.vim / synmenu.vim: add a Syntax menu entry

The syntax/hip.vim file already sources syntax/cpp.vim and adds the
HIP-specific keywords, matching syntax/cuda.vim.

closes: vim/vim#20773

https://github.com/vim/vim/commit/b3ad239038ff1d3e1708b0027454b2ef6a86a8a2

Co-authored-by: Young <young20050727@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 22:19:48 +08:00
0d0772c937 vim-patch:d859e12: runtime(xml): Update xml syntax file
Improve performance

related: chrisbra/vim-xml-runtime#36

https://github.com/vim/vim/commit/d859e128a8c8d563d9f4f90d15361bce260f0962

Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-Authored-by: Dmytro Meleshko <dmytro.meleshko@gmail.com>
2026-07-02 08:14:48 +08:00
6f4ebdad80 vim-patch:a65741c: runtime(screen): Bring the syntax up to version 5
* Match command names introduced in v.5.0.0 (August 2024):
  "auth", "multiinput", "status", "truecolor".
* Match command names introduced in v.4.5.0 (January 2017):
  "defdynamictitle" and "dynamictitle".
* Deprecate command names that have been retired thus far:
  "debug", "maxwin", "nethack", "password", "time".
* Remove a spurious "defzombie" command name (this name is
  just lamented over in the documentation entry for the
  "zombie" command as being more fitting than "zombie"
  because its effects are not local to a window; no such
  name is entered in "comm.c").
* Separately group the Braille navigation commands, "bd_*",
  that may belong to another, superset program Dotscreen:
  (see doc/README.DOTSCREEN and commit 848af83f5 elsewhere).
* Revise string escape characters:
    - Recognise more characters, "%[`<>=eEfFHOPSxX]".
    - Recognise undocumented characters, "%[gNpT]", and list
      relevant Screen commits in the comments.
    - Match optional qualifiers, "%\%([-+L]\|\d\+\).".
* Match more items in double-quoted command arguments.
* Match unquoted environment variable references.
* Match octal numbers, e.g. "defmode 0622".
* Match escaped octal numbers, e.g. "bind \077 help".

Unless a Dotscreen program (c. 1995) or an older than
v.4.3.1 (c. 2015) Screen program, that was compiled with
"HAVE_BRAILLE" defined, is installed and needs configuring,
add to ".vim/after/syntax/screen.vim":
-----------------------------------------------------------
if hlexists('dotscreenCommands')
    syn clear dotscreenCommands
endif
-----------------------------------------------------------

To BACKPORT the updated syntax file to version 4 of Screen,
add to ".vim/after/syntax/screen.vim":
-----------------------------------------------------------
if hlexists('screenDeprecatedCommands')
    syn clear screenDeprecatedCommands
endif

if hlexists('screenVersion5Commands')
    syn clear screenVersion5Commands
endif
-----------------------------------------------------------

References:
https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00004.html
https://lists.gnu.org/archive/html/info-gnu/2017-01/msg00007.html
https://git.savannah.gnu.org/git/screen.git

closes: vim/vim#20550

https://github.com/vim/vim/commit/a65741c8b38aa5d57f9e5e7f1a960a63a466efb5

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Co-authored-by: Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>
2026-07-02 08:14:48 +08:00
567053bb3c vim-patch:dd89754: runtime(typst): Improve ftplugin, and syntax file
- Move whitespace formatting settings from the indent to the filetype
  plugin behind a "typst_recommended_style" config option.
- Set browsefilter
- Improve syntax file

Thanks to Maxim Kim for taking on maintainership of the typst runtime
files.

related: vim/vim#20036
closes:  vim/vim#20077

https://github.com/vim/vim/commit/dd8975428bae4139d400df1ebac96aec65633089

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Co-authored-by: Maxim Kim <habamax@gmail.com>
2026-07-02 08:14:48 +08:00
zeertzjqandFionn Fitzmaurice 84cd87908e vim-patch:9.2.0742: filetype: SSH keys and related filetypes not recognized (#40469)
Problem:  filetype: SSH keys and related filetypes not recognized
Solution: Detect sshpublickey, sshknownhosts sshauthorizedkeys and
          sshallowedsigners filetypes, add syntax scripts for those
          filetypes (Fionn Fitzmaurice)

This adds syntax highlighting for SSH public keys, as well as related
filetypes derived from this (SSH authorized keys, SSH known hosts and
SSH allowed signers).

Also add filetype detection based on the path and name.

closes: vim/vim#20635

https://github.com/vim/vim/commit/6e66ebc0fdd7804db4baa076e62c78d208adaeaf

Co-authored-by: Fionn Fitzmaurice <git@fionn.computer>
2026-06-28 23:48:17 +00:00
zeertzjqandDoug Kearns 808fcc5a75 vim-patch:9a899af: runtime(vim): Fix heredoc triggering misidentifcation of Vim9 script
The following let-heredoc can cause legacy scripts to be misidentified
as Vim9 script if it appears early in the file.  Only match :vim9script
at the start of a line where it sensibly belongs.

let x =<< trim LINES
  vim9script
  ...
LINES

fixes:  vim/vim#20647 (reported by Maxim Kim).
closes: vim/vim#20654

https://github.com/vim/vim/commit/9a899af7e8e74bb094cfdfda857580b2e8ddf840

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-06-29 06:35:35 +08:00
d72e6ae9fc vim-patch:06512b1: runtime(css): add more missing CSS properties
This is defined in the 'CSS Overflow Module Level 3' spec[1] and
supported by recent versions of all browsers reported by MDN[2], see the
MDN page also for the available values.

Link: https://drafts.csswg.org/css-overflow/#scrollbar-gutter-property [1]
Link: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/scrollbar-gutter#browser_compatibility [2]

related: vim/vim#20639
closes:  vim/vim#20653

https://github.com/vim/vim/commit/06512b153cd8b432bb24087143299f082a353885

Co-authored-by: Jay Sitter <jay@jaysitter.com>
Co-Authored-by: Matthew Hughes <matthewhughes934@gmail.com>
2026-06-29 06:28:23 +08:00
zeertzjqandMateo Gjika b7c8dcc75b vim-patch:91023ad: runtime(cabal): Update compiler, ftplugin, syntax, add indent script
closes: vim/vim#20623

https://github.com/vim/vim/commit/91023adc67e13158ae1462485a400de787f7aefe

Co-authored-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
2026-06-27 07:04:55 +08:00
Barrett RuthandJustin M. Keyes bf917a503a feat(runtime): replace netrw with a very small script #39723
Problem:
`:edit <dir>` and `nvim <dir>` currently rely on netrw to show local directory
contents.

Solution:
- Provide `filetype=directory`.
- Introduce dir.lua, a small plugin that provides directory listing, opening
  items, parent navigation, and refresh.
- `netrw` remains available for `:Explore`, remote paths, archives, and file
  operations. To continue 

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2026-06-25 17:31:18 -04:00
zeertzjqandPooyan Khanjankhani c7f83f90ed vim-patch:8dfde7b: runtime(dnsmasq): add new keywords and order existing keywords alphabetically (#40385)
closes: vim/vim#20616

https://github.com/vim/vim/commit/8dfde7b3363151a228a69793ca8c940dd874506f

Co-authored-by: Pooyan Khanjankhani <pooyankhan@gmail.com>
2026-06-24 07:45:11 +08:00
zeertzjqandVladimír Marek 59a5e320da vim-patch:4ed61e0: runtime(dtrace): handle DTrace probe highlighting before action blocks
Recognize DTrace probe descriptions that are followed immediately by an
action block, such as:

    BEGIN{ trace(1); }
    syscall::open:entry{ trace(1); }

The fourth probe field now consumes the remaining non-whitespace text, and
the lookahead allows zero or more whitespace before the following token.

closes: vim/vim#20560

https://github.com/vim/vim/commit/4ed61e0a199d635c6cdaaff6c0657db3a8d3d445

Co-authored-by: Vladimír Marek <vlmarek13@gmail.com>
2026-06-23 06:51:48 +08:00
zeertzjqand依云 8532fc2021 vim-patch:fc6d0d4: runtime(beancount): Add support for non-ASCII account names
closes: vim/vim#20597

https://github.com/vim/vim/commit/fc6d0d418d7508a0c9ec55306b937ba18d2cca25

Co-authored-by: 依云 <lilydjwg@gmail.com>
2026-06-23 06:51:33 +08:00
zeertzjqandDmytro Meleshko e59684318e vim-patch:f83e00b: runtime(xslt,xsd): speed up highlighting by optimizing lookbehinds in patterns
Move ownership to chrisbra/vim-xml-ftplugin

closes: vim/vim#20436

https://github.com/vim/vim/commit/f83e00b7f8d36821b3b589714c0f69716735a9bf

Co-authored-by: Dmytro Meleshko <dmytro.meleshko@gmail.com>
2026-06-22 09:51:52 +08:00
zeertzjqandGareth Lloyd 19446ec9cb vim-patch:77099ed: runtime(cpp): add C++26 lexical constructs to syntax highlighting
Add a guarded "C++ 26 extensions" block (cpp_no_cpp26) covering new
lexical surface introduced since C++23:

- [[ ... ]] attributes as a region, so P3394 annotations carrying a
  value expression (eg [[=foo{1}]]) no longer trip cErrInBracket on
  their braces/parens. A \w\@1<! look-behind keeps it from matching a
  subscripted immediately-invoked lambda (arr[[]{...}()]).
- ^^ reflection operator (P2996).
- [: :] splice brackets (P2996).
- contract_assert keyword (P2900).

Add input/cpp_cpp26.cpp exercising these constructs with screendumps,
and update dumps/cpp_noreturn_00.dump for the new [[ ]] attribute
delimiter highlighting.

closes: vim/vim#20577

https://github.com/vim/vim/commit/77099ed6b3b35b6340fd4945ba219020034a9182

Co-authored-by: Gareth Lloyd <gareth@ignition-web.co.uk>
2026-06-22 09:51:52 +08:00
zeertzjqandDoug Kearns a1a1977c70 vim-patch:4e6e1fc: runtime(algol68): Update syntax, support size prefixes in denotations (#40344)
Explicitly match the LONG/SHORT size prefixes in integral, real and bits
denotations.

LONG/SHORT are matched as part of the denotation rather than as a mode.

closes: vim/vim#20512

https://github.com/vim/vim/commit/4e6e1fc5ead838eb7e37dd100e497adc7d7b0331

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-06-21 08:12:45 +08:00
zeertzjqandLopy cb33b05ba3 vim-patch:8181c6e: runtime(luau): runtime support is incomplete
Problem:  runtime(luau): runtime support is incomplete.
Solution: Add Luau syntax, indent, filetype plugin and indent tests.

closes: vim/vim#20544

https://github.com/vim/vim/commit/8181c6e31387c0467fcd6394d1b7da07f38e737c

Co-authored-by: Lopy <70210066+lopi-py@users.noreply.github.com>
2026-06-19 09:45:06 +08:00
zeertzjqandCsaba Hoch c10a827289 vim-patch:c6705b2: runtime(erlang): Optimize operators and bitstring types (#40278)
This commit makes processing the erlangOperator and erlangBitType syntax
items faster.

- erlangOperator changes:
  - Vim now parses erlangOperator faster because we define the operators
    individually.
  - The order of operators in erlangOperator had to be changed to make
    the edge cases work the same as before (for example
    erlangEqualsBinary).
- erlangBitType changes:
  - Vim now parses erlangBitType faster because:
    1. Now the long `\%(integer\|float\|...\)` sections are preceded by
       "beginning of word" patterns (`\<`).
    2. Now we use the old regexp engine (`\%#=1`).

Previously when an Erlang file contained long lines with erlangOperator
or erlangBitType patterns near the end, redrawing these lines was slow,
and typing at the end of the line was also slow.

For example, redrawing a 1787 characters long test line is now roughly
six times faster.

fixes:  vim/vim#5593
closes: vim/vim#20524

https://github.com/vim/vim/commit/c6705b2c3ecbc44f751c961122f08b0a3d8d7b88

Co-authored-by: Csaba Hoch <csaba.hoch@gmail.com>
2026-06-16 09:12:22 +08:00
zeertzjqandBruno BELANYI 8ea5747f6d vim-patch:1fee3cd: runtime(beancount): Include Beancount runtime files
Include with adjustments from the upstream repo:
https://github.com/nathangrigg/vim-beancount

closes: vim/vim#20373

https://github.com/vim/vim/commit/1fee3cd4b9a38b18656933d38a4977548d27808b

Co-authored-by: Bruno BELANYI <bruno@belanyi.fr>
2026-06-14 09:37:00 +08:00
zeertzjqandLeo Feyer 439a8d9714 vim-patch:ff7fcb8: runtime(pfmain): Add smtp_destination_rate_delay to syntax script
closes: vim/vim#20505

https://github.com/vim/vim/commit/ff7fcb8f012230f3cbb28d281f5f069390be1e1f

Co-authored-by: Leo Feyer <1192057+leofeyer@users.noreply.github.com>
2026-06-14 09:31:54 +08:00
zeertzjqandDoug Kearns 8c4578cc4f vim-patch:78094ff: runtime(vim): Update base syntax, simplify function call matching (#40202)
- Explicitly match the dot accessor
- Exclude the qualifier when matching qualified function calls

The dot accessor lookbehind on builtin function calls was slow, matching
across expression based dictionary accessors was visually inconsistent,
and it's arguably more semantically correct.

closes: vim/vim#20481

https://github.com/vim/vim/commit/78094ff1d7894d4d782b9f8fa2a8817e59e9d374

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-06-12 18:38:27 +08:00
zeertzjqandK.Takata a28b619956 vim-patch:4eb50ba: runtime(nsis): Update NSIS plugin
closes: vim/vim#20439

https://github.com/vim/vim/commit/4eb50ba61c655215ed0469c0323c368e3721996b

Co-authored-by: K.Takata <kentkt@csc.jp>
2026-06-08 11:43:36 +08:00
zeertzjqandIlia Dubovik 413731d0b1 vim-patch:1fa6fed: runtime(javascript): add 'Symbol' as a type; add 'void' as a reserved word
closes: vim/vim#20440

https://github.com/vim/vim/commit/1fa6fed84628d2953bf9aa4558bb8a97b61219e1

Co-authored-by: Ilia Dubovik <askdubovik@gmail.com>
2026-06-08 11:43:14 +08:00
zeertzjqandbbnolauv 845616ee93 vim-patch:8eceeba: runtime(kitty): Fix regex for kittyMapSeq region (#40103)
closes: vim/vim#20422

https://github.com/vim/vim/commit/8eceebae710bdbfc8d2648cae8dbe01302dd468b

Co-authored-by: bbnolauv <86621528+bbnolauv@users.noreply.github.com>
2026-06-03 22:12:22 +02:00