Commit Graph

1473 Commits

Author SHA1 Message Date
Ola Söder c84526dd29 runtime(amiga): revamp syntax highlighting and add new maintainer
closes: #19825

Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-26 19:25:30 +00:00
Aliaksei Budavei 955c02dff7 runtime(sh): Distinguish parts of function definitions
- Highlight keywords "function" and "namespace" with
  the "Keyword" group ("shFunctionKey").
- Highlight function body delimiters "{" and "}" with the
  "Delimiter" group ("shFunctionExprRegion").
- Highlight function body delimiters "(" and ")" with the
  "Operator" group ("shFunctionSubShRegion").
- Also, follow one style in folding all supported variants
  of function bodies for grouping commands too by enclosing
  a delimited function body, e.g. "{" and "}", in a fold and
  leaving its function header, e.g. "function f()", out of
  it when the header is written on a separate line.

To restore previous colouring, add to "after/syntax/sh.vim":
------------------------------------------------------------
hi link shFunctionKey Function
hi link shFunctionExprRegion Function
hi link shFunctionSubShRegion Function
------------------------------------------------------------

fixes:  https://github.com/vim/vim/pull/19638#issuecomment-4052635546
closes: #19638

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-24 20:36:23 +00:00
Aliaksei Budavei 9c0d057e3d runtime(sh): Improve the matching of function definitions
- Drop the remaining undefined "shFunctionStart" references
  (gone in v7.2b.000, c236c16d0).
- Revise nestable contexts where function definitions are
  supported:
  * Stop looking for function definitions in arithmetic
    expressions.
  * Recognise function definitions enclosing other function
    definitions.
- In addition to grouping commands "{}" and "()", also match
  other compound commands (e.g. "if"; see "shFunctionCmd*")
  whenever these commands are supported as complete function
  bodies.
- Balance body delimiters "(" and ")" for "shFunctionFour"
  in Bash; match such function bodies whenever the use of
  the function parameter list "()" token is optional, i.e.
  when the "function" reserved word is present.
- Enable the use of "shFunctionFour" definitions.
- Do not claim optional leading whitespace characters before
  a matched function definition.
- Prefer patterns with ASCII atoms (e.g. "\h") to equivalent
  collections (e.g. "[A-Za-z_]") for speed.
- Accommodate word-boundary assertions in function name
  patterns to names that may start and/or end with supported
  non-word characters, e.g. "@test:".
- Match more valid function names in Bash: non-ASCII names,
  non-word names.
- Allow for function names with "do", "done", etc. prefixes;
  confine these name checks to "shDoError" and "shIfError".

fixes:   #19619
related: #19638

References:
https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_09_04
https://gitweb.git.savannah.gnu.org/gitweb/?p=bash.git;a=blob_plain;f=doc/bash.html;hb=637f5c8696a6adc9b4519f1cd74aa78492266b7f
https://web.archive.org/web/20151105130220/http://www.research.att.com/sw/download/man/man1/ksh88.html
https://web.archive.org/web/20151025145158/http://www2.research.att.com/sw/download/man/man1/ksh.html
http://www.mirbsd.org/htman/i386/man1/mksh.htm

Co-authored-by: Johnothan King <johnothanking@protonmail.com>
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-24 20:35:48 +00:00
Aliaksei Budavei c9eaff0a8a runtime(java): Make changes for JDK 26
Reintroduce supported syntax-preview-feature numbers 455,
488, and 507 as _a new number_ 530.

Reference:
https://openjdk.org/jeps/530 (Primitive Types in Patterns etc.)

closes: #19793

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-23 19:54:00 +00:00
Anakin Childerhose 8c116bbe79 patch 9.2.0235: filetype: wks files are not recognized.
Problem:  filetype: wks files are not recognized.
Solution: Detect *.wks, *.wks.in and *.wks.inc as wks filetype,
          include a filetype and syntax plugin (Anakin Childerhose)

The OpenEmbedded Image Creation tool, `wic` uses wic kickstarter files
to define image partition and bootloader layouts.
wks files can end with .wks, .wks.in for templated wks files, and
.wks.inc for including in other .wks files.

The autocmd for *.wks.inc needs to come before *.inc in
runtime/ftdetect.vim

Reference:
https://docs.yoctoproject.org/ref-manual/kickstart.html#openembedded-kickstart-wks-reference
https://git.openembedded.org/openembedded-core/tree/scripts/lib/wic/canned-wks

closes: #19796

