365 Commits
Author SHA1 Message Date
Aliaksei Budavei 92d4e9beb1 runtime(syntax-tests): Clarify the naming scheme for test files
Similar to "sh.vim", there are a handful of other filetypes
whose names (assigned to "b:current_syntax") are different
from the base names of their syntax plugins, e.g. "python2"
and "elsa".  Two scripts, "testdir/tools/maketestdeps" and
"testdir/runtest.vim", currently assume that the base name
of a syntax plugin can be derived from the name of a syntax
test.  Prescribe using the base name of the syntax plugin,
instead of its filetype, for a test filename prefix so that
existing files are listed in Make targets ("maketestdeps")
and name correspondence is kept between the syntax plugin
and optional test settings for it ("runtest.vim").  Add a CI
check for name verification.

closes: #21414

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-10-21 15:10:49 +00:00
Aliaksei Budavei 0b9075e785 runtime(syntax-tests): Follow the convention in naming test-case files
Test-case filenames should always begin with the associated
filetype name, properly delimited from the remaining part of
the filename.  As of v9.2.0636~1, a convenience function
"DeferRenamingTestFileTo" is provided in "VIM_TEST_SETUP"
aware contexts to temporarily give the file under test
another, arbitrary name before executing ":syntax on".

closes: #21352

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-10-19 15:43:51 +00:00
Doug Kearns cff1d9e4e7 runtime(typescript): Update syntax, fix pattern memory usage with re=1
- Fix typescriptArrowFuncDef pattern memory errors when regexpegine=1.
- Add a test.

fixes:   #17247
related: #21400
closes:  #21423

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-10-06 17:35:58 +00:00
Christian BrabandtandIvan Krasilnikov 4505de4391 runtime(rmd): fix typo in code block delimiter pattern, add test
Test file taken from
https://github.com/rstudio/rmarkdown/blob/main/inst/rmarkdown/templates/github_document/skeleton/skeleton.Rmd

fixes: #21328

Co-authored-by: Ivan Krasilnikov <ivank@ivank.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-29 18:50:48 +00:00
Eisuke Kawashima 10d1ef03fe runtime(sshknownhosts): update syntax script and add syntax test
closes: #21387

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-28 18:46:16 +00:00
Eisuke Kawashima ca0610c14f runtime(sshpublickey): update syntax script and add syntax test
related: #21387

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-28 18:46:12 +00:00
Eisuke Kawashima 607da33212 runtime(sshconfig): update syntax script and add syntax test
related: #21387

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-28 18:28:42 +00:00
Eisuke Kawashima a3f2359af7 runtime(sshauthorizedkeys): update syntax and add syntax test
related: #21387

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-28 18:28:41 +00:00
Doug Kearns 7c16e2127f runtime(vim): Update base syntax, terminate :g/:s patterns at EOL
- Terminate :global patterns, and :substitute patterns and replacement
  text, at EOL.  The closing delimiter is optional.
- Clarify the behaviour of optional pattern terminators in the :global
  and :substitute help sections.

related: #21132
closes:  #21367

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-24 20:43:54 +00:00
Anakin Childerhose 7c049d5ce1 patch 9.2.1128: filetype: icalendar files are not recognized
Problem:  filetype: icalendar files are not recognized
Solution: Detect *.ics files as icalendar filetype, include
          syntax and filetype plugins (Anakin Childerhose).

Reference:
https://datatracker.ietf.org/doc/html/rfc5545

closes: #21356

Assisted-By: Claude Opus 5
Signed-off-by: Anakin Childerhose <anakin@childerhose.ca>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-24 19:12:16 +00:00
Aliaksei Budavei b6419b6fa5 runtime(syntax-tests): Apply "word" rather than "prefix" when filtering filetypes
Whenever two or more filetype names share a common prefix,
e.g. "java" and "javascript", passing the shortest name
argument to Make, e.g. "make java test", will trigger the
running of _all prefix matching_ test suites.  To fix this
blunder and to only have _requested_ test suites run, always
append the leftmost conventional delimiters "[._]", e.g.
"java[.]java", "java[_]numbers.java", to each filetype name
when automatically assembling a regexp pattern for the
filename filter.  Furthermore, promote the Vim9 (pseudo-)
filetype, e.g. "make vim9 test", "make vim vim9 test", etc.

As before, VIM_SYNTAX_TEST_FILTER is still within reach for
arbitrary test case grouping.

closes: #21351

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-24 18:55:50 +00:00
Aliaksei Budavei 4d0ad5cb9b runtime(java): Make changes for JDK 27
Reintroduce supported syntax-preview-feature numbers 455,
488, 507, and 530 as _a new number_ 532.

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

