6575 Commits

Author SHA1 Message Date
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
Antonio Giovanni Colombo 915e68e210 translation(it): Update Italian manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-26 21:16:30 +00:00
Martin Schwan 2df68c8e4b patch 9.2.0539: filetype: too many Bitbake include files are recognized
Problem:  filetype: too many Bitbake include files are recognized
          (Brahmajit Das, after v9.1.1732)
Solution: Tighten the pattern to detect BitBake include files, update
          tests (Martin Schwan).

Be more strict when detecting BitBake inc files. In particular, only
match include keywords and variable assignments at the beginning of a
line (excluding whitespace).

Use non-capturing groups to slightly improve performance.

Use regex or-operators to exactly match BitBake assignment operators.
The previous expression would falsely match

    FOO .=. "bar"

, which is not valid BitBake syntax. The new capturing group is more
specific and matches only valid assignments.

fixes:  #20288
closes: #20335

Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-26 18:41:11 +00:00
Christian Brabandt e99b4d0214 runtime(doc): Document ft_recommended_style
related: #20036

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-26 18:34:06 +00:00
glepnir e8d7a40b98 patch 9.2.0538: Cannot keep leading whitespace in %{} statusline expr
Problem:  A leading space in the result of a %{} item is sometimes
          stripped, and an all-digit result is converted to a number.
Solution: Add %0{} atom which inserts the expression result verbatim
          (glepnir)

fixes:  #3898
closes: #20315

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-25 17:41:13 +00:00
Christian Brabandt c175ce86fa runtime(spec): Drop obsolete s:GetRelVer() function
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-25 17:21:43 +00:00
Christian Brabandt 7e55dae2fe patch 9.2.0536: tests: Test_invalid_args() fails on GTK4 without xterm_clipboard
Problem:  tests: Test_invalid_args() fails on GTK4 builds when
          xterm_clipboard is not enabled
Solution: Add has('xterm_clipboard') check to the test, while at it,
          also document the --display argument.

closes: #20318

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-25 16:59:58 +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
Andrey Starodubtsev 3a90b2ba8e patch 9.2.0535: tests: matchit plugin is not tested
Problem:  tests: matchit plugin is not tested
Solution: Add test_plugin_matchit, improve b:match_words for the html
          filetype plugin (Andrey Starodubtsev)

`b:match_words` which contains patterns used by `matchit` plugin to find
tag's counterpath, is fixed so that matching happens using the whole
tag, not just its first letter.

Also, it allows to find matching tag in case if there are spaces or
attributes after tag name.

fixes:  chrisbra/matchit#51
closes: #20313

Signed-off-by: Andrey Starodubtsev <andrey.starodubtsev@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-25 16:29:23 +00:00
Muraoka Taro 14c6730a39 patch 9.2.0534: GTK UI does not support fullscreen mode
Problem:  GTK UI does not support fullscreen mode
Solution: Add support for fullscreen (guioptions+=s) mode
          (Muraoka Taro).

closes: #20303

Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-25 15:54:20 +00:00
Christian Brabandt 010a71bb60 runtime(zig): Update upstream repo
related: #20312

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-25 15:15:09 +00:00
bennyyip 53d97c93b7 runtime(compiler): Remove wrong escape in zig compiler files
closes: #20312

Signed-off-by: bennyyip <yebenmy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-24 17:41:58 +00:00
Christian Brabandt e60d4b4ff3 runtime(doc): update netrws "mt" command description
fixes: #20302

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-24 08:57:49 +00:00
Yasuhiro Matsumoto 9a920e8254 patch 9.2.0524: spell: buffer overflow with many affix or compound flags
Problem:  spell: a word in a .dic file with many postponed prefix or
          compound flags overflows the fixed-size store_afflist[MAXWLEN]
          buffer in get_pfxlist() and get_compflags().
Solution: Add bounds checks (Yasuhiro Matsumoto).