Signed-off-by: Anakin Childerhose <anakin@childerhose.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-23 19:43:57 +00:00
Yasuhiro Matsumoto ba861f8c53 patch 9.2.0153: No support to act as a channel server
Problem:  Vim can only act as a channel client (ch_open). There is
          no way for an external process to initiate a connection
          to a running Vim instance using the Channel API.
Solution: Implement ch_listen() and the underlying server-side
          socket logic. This allows Vim to listen on a port or
          Unix domain socket. When a client connects, a new
          channel is automatically created and passed to a
          user-defined callback (Yasuhiro Matsumoto).

closes: #19231

Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
2026-03-13 19:15:25 +00:00
Eisuke Kawashima 3697c6b020 runtime(ssh): ignore case in 'keywordprg', update syntax script
- ftplugin(sshdconfig): use "-I" for 'keywordprg' to search
  case-insensitive in the man page
- syntax(sshdconfig,sshconfig): Mark "lowdelay", "throughput", and
  "reliability" as deprecated for IPQoS, highlighting them as
  errors/warnings to reflect OpenSSH 10.1p1 release

Reference:
https://www.openssh.org/releasenotes.html#10.1p1

closes: #19636

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Jakub Jelen <jakuje@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-12 20:04:17 +00:00
Foxe Chen c970b470fb patch 9.2.0139: Cannot configure terminal resize event
Problem:  Cannot configure terminal resize event
Solution: Add the 'termresize' option and allow to use in-band window
          resize events (Foxe Chen).

closes: #19596

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 20:03:36 +00:00
Doug Kearns 2cf18fcc24 runtime(python): Update syntax, improve pythonNumber pattern performance
- Improve the performance of all pythonNumber patterns by unrolling
  digit/underscore sequence loops.
- Split the float literal pattern into two simpler patterns.

fixes:  #19625 (Reported by James McCoy)
closes: #19630

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 19:47:55 +00:00
Eisuke Kawashima 8f2cd47404 runtime(sudoers): update filetype plugin and syntax script
- remove `set isk+=-` to highlight `-=` operator correctly
- implement highlighting of GID
- fix highlight of hostname and add special value ALL
- fix highlight of IP address
- update include and includedir patterns
- remove duplicate syntax rules
- add missing options
- fix highlight of parameter assignment (limit operators to list
  parameters)
- fix highlight of string and list parameters with trailing whitespaces
- implement highlight of permission (octal)
- implement highlight of floating point numbers
- implement highlight of timeout-specific options
- support highlight of negatable options (integer, mode, float, timeout,
  string)
- allow sudoersListParameter to be negated
- fix highlight of comma-separated parameter list used as boolean
- fix highlight of parameter negation (prevent highlighting ill-formed `! !`)
- fix highlight of Tag_Spec
- allow empty Runas spec: `()` and `(:)`
- fix highlight of comma-concatenated commands, hosts, and users
- check word boundaries for special value ALL
- implement highlight of Option_Spec
- fix highlight in User_Spec (specifically for Host position)
- fix highlight of `Default!` command
- support highlight of digests (sha224, etc.)
- add syntax test and update header

closes: #19634

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-11 19:33:36 +00:00
Martin Tournoij c6f6f1602d runtime(toml): update syntax script and fix highlight of dates and escapes
From upstream:
https://github.com/cespare/vim-toml/pull/69
https://github.com/cespare/vim-toml/pull/70

closes: #19591

Signed-off-by: Martin Tournoij <martin@arp242.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-10 20:02:05 +00:00
Doug Kearns e948fea640 runtime(sed): Update syntax, support more GNU address extensions
- Support all GNU address extensions.
- Fix some bugs related to erroneous matching of pattern delimiters in
  bracket expressions.