closes: #21341

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-24 18:44:52 +00:00
Eisuke Kawashima f1a677c4fb runtime(c): support 0O/0o octal prefix (C29)
closes: #21327

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-21 19:45:23 +00:00
Christian Brabandt c20b9f7f12 runtime(sh): touch does not end at curly block
fixes:  #21266
closes: #21314

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-15 17:50:18 +00:00
Eisuke Kawashima 8e2e8e7490 runtime(cpp): add C++23 suffix z (size_t)
closes: #21281

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-14 18:09:30 +00:00
Doug Kearns 2dd65358e1 runtime(vim): Update base syntax, match syn-sync skip patterns
Fix matching of the pattern arg in a :syn-sync-match skip command.

closes: #21289

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-12 18:53:15 +00:00
Doug Kearns af6f220da5 runtime(vim): Update base syntax, improve autoload prefix matching
- Tighten autoload prefix matching,
  e.g., foo#bar#baz
- Disallow erroneously concatenated map special arguments,
  e.g., :map <bufferexpr> lhs rhs

closes: #21285

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-12 16:06:49 +00:00
231tr0nandopencode 5867d1f8ee runtime(svelte): include svelte syntax script and syntax tests
closes: #21200

Co-authored-by: opencode <noreply@opencode.ai>
Signed-off-by: 231tr0n <zeltronsrikar@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-08 18:04:16 +00:00
Doug Kearns d53f436eaa runtime(gdb): Update syntax for GDB 17
closes: #21219

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-09-06 18:53:42 +00:00
Doug Kearns 87069e378c runtime(vim): Update base syntax, improve command-line window highlighting
- Contain all matches to a single line.
- Define non-extending groups for the command-line window.
- Replace &buftype-based detection with win_gettype().

closes: #21189

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-30 19:22:10 +00:00
mdspan d4c8c66bed patch 9.2.1018: filetype: radvd config files are not recognized
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: #21159

Signed-off-by: mdspan <mdspan.github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-28 16:58:06 +00:00
Doug Kearns ccb39ad965 runtime(ed): Update syntax, add links to Regexp highlight group
closes: #21167

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-27 20:39:27 +00:00
Doug Kearns adb877c311 runtime(vim): Update base syntax, link pattern groups to Regexp
- Link all pattern groups to the new Regexp highlight group
- Highlight delimiters in :syntax command patterns

closes: #21154

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-25 21:38:31 +00:00
Barrett Ruth 1afe7ad1bb patch 9.2.1002: filetype: bazelrc files are not recognized
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: #21146

Signed-off-by: Barrett Ruth <br@barrettruth.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-25 19:17:25 +00:00
Doug Kearns 4025cec645 runtime(vim): Update base syntax, allow Vim9 block terminators after :bar
Allow Vim9 block terminators after |.  While this usage is very unusual
it breaks the block region termination.

E.g., `{| echo "Foo" |}`

closes: #21129

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-23 18:35:06 +00:00
Aliaksei Budavei 5d41506eb4 runtime(sh): Selectively suppress matching syntax errors
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: #20935

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-13 18:51:53 +00:00
Doug Kearns 21e5e76bac runtime(vim): Update base syntax, match user-command args
- Trailing bar and tail comments are not explicitly supported.  The
  command is matched to EOL.
- In Vim9 script the following always matches as an assignment:
    UserCommand = 2
  Use a leading colon to force matching the user command:
    :UserCommand = 2
- Add highlighting for utility commands VimFold\a, Vim9, and VimL.

fixes:  #20854
closes: #21035

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-13 18:37:58 +00:00
Doug Kearns 8b77af5bb7 runtime(vim): Update base syntax, contain more ex commands
- Contain some straggler ex commands
- Fix some typos vimSep -> vimCmdSep

closes: #20995

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-10 19:26:02 +00:00
Bogdan Barbu a1e2198a2c 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: #20954

Signed-off-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-06 20:16:23 +00:00
Aliaksei Budavei 90e8cb0094 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: #20878

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-06 18:58:42 +00:00
bfc7604678 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: #20878

Co-authored-by: Christoffer Aasted <dezzadk@gmail.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-08-06 18:56:02 +00:00
Bogdan Barbu 8c93e2d50d runtime(make): variables in make target lists use wrong highlighting
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: #20947

Signed-off-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-05 19:14:54 +00:00
Bogdan Barbu 5a1124e4f5 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:  #18709
closes: #20842

Signed-off-by: Bogdan Barbu <l4b.bogdan.barbu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-04 21:11:56 +00:00
Doug Kearns 9e4e00710c patch 9.2.0910: runtime(vim): Update syntax, contain Ex commands
Problem:  Vim Syntax Script can be improved
Solution: Rework syntax script, update syntax tests and unit tests
          (Doug Kearns).

- Contain Ex commands to valid syntactic contexts.
- Add full address (:range) matching.
- Match :Next, :Print, :X, :global, :&, :~, :>, :<, :# and := commands.
- Match text input commands with folding.

Use :syn-keyword to match all commands except when immediately following
\w range characters where :syn-match is employed.