closes: #20286

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-23 19:56:10 +00:00
Antonio Giovanni Colombo 5e3056ee83 translation(it): Update Italian manpage
Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-23 19:21:42 +00:00
zeertzjq ecba601e3f runtime(doc): fix a few small problems
closes: #20287

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-23 16:07:16 +00:00
Hirohito Higashi 6574102fb4 runtime(doc): Tweak documentation style
closes: #20296

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-23 15:47:32 +00:00
Foxe Chen e9c793bebc patch 9.2.0512: clientserver uses binary protocol
Problem:  clientserver feature uses binary protocol and is hard
          to understand
Solution: Rewrite the code based on channels and JSON messages
          (Foxe Chen).

closes: #19782

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-22 20:12:01 +00:00
Christian Brabandt c7645fcda5 runtime(doc): add a few references to mouse behaviour
fixes: #20281

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-22 17:44:50 +00:00
Christian Brabandt 44a1a6a331 runtime(doc): Update wrong shellescape() example
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-21 20:15:59 +00:00
nyngwang 6845c7a63d runtime(doc): fix a typo in :map-local
closes: #20276

Signed-off-by: nyngwang <nyngwang@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-21 19:54:22 +00:00
Christian Brabandt 1dfaeb4fa3 runtime(doc): re-generate vim.man
related: #20186

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-21 19:52:00 +00:00
Hirohito Higashi 06a2c7105c patch 9.2.0507: Vim9 class: public/protected member name clash uses same error
Problem:  When a public member and a protected member in a Vim9
          class have the same name (differing only in the leading '_'),
          Vim reports E1369 "Duplicate variable", which is also used for
          plain duplicate definitions.  Users cannot tell from the
          message whether the conflict is the public/protected naming
          rule or a real duplicate.
Solution: Add a dedicated error E1406 "Public and protected member
          have the same name" and emit it only when the name clash is
          between a public and a protected member.  Keep E1369 for
          genuine duplicate variable definitions (Hirohito Higashi).

fixes:  #20240
closes: #20277

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-21 19:45:59 +00:00
Guilherme Puida Moreira ff9fd819ae runtime(debversions): Add stonking (26.10) as Ubuntu release name
closes: #20282

Signed-off-by: Guilherme Puida Moreira <guilherme@puida.xyz>
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-21 19:34:20 +00:00
Hirohito Higashi d0af3bcee1 runtime(doc): fix help tags for removed/reused error codes
Problem:  Several error codes (E614, E1319, E1321, E1323, E1400, E1401,
          E1402, E1406) were removed from errors.h in v9.1.0600 but
          their *Ennn* tags remained in the help files, so :help Ennn
          jumps to obsolete locations.  E1395 was later reused with a
          new meaning ("Using a null class") in v9.1.1119, but its tag
          is still placed in the type-alias section.
Solution: Remove the stale *Ennn* tags from the help files.  Move
          *E1395* to the vim9.txt null-values section to match its
          current meaning.  Also fix the indentation of *E1411*.
          Regenerate runtime/doc/tags.

closes: #20279

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-21 19:08:10 +00:00
Cyril Roelandt 85eb099bf2 runtime(mbsync): Properly handle values for the "Sync" keyword
This has been manually tested with my personal mbsync configuration and
with the following test file:

    $ cat test.mbsyncrc
    Channel Foo
    # None may not be combined with other operations
    Sync None
    Sync None New
    # First form
    Sync Pull
    Sync Push
    Sync New
    Sync Old
    Sync Upgrade
    Sync ReNew
    Sync Gone
    Sync Delete
    Sync Flags
    Sync Invalid
    # Second form
    Sync PullNew
    Sync PullOld
    Sync PullUpgrade
    Sync PullReNew
    Sync PullGone
    Sync PullDelete
    Sync PullFlags
    Sync PullFull
    Sync PullAll
    Sync PullInvalid
    Sync PushNew
    Sync PushOld
    Sync PushUpgrade
    Sync PushReNew
    Sync PushGone
    Sync PushDelete
    Sync PushFlags
    Sync PushFull
    Sync PushAll
    Sync PushInvalid
    Sync NewInvalid
    # Multiple operations
    Sync New Upgrade Gone Flags
    # Mix of the two styles (an example from the mbsync manpage)
    Sync PullNew PullGone Push
    # Syntaxically correct, though they will raise a warning in mbsync:
    Sync PullNew Pull
    Sync PullNew Gone Push