closes: #19587

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 10:13:42 +00:00
Devin Weaver 75decb4a8d runtime(glimmer): add syntax support for glimmer files
In commit cdf717283 ("patch 8.2.4424: ".gts" and ".gjs" files are not
recognized", 2022-02-19) support for the glimmer file types were added.

Problem:  Syntax hilighting suppoprt was missing.
Solution: Added a glimmer syntax file that will leverage the base
          syntaxs (javascript/typescript) and include handlebars syntax
          for .gjs/.gts files.

closes: #19569

Signed-off-by: Devin Weaver <suki@tritarget.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:07:50 +00:00
Devin Weaver 99ea2b5b06 runtime(handlebars): adds handlebars template syntax & indent support
The runtime had support to detect handlebars (*.hbs) files as filetype
handlebars but was lacking any indent or syntax highlighting for that
filetype.

The handlebars syntax file is also a prerequisite for the glimmer
syntax.

Permission was granted by the original author to retrofit these into the
Vim runtime. Original License (MIT) maintained in code comments.

related: #19569

Signed-off-by: Devin Weaver <suki@tritarget.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:06:02 +00:00
Christian Brabandt 22c62e2691 runtime(syntax-tests): regenerate dump files (after v9.2.0110)
related: #19541

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:01:10 +00:00
Foxe Chen 7ba60f17c2 patch 9.2.0110: No support for terminal synchronization mode
Problem:  No support for terminal synchronization mode
Solution: Add DEC 2026 support using the 'termsync' option
          (Foxe Chen).

related: #11718
closes:  #19541

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-04 21:09:25 +00:00
Christian Brabandt f7a568ebeb runtime(syntax-tests): regenerate dump files (after v9.2.0093)
closes: #19553

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 18:28:32 +00:00
Christian Brabandt 9166f1c09b translation: regenerate po/vim.pot after v9.2.0093
also update one failing syntax test

related: #19493

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 19:58:22 +00:00
Foxe Chen 98174caabb patch 9.2.0093: Not possible to have window-local highlighting groups
Problem:  Not possible to have window-local highlighting groups
          (Hima)
Solution: Port Neovims 'winhighlight' option to Vim (Foxe Chen).

fixes:  #3576
closes: #19493

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 19:36:07 +00:00
Eisuke Kawashima 6ce357a586 runtime(po): Update syntax script
- support `#=`
https://www.gnu.org/software/gettext/manual/html_node/PO-File-Format-Evolution.html
- add sticky flag support:
https://www.gnu.org/software/gettext/manual/html_node/Sticky-flags.html

closes: #19548

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 18:40:31 +00:00
Hirohito Higashi a4186316ba patch 9.2.0083: Cannot have a mutli-line statusline
Problem:  Cannot have a mutli-line statusline.
Solution: Add support for multi-line statusline
          (Hirohito Higashi).

closes: #19123

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-01 16:57:08 +00:00
Doug Kearns b901fa9a6a runtime(vim): Update base syntax, improve :syntax group list arg matching
Attempt to match all variations of group name and comma separator across
continuation lines.

Fixes issues:
- #18491 (Two ")"s are incorrectly colored 'vimOperError' in
  syntax/mail.vim), reported by @lkintact
- #19366 (highlight error for contains elements in a new line), reported
  by Maxim Kim

fixes: #18491
fixes: #19366

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-28 17:20:42 +00:00
James Roberts-Thomson 29b5938d79 runtime(sshconfig): Add 3 additional keywords to syntax script
closes: #19488

Signed-off-by: James Roberts-Thomson <jamesrt@gmail.com>
Signed-off-by: Jakub Jelen <jakuje@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-24 20:51:47 +00:00
DuckAfire d0fa375629 patch 9.2.0033: filetype: sh filetype used for env files
Problem:  filetype: sh filetype used for env files
Solution: Detect *.env and .env.* files as env filetype,
          detect .envrc and .envrc.* as sh filetype,
          include a simple env syntax script (DuckAfire)

Previously, .env files were handled by the shell syntax. While
functional, this limited the ability to support specific .env
implementations, such as CodeIgniter4 which allows dots in keys
(e.g., "foo.bar=0").

The new dedicated 'env' filetype and syntax script improves legibility
and prevents highlighting from breaking when encountering spaces.
Currently, the syntax does not support indentation; fields, variables,
and comments must start at the beginning of the line.

closes: #19260

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: DuckAfire <155199080+duckafire@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-19 18:09:09 +00:00
Michael Osipov 4611f7b656 runtime(apache): Add 'SSLVHostSNIPolicy' declaration to syntax script
The declaration 'SSLVHostSNIPolicy' has bee introduced in version 2.4.66.

closes: #19452

Signed-off-by: Michael Osipov <michael.osipov@innomotics.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-19 17:46:21 +00:00
Daniel Smith 342ae5f8aa runtime(progress): Use setlocal for expandtab
The Progress syntax file gained `set expandtab` in 4c3f536f4 (updated
for version 7.0d01, 2006-04-11). The Progress language itself doesn't
distinguish between tabs and spaces for indentation, so this seems like
something that should be left to user preference; but the setting is
accompanied by the comment "The Progress editor doesn't cope with tabs
very well", so there may be reason to keep it.

However, using `set` means that any new buffers created after editing a
Progress file will also have `expandtab` turned on, which is likely
contrary to a user's expectations. We should use `setlocal` instead to
avoid this.

closes: #19458