fixes:  #20250 (variables with s_ prefix are wrongly highlighted)
fixes:  #17543 (do not highlight vim commands within :runtime)
fixes:  #16937 (do not highlight vim commands after packadd)
fixes:  #14895 (incorrect highlighting of Vim syntax)
fixes:  #14020 (insert commands)
closes: #19331

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-04 21:00:38 +00:00
Doug Kearns c28515b999 patch 9.2.0894: filetype: ed script files not recognised
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: #19602

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-08-01 13:57:32 +00:00
Brian Carbone 99921ffc39 runtime(marko): improve syntax highlighting
closes: #20874

Signed-off-by: Brian Carbone <brian@briancarbone.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-30 18:32:16 +00:00
Brian Carbone 95da62a910 patch 9.2.0870: filetype: marko files are not recognized
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: #20863

Signed-off-by: Brian Carbone <brian@briancarbone.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-28 19:03:49 +00:00
Sam Williams 70d55cd516 runtime(m4): Prevent the m4Disabled region from nesting within itself.
closes: #20801

Signed-off-by: Sam Williams <sam@badcow.co>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-28 18:33:49 +00:00
Jon Parise 916809ae1e 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: #20342

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-26 15:20:02 +00:00
qwavies f88e7191da runtime(python): Fix indenting for brackets within python byte strings
Problem:  s:SearchBracket()'s skip-expression matches syntax group
          names ending in "Comment", "Todo", or "String" to decide
          whether a candidate bracket is inside a string/comment
          and should be skipped for indentation purposes. Byte and
          raw-byte string literals (b"...", rb"...") are highlighted
          via the pythonBytes/pythonRawBytes syntax groups, which
          don't end in "String", so brackets inside them (e.g.
          b"[") were never skipped and were counted as real,
          unmatched brackets, producing incorrect indentation.

Solution: Add "Bytes" to the indent script's existing suffix match,
          so pythonBytes/pythonRawBytes are recognized directly, the
          same way pythonString/pythonFString/pythonRawString
          already are.

          This supersedes an earlier version of this fix that
          renamed pythonBytes/pythonRawBytes to
          pythonBytesString/pythonRawBytesString in
          runtime/syntax/python.vim.

fixes:  #20812
closes: #20827

Signed-off-by: qwavies <qwavsbusiness@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-26 14:28:29 +00:00
frapank fb1a2e9d13 runtime(sh): fix Bash/Ksh array highlighting after an escaped paren
fixes:  #18712
closes: #20705

Signed-off-by: frapank <francesco.pankov+github@proton.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-25 17:03:56 +00:00
Maxim Kim e10bba88c2 patch 9.2.0831: diff highlighting hard to read with syntax enabled
Problem:  diff highlighting hard to read with syntax enabled and
          terminals having 256 or less colors (Andrey Butirsky)
Solution: Set a cterm foreground color (Maxim Kim)

fixes:  #4071
closes: #20711

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-22 17:22:44 +00:00
Maxim Kim d94bb14047 runtime(syntax-tests): add typst syntax tests
closes: #20694

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-03 16:15:35 +00:00
Aliaksei BudaveiandDmitri Vereshchagin a65741c8b3 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: #20550

Co-authored-by: Dmitri Vereshchagin <dmitri.vereshchagin@gmail.com>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-07-01 20:38:10 +00:00
Gareth Lloyd 77099ed6b3 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: #20577

Signed-off-by: Gareth Lloyd <gareth@ignition-web.co.uk>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-21 14:45:14 +00:00
Doug Kearns 4e6e1fc5ea runtime(algol68): Update syntax, support size prefixes in denotations
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: #20512

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-20 16:35:14 +00:00
Aliaksei Budavei ad8d21b14a runtime(syntax-tests): Rename test files on demand
The current scheme for naming syntax plugin tests expects
a filetype name prefix and an associated filename extension.
However, many configurational filetypes, e.g. Gitignore,
lack any established filename extension.  Factor out the
available file-renaming routine and offer a convenience
function to work around this limitation.

For example, put in a VIM_TEST_SETUP aware context:
------------------------------------------------------------
call DeferRenamingTestFileTo('.gitignore')
------------------------------------------------------------

closes: #20482

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-13 18:45:58 +00:00
Doug Kearns 78094ff1d7 runtime(vim): Update base syntax, simplify function call matching
- 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: #20481

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-06-12 09:28:46 +00:00
Doug Kearns 5333d9b670 runtime(algol68): Update syntax, always highlight prelude symbolic operators
- Remove `g:algol68_symbolic_operators` config variable, these operators
  are now always highlighted along with bold word operators
- Remove GSL `/-` operator, this was a typo in the implementation and
  now fixed in the latest Genie release as `/=`

closes: #20195

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-27 19:19:12 +00:00
Doug Kearns dfdeba16d7 runtime(vim): Update base syntax, fix mismtatched :def return type
Anchor the return type separator ':' with a lookbehind as the relevant
nextgroup options use skipwhite.

closes: #20319

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-25 16:33:27 +00:00