closes: #20243

Signed-off-by: Pierrick Guillaume <pguillaume@fymyte.com>
Signed-off-by: Cyril Roelandt <tipecaml@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-20 21:15:33 +00:00
Lifepillar 146f46e264 runtime(context,typeset): Correct whitespace error in Log()'s 'edit' command
Also drop Last Change headers as this commit comes from the plugin's
maintainer.

related: #20242
related: #20244
closes:  #20263

Signed-off-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-20 18:20:04 +00:00
Christian Brabandt 129486193c runtime(getscript,vimball,rust): Use correct shellescape() form for ! ex cmd
Problem:  shellescape() called without {special} flag for :! ex command
Solution: Pass 1 as second argument to shellescape() in :! contexts

related: Commit: 3fb5e58fbc (patch 9.2.0479:
         [security]: runtime(tar): command injection in tar plugin)

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-20 17:59:16 +00:00
Christian Brabandt 0fa3603d6d runtime(doc): update cmdline-history (after v9.1.0895)
Reported-by: Hernán Ibarra Mejia <hernan@ibarramejia.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-20 09:13:52 +02:00
J. Paulo Seibt 35b767a090 patch 9.2.0502: runtime(netrw): bookmark handling can be improved
Problem:  To goto or delete a bookmark, one needs to prefix a count
          for the bookmark number (e.g., "2gb" to open bookmark#2).
          As the bookmark list gets or deletes entries, the numbers
          keep changing, requiring listing the bookmarks with qb to
          discover the desired bookmark number. Typing gb or mB
          without a count targets g:netrw_bookmarklist[-1].
Solution: If no count is given to gb or mB, list all bookmarks and
          prompt for a number using inputlist(), similar to tag jump
          with g].

closes: #20211

Signed-off-by: J. Paulo Seibt <jpseibt@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-19 18:51:14 +00:00
Christian Brabandt 07dc94023c runtime(doc): document new GTK4 GUI in version9.txt
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-19 18:46:59 +00:00
Aliaksei Budavei 7a57f59756 runtime(syntax-tests): Always delete our copy of "src/testdir/vimcmd"
Also prune this file whenever:
- tests cannot be run on this OS;
- tests fail and no QuitPre event is supported for ":cquit".

related: #19127
closes:  #20247

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-19 18:30:50 +00:00
tecis d004cc4f89 runtime(htmldjango): Remove unnecessary code.
I submitted the PR #20232 to resolve an undesired behavior in with the
highlighter inheriting from "django.vim" and "html.vim". After
further testing I noticed the re-declaration of `djangoOperators` in
"htmldjango" is not necessary, and my conclusions where a mistake from a
not-clean test environment.

This PR reverses the effect of the commit #f03155a.

related: #20232
closes:  #20248

Signed-off-by: tecis <67809811+tecis@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-19 17:09:11 +00:00
truffle 354ab1a69e patch 9.2.0500: filetype: some html files wrongly recognized as htmlangular
Problem:  filetype: some html files are wrongly recognized as htmlangular
Solution: Use the \< atom to anchor ng-template and ng-content to start
          of word (truffle)

Prevent false-positive htmlangular detection on words containing
'ng-template' or 'ng-content' as a substring (e.g. 'song-template',
'sing-content'). Anchor both branches with \< to require a word start,
matching the \<DTD\s\+XHTML\s idiom used five lines below.