Signed-off-by: Daniel Smith <daniel@rdnlsmith.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-19 16:44:45 +00:00
Aliaksei Budavei dbd924f6a0 runtime(syntax-tests): Fail when executable syntax tests are found
The input files with syntax test cases are never compiled or
interpreted on behalf of test runners, just read, and their
parts are rendered in accordance with syntax definitions for
associated languages, to be compared with previously vetted
renderings.  Whether their arbitrary contents will be valid
programs, benign programs, etc., is left for test authors to
decide and verify in their own environments.  As executable
and non-executable files equally qualify for testing and yet
executability is never exercised, and since maintaining
executable files turns out to be a short-lived exception
than common practice, let us persist in keeping syntax files
non-executable and enforce it with a CI check.

closes: #19433

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-18 18:35:26 +00:00
Radu Dineiu 0435abfaa1 runtime(fstab): Add cgroup2 to valid device types
closes: #19403

Signed-off-by: Radu Dineiu <radu.dineiu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-15 16:05:41 +00:00
Amelia Clarke 4a5c1601bc runtime(hare): update syntax script for Hare 0.26.0
closes: #19398

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-15 16:04:14 +00:00
Peter Kenny 3794d9b33c runtime(vim): Error codes should not be highlighed with vim9CommentTitle
closes: #19390

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-15 15:59:36 +00:00
Bozhidar Batsov c68e64dac3 runtime(sh): fix spurious nextgroup=shComment on shEscape
Remove `nextgroup=shComment` from the `shEscape` syntax pattern.
This was causing `#` characters after escape sequences inside
double-quoted strings to be misinterpreted as comments, breaking
highlighting for the rest of the file.

Add a test case for escaped characters followed by # in double quotes.

fixes:  #19053
closes: #19414

Signed-off-by: Bozhidar Batsov <bozhidar@batsov.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-15 14:53:55 +00:00
Bozhidar Batsov b2d11a9de2 runtime(doc): Fix typos in markdown READMEs
closes: #19394

Signed-off-by: Bozhidar Batsov <bozhidar@batsov.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-13 16:08:24 +00:00
Bozhidar Batsov a39d7c2617 runtime(sudoers): highlight usernames with hyphens, digits, underscores
The username/group/netgroup patterns used \l\+ which only matched
lowercase letters. Linux usernames commonly contain hyphens, digits,
and underscores (e.g. www-data, deploy01, test_user).

Update the pattern to \l[-a-z0-9_]* to allow matching the additional
characters "-_" and numbers.

fixes:  #18963
closes: #19396

Signed-off-by: Bozhidar Batsov <bozhidar@batsov.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-13 15:49:02 +00:00
DuckAfire 1cf38bfebe runtime(css): Add missing numeric units
- Add missing numeric units to css syntax script
  (baseline 2015, 2020, 2022, 2023, 2026):
    dvb, dvh, dvi, dvmax, dvmin, dvw ic,
    lvb, lvh, lvi, lvmax, lvmin, lvw, svb, svh,
    svi, svmax, svmin, svw, vb, vi, x, cap, lh,
    rlh, rcap, rch, rex, ric

closes: #19325

Signed-off-by: DuckAfire <155199080+duckafire@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-13 09:04:21 +01:00
Johnothan King 56033b9df3 runtime(sh): Fix some ksh-specific deficiencies in syntax script
- Amend syntax highlighting to allow for ksh93 discipline function names
  (e.g. 'foo.get()') and mksh's odd function naming idiosyncrasies
  (shNamespaceOne was introduced to enforce stricter naming rules for
  ksh93 namespaces).
- Remove 'bind' from ksh93 syntax (such a builtin has never been
  implemented in ksh93).
- 'xgrep' is only available in ksh93v- as an alternative way to
  invoke the builtin 'grep -X', so reflect that in the syntax
  highlighting.
- Forbid bash-style 'function name() {' syntax when highlighting
  ksh88 and ksh93 scripts.
- Fix bug causing ' ()' to be incorrectly validated in mksh scripts.
- Add the many ksh93/ksh2020 .sh.* variables to the list of special
  variables.