related: neovim/neovim#39778.
closes:  #20246

Signed-off-by: truffle <truffleagent@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-18 20:46:24 +00:00
nagbu 5c496beb18 runtime(typeset): Correct whitespace error in :lcd command
closes: #20242
closes: #20244

Signed-off-by: nagbu <me@nagbu.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-18 20:36:07 +00:00
Christian Brabandt 4397227119 patch 9.2.0499: modeline: allow to disable modelines with modelinestrict
Problem:  Cannot disable modeline processing when loading a file
          (Mao-Yining, after v9.2.0350)
Solution: Allow to disable modeline processing even when
          'modelienstrict' is in effect.

fixes:  #20103
closes: #20229

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-18 18:59:03 +00:00
Miguel Barro 4a99175e39 patch 9.2.0497: Cannot jump to remote tags
Problem:  Cannot jump to remote tags
          (after v9.2.0405)
Solution: Add the 'tagsecure' option (Miguel Barro)

closes: #20162

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Miguel Barro <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 20:11:52 +00:00
Christian Brabandt a65a52d684 patch 9.2.0496: [security]: Code Injection in cucumber filetype plugin
Problem:  [security]: Code Injection in cucumber filetype plugin
          (Christopher Lusk)
Solution: Use rubys Regexp.new() with the untrusted pattern

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-4473-94jm-w5x9

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 19:39:24 +00:00
Christian Brabandt f08ab2f4d7 patch 9.2.0495: [security]: runtime(netrw): code injection via NetrwBookHistSave()
Problem:  [security]: runtime(netrw): code injection via
          NetrwBookHistSave()
Solution: Properly quote the directory name using string() function
          (Srinivas Piskala Ganesh Babu)

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-crm5-rh6j-2c7c

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 18:53:48 +00:00
mathmil 2a01e59671 runtime(just): add 'suffixesadd' to ftplugin
closes: #20197

Signed-off-by: mathmil <82173590+mathmil@users.noreply.github.com>
Signed-off-by: Peter Benjamin <petermbenjamin@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 18:08:46 +00:00
Aliaksei Budavei 23c77d8ec8 runtime(sh): Do not conflate empty array and function declarations in Bash
Although the "=" character is permitted in function names,
a construct that parses as a variable assignment is
preferred to it parsing as a function declaration.  See the
updated test file "sh_functions_bash.sh" for details.

fixes:  #20183
closes: #20205

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-05-17 18:06:22 +00:00
Maxim Kim f0e874a129 patch 9.2.0494: User commands cannot handle single args with spaces
Problem:  User commands cannot handle single args with spaces
Solution: Add the -nargs=_ attribute (Maxim Kim)

-nargs=_ allow user commands to have a single argument with spaces.

For example given the following Test command and TestComplete function:

```
vim9script
def TestComplete(A: string, _: string, _: number): list<string>
    var all = ["qqqq", "aaaa", "qq aa"]
    return all->matchfuzzy(A)
enddef
command! -nargs=_ -complete=customlist,TestComplete Test echo <q-args>
```

`:Test q a<tab>` should successfully complete `qq aa`

fixes:  #20102
closes: #20189

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 17:58:15 +00:00
Yasuhiro Matsumoto abecad5af0 patch 9.2.0493: popup: missing Popup, PopupBorder and PopupTitle hi groups
Problem:  popup: missing Popup, PopupBorder and PopupTitle highlight groups
Solution: add Popup, PopupBorder and PopupTitle highlight groups and
          fall back to Pmenu related highlighting groups (Yasuhiro Matsumoto).

fixes:  #20110
closes: #20208

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 17:49:42 +00:00
tecis f03155aa2a runtime(htmldjango): Add syntax highlighting of comparison operators
The presence `djangoOperators` in the file `syntax/django.vim` and
having the highlight function with a `match` statement leads to a
highlight spill-over with other elements defined in `syntax/html.vim`.
To avoid the highlight spill-over declare a region called
`djangoTagBlockNaive` to limit `djangoOperator` to only be matched
within.

related: #20225
closes:  #20232

Signed-off-by: tecis <67809811+tecis@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 08:44:39 +00:00
tecis 8b25d90b08 runtime(django): Resolve FIXME of comparrison operators + localization tags
Summary: Add highlight of comparison operators resolving FIXME left by maintainer.

How it works: By creating a the variable ‘djangoOperator’ with the regex
and defining to only highlight when enclosed within ‘djangoTag’ and
‘djangoVarBlock’ the highlight works as expected.

Note: Note even though the maintainer had left the note “FIXME ==, !=,
      <, >, <=, and >= should be djangoStatements” the results do work
as I think he intended even though the variable ‘djangoOperator’ had to
be created to achieve the result. By doing it this way the highlight
process does not get confused depending on the spacing of the comparison
operator. Example: {{ x>=10 }} and {{ x >= 10 }} work as expected.

Add tags related to localization.

Documentation source:

- https://docs.djangoproject.com/en/5.2/topics/i18n/formatting/#controlling-localization-in-templates

closes: #20225

Signed-off-by: tecis <67809811+tecis@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 08:32:15 +00:00
orbisai0security 403ba303b9 ccfilter: uses unbounded strcat()/strcpy()
Problem:  ccfilter.c copies compiler output into fixed-size buffers
          with strcat() and strcpy(), so very long diagnostics can
          overflow.
Solution: replace with snprintf() bounded by LINELENGTH.

Automated security fix generated by Orbis Security AI

closes: #20233

Signed-off-by: orbisai0security <mediratta01.pally@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-17 08:22:08 +00:00
Phạm Bình An 591db923ba runtime(zip,tar): Add support for compressed .cbz and .cbt files
*.cbz and *.cbt files are just zip and tar files for comic books.
https://en.wikipedia.org/wiki/Comic_book_archive

closes: #20206

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 08:02:13 +00:00
Doug Kearns f7e239bd0e runtime(sh): Update syntax, don't include parens in function name highlighting
Parentheses are not part of the function name so highlight them
differently.

closes: #20219

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 07:57:10 +00:00
Keith Smiley bc7f736a39 patch 9.2.0489: filetype: some Objective-C files are not recognized
Problem:  filetype: some Objective-C files are not recognized
Solution: Add g:filetype_mm override variable, improve the objective c
          pattern detection (Keith Smiley).

closes: #20221

Signed-off-by: Keith Smiley <keithbsmiley@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-16 07:46:25 +00:00
Hirohito Higashi b467b56ef0 patch 9.2.0488: statusline: status line highlight blends into adjacent vsep cells
Problem:  When two windows are placed side by side with vsplit and
          their status lines are connected (the cell between them
          is drawn with the 'stl' / 'stlnc' fillchar, not the
          'vert' character), that connecting cell still uses the
          VertSplit highlight.  The status line bar therefore
          looks broken at the separator column, and any custom
          edge highlight set in 'statusline' (%#XX# / %N*) is cut
          off there.
Solution: Make that connecting cell take the highlight from the
          neighbouring status line edge instead of VertSplit:
            - Next to the current window, use the current
              window's edge highlight, so the StatusLine bar (and
              any %#... at the edge) extends into the column
              without a seam.
            - Between two non-current windows whose status
              fillchar is a space, use the left window's
              right-edge highlight, so the StatusLineNC bar is
              continuous across the column too.
          Cells drawn with the 'vert' character (the two windows
          do not share a status line) keep the VertSplit
          highlight as before.

          Add Test_statusline_vsep_borrow_hl with two layouts
          (NC | cur | NC | NC and NC | NC | cur | NC) so all
          three cases above are covered.

closes: #20182

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-05-15 16:52:29 +00:00