- Amend iskeyword to allow '.' so that '.sh.tilde.get' and such are
  valid function names/variable names. (For mksh functions starting
  with odd characters like '%' and '@' this would probably have too
  many bad side effects, so I've omitted such a change for that shell.)
- Add new syntax tests and regenerate syntax dump files

closes: #19383

Signed-off-by: Johnothan King <johnothanking@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-12 18:18:44 +01:00
Fionn Fitzmaurice 04c3c6871e runtime(sshdconfig): Update syntax
We add new key exchange algorithms and new enums for PubkeyAuthOptions.

We also add new keywords from sshd_config.5 not present here and remove
keywords present here that are not present in the official
documentation, with the exception of those patched in by Debian and
Fedora, as well as ChallengeResponseAuthentication which is deprecated
but still functional.

closes: #19347

Signed-off-by: Fionn Fitzmaurice <git@fionn.computer>
Signed-off-by: Jakub Jelen <jakuje@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-12 18:13:37 +01:00
tecis b27934bf8b runtime(django): add syntax support for partial
Add djangoStatement integrated in version 6. 'partialdef',
'endpartialdef', 'partial'.

[Template Reference: partial](https://docs.djangoproject.com/en/6.0/ref/templates/builtins/#partial)((introduced in Django 6.0)
and 'filter'.

closes: #19386

Signed-off-by: tecis <67809811+tecis@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-12 17:46:54 +01:00
Aliaksei Budavei 36f4498710 runtime(java): Allow for org.TopLevelType<T>.NestedType return types
closes: #19349

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-10 22:48:57 +01:00
Doug Kearns 5ed37232bb runtime(ruby): Update for Vim 9.2 release
closes: #19316

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-10 14:12:22 +01:00
Chris Aumann 4442ac53f7 runtime(nginx): Update nginx syntax script
closes: #19374

Signed-off-by: Chris Aumann <me@chr4.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-08 21:24:53 +00:00
Josef Schönberger e92998ea4d runtime(nginx): highlight Lua in set_by_lua_block in syntax script
The set_by_lua_block directive of the Lua module takes an additional
variable as an argument which currently breaks the detection of inline
Lua blocks. For example:

    set_by_lua_block $myvar {
        return tonumber(ngx.var.myothervar)-1
    }

closes: #19362

Signed-off-by: Josef Schönberger <josef.schoenberger@tum.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-08 21:19:20 +00:00
Doug Kearns b422a33ac2 runtime(gdb): Update syntax and ftplugin
- Change syntax file maintainer.
- Add Guile and Python command highlighting.
- Update command list to version 12.
- Add foldable regions for the commands 'define', 'if' and 'while'
  multiline commands.
- Support documented partial command names.
- Add matchit, browsefilter, and comment formatting support.
- Support embedded C in compiler {code|print} commands.
- Add largely complete settings highlighting and folding.
- Add syntax tests (incomplete).

Thanks to Claudio Fleiner for many years of maintenance.

closes: #10649

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-08 20:51:47 +00:00
Aliaksei Budavei f0b8b2c32a Revert "CI: Manage multibyte characters in syntax tests"
This reverts commit 0fde6aebdd.

With "v9.1.2134" applied, arbitrary multibyte characters are
not replaced with spurious U+FFFD characters (typically when
the host system is under load); U+FFFD characters that are
intentionally written in an input file continue to remain
present for later output and comparison.  The workaround of
"v9.1.1592~3" is no longer necessary.

Also prefer "page_nr" to "nr" in syntax/testdir/runtest.vim

closes: #19348

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-07 15:48:33 +00:00
CatsDeservePets 56d470a008 runtime(lf): update syntax to support lf version r41
Also, mark @CatsDeservePets as maintainer.

closes: #18640

Signed-off-by: CatsDeservePets <145048791+CatsDeservePets@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 09:55:53 +00:00
Amelia Clarke de5d100c2f runtime(hare): update to match upstream
closes: #18640

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-06 09:44:56 +00:00
Maxim Kim c50be218cd runtime(odin): update indent and syntax scripts
- fix indent of a closing } after another } on previous line
- fix indent of consequent #+feature lines
- highlight #+features

closes: #19310

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-02 10:16:36 +00:00
Doug Kearns 2e4c98b6f3 runtime(vim): Update base syntax, match Vim9 :unlet command
closes: #19290

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-02-01 15:03:46 +00:00
GX 01956225bc runtime(qf): Update quickfix syntax
closes: #19296

Signed-off-by: GX <59413576+gx089@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-31 16:19:36 +00:00
MuntasirSZN b817536b8f runtime(tera): update syntax files to support many more tera code
This includes macros, keys etc. which were not highlighted before.

closes: #19276

Signed-off-by: Muntasir Mahmud <muntasir.joypurhat@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-29 19:03:42 +00:00
Roland Hieber b73565d89d runtime(make): Declare syntax file orphaned
closes: #19267

Signed-off-by: Roland Hieber <rohieb@rohieb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-28 18:54:48 +00:00