zeertzjq [Sun, 12 Oct 2025 14:12:41 +0000 (14:12 +0000)]
patch 9.1.1847: No cmdline completion for :echoconsole and :echowindow
Problem: No cmdline completion for :echoconsole, :echowindow and second
expression after :echoerr.
Solution: Set EXPAND_EXPRESSION for :echoconsole and :echowindow, and
check for multiple expressions after :echoerr (zeertzjq).
closes: #18552
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Wu Junkai [Sun, 12 Oct 2025 14:10:34 +0000 (14:10 +0000)]
runtime(cangjie): Fixes and improvements for syntax script
Housekeeping:
- Add GitHub repository link
- Update Last Change date
Style:
- Add Vim modeline for consistent formatting
- Unify indentation style (spaces to tabs)
- Wrap long cluster definitions for readability
New Features:
- Add highlighting for escape sequences
- Add error highlighting for invalid rune literals
- Add syntax-based folding support
Fixes:
- Fix rune matching to allow only a single character/escape
- Fix highlighting for double-quoted rune literals
- Fix highlighting for floats with exponents and type suffixes
- Use the optional tail command-name specs at help entries for :keepalt,
:lcd, :cfdo, :lfdo, :wundo, :rundo, :bdelete and :bunload.
- Add missing shortname tags.
closes: #18547
Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1846: Build failure when building without wayland
Problem: Build failure when building without wayland
(bennyyip, after v9.1.1844)
Solution: Update Makefile dependencies again, remove wayland
dependencies for clipboard.c,
James McCoy [Thu, 9 Oct 2025 20:15:34 +0000 (20:15 +0000)]
patch 9.1.1843: tests: Test_search_stat_option() may fail on slow systems
Problem: tests: Test_search_stat_option() may fail on slow systems
Solution: test_search_stat: Extend searchcount() timeout if the test is
being re-run due to flakiness (James McCoy).
closes: #18524
Signed-off-by: James McCoy <jamessan@jamessan.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1842: MS-Windows: build failure when mzscheme is included
Problem: MS-Windows: build failure when mzscheme is included
(dertuxmalwieder, after v9.1.1838)
Solution: skip specific section when PROTO is defined
(Hirohito Higashi)
fixes: #18529
closes: #18530
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1840: Generating prototype files does not work on all platforms
Problem: Generating prototype files does not work on all platforms
Solution: Rework prototypes generation using python instead of cproto,
enable it in CI to test it for each PR (Hirohito Higashi).
closes: #18045
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Christian Brabandt <cb@256bit.org> Signed-off-by: Miguel Barro <miguel.barro@live.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Also, distinguish (by abbreviating their names) and manage
foldable kinds of syntax items: blocks of code ("b"), plain
comments ("c"), Javadoc comments ("d"), adjacent "import"
declarations ("i"). Fold all qualifying items by default;
otherwise, do not fold items of explicitly delisted kinds.
For example,
------------------------------------------------------------
let g:java_ignore_folding = "bcdi"
------------------------------------------------------------
Resolves zzzyxwvut/java-vim#12.
closes: #18492
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1837: tests: Test_plugin_evaluate_in_popup() fails on 32bit
Problem: tests: Test_plugin_evaluate_in_popup() fails on 32bit arch
(James McCoy)
Solution: Instead of evaluating the ptr, let's evaluate just the pointer
content, skipping printing the pointer address.
zeertzjq [Tue, 7 Oct 2025 20:53:48 +0000 (20:53 +0000)]
patch 9.1.1836: 'culopt' "screenline" not redrawn with line("w0") and :retab
Problem: 'cursorlineopt' "screenline" isn't redrawn when moving cursor
and then using line("w0") and :retab that does nothing.
Solution: Call redraw_for_cursorcolumn() when setting a valid w_virtcol
(zeertzjq).
closes: #18506
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Girish Palya [Tue, 7 Oct 2025 20:43:06 +0000 (20:43 +0000)]
patch 9.1.1835: completion: not possible to style popup borders globally
Problem: not possible to style popup borders globally
Solution: Add the 'pumborder' option (Girish Palya)
This commit introduces a new global option, 'pumborder' ('pb'), that
allows users to define borders and optional decorations for the
completion popup menu.
```
Defines a border and optional decorations for the popup menu in
completion. The value is a comma-separated list of keywords.
Border styles (at most one):
"single"singleuse thin box-drawing characters
"double"doubleuse double-line box-drawing characters
"round"rounduse rounded corners
"ascii"asciiuse ASCII characters (-, |, +)
"custom:XXXXXXXX"
use eight characters given after "custom:",
in order: top, right, bottom, left,
topleft, topright, botright, botleft
Additional flags:
"margin"marginadds one-cell spacing inside the left and right border
"shadow"shadowdraws a shadow at the right and bottom edges
Highlight groups:
|hl-PmenuBorder|hl-PmenuBorderused for the border characters
|hl-PmenuShadow|hl-PmenuShadowused for the shadow
Border styles using box-drawing characters ("single", "double",
"round") are only available when |'encoding'| is "utf-8" and
|'ambiwidth'| is "single". "margin" requires a border style.
See also: |ins-completion-menu|.
```
Mao-Yining [Tue, 7 Oct 2025 19:31:22 +0000 (19:31 +0000)]
patch 9.1.1834: MS-Windows: not possible to highlight the title bar
Problem: MS-Windows: not possible to highlight the title bar
Solution: Make the title/caption bar configurable by introducing the
'go-C' option value which allows to highlight it using the
TitleBar and TitleBarNC highlighting groups (Mao-Yining).
Introduce titlebar color customization for Windows 11 GUI through
highlight groups and new 'guioptions' flag:
- Add 'C' flag to enable titlebar color customization (opt-in)
- New highlight groups: TitleBar (active) and TitleBarNC (inactive)
- Uses DWMWA_CAPTION_COLOR and DWMWA_TEXT_COLOR DWM attributes
- Dynamically loads dwmapi.dll for Windows 11 compatibility
- Defaults to system colors when set to NONE or feature disabled
closes: #18449
Signed-off-by: Mao-Yining <mao.yining@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime(zip): add *.pkpass to list of zip extensions
Similar to a359c9c25e5c3c1e543fc720223aa7256e6f72cf.
See https://developer.apple.com/documentation/walletpasses/building-a-pass#Sign-the-Pass-and-Create-the-Bundle,
which explicitly mentions that pkpasses are just renamed ZIPs.
closes: #18501
Signed-off-by: MultisampledNight <contact@multisamplednight.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Sean Dewar [Sun, 5 Oct 2025 17:00:58 +0000 (17:00 +0000)]
patch 9.1.1831: stray vseps in right-most 'winfixwidth' window
Problem: vertical separator of 'winfixwidth' windows may remain if they
become right-most windows from closing windows to the right.
Solution: Don't implicitly rely on frame_new_width to fix vseps, as the
call may be skipped for 'winfixwidth' windows to preserve
their width; do it explicitly in winframe_remove (Sean Dewar).
Note that I prefer win_new_width here over setting w_width directly, which
would've previously been done by win_split_ins after frame_add_vsep, as this
wasn't true for winframe_remove.
Though the equivalent issue of bottom 'winfixheight' windows leaving stray
statuslines with &ls=0 doesn't seem to exist, test it anyway.
closes: #18481
Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1829: filetype: KerML and SysML files are not recognized
Problem: filetype: KerML and SysML files are not recognized
Solution: Detect *.kerml as kerml filetype, detect *.sysml as sysml
filetype, include a kerml and sysml filetype plugin
(Daumantas Kavolis)
closes: #18476
Signed-off-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
In insert-mode completion, the leader text is temporarily removed while
searching for candidates. When the LSP server responds slowly, the
client may call `:sleep` to wait, which triggers `out_flush()`. This
causes the deleted text to disappear briefly before being redrawn,
resulting in visible flicker.
This commit reinserts the leader text before invoking the user function,
and removes it again afterward to eliminate flicker.
closes: #18468
Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
zeertzjq [Sat, 4 Oct 2025 10:35:49 +0000 (10:35 +0000)]
patch 9.1.1824: tests: no test for displaying 'foldcolumn' with Unicode "foldinner"
Problem: tests: no test for displaying 'foldcolumn' with Unicode
"foldinner" in 'fillchars'.
Solution: Add a few more test cases. Also fix misplaced "foldinner"
entry in version9.txt (zeertzjq).
closes: #18483
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1823: diff: w_topline may be invalidated
Problem: diff: w_topline may be invalidated
Solution: Update lnum in diff_set_topline()
(Yee Cheng Chin).
This can happen in ex_diffupdate() for certain edge cases which cause
the logic to now be wrong. This was also the root cause for #18437 where
Vim would crash due to a null pointer dereferencing (said pointer would
not be null under normal circumstances).
related: #18437
closes: #18484
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
- Add to the list of java.lang classes three new types: IO,
ScopedValue, and ScopedValue.Carrier.
- Add to the list of java.lang interfaces a new type:
ScopedValue.CallableOp.
- "Demote" RuntimePermission from the list of java.lang
class types to javaLangDeprecated.
- Reintroduce supported syntax-preview-feature numbers 455
and 488 as _a new number_ 507.
Jan Claußen [Fri, 3 Oct 2025 08:41:32 +0000 (08:41 +0000)]
patch 9.1.1821: filetype: Not all PKL files are recognized
Problem: filetype: Not all PKL files are recognized
Solution: Detect *.pcf as pkl filetype, detect using the pkl-lsp://
protocol as pkl filetype, include PKL syntax script
(Jan Claußen)
This adds basic syntax support for the new PKL language by Apple.
What works:
- Shebang support
- Comment support
- Integers (decimal, hex, octal and binary) support
- Floating point support including exponentials
- Basic datatype support
- Unicode escape delimiters
- Escape code support
- String interpolation
- Support up to five pounds for custom delimiters
- Folding of multi-line comments and blocks
What doesn't work:
The language heavily uses parameterized type declarations, which can get
very complex. It is very hard to highlight this properly. There is
official Tree-sitter support for this. Since it is hard to pull this off
in a vim syntax file, I opted for basic support of the data types.
References:
https://github.com/apple/pkl-pantry
fixes: #18271
closes: #18274
Signed-off-by: Jan Claußen <jan.claussen10@web.de> Signed-off-by: Christian Brabandt <cb@256bit.org>
Girish Palya [Fri, 3 Oct 2025 08:28:38 +0000 (08:28 +0000)]
patch 9.1.1820: completion: some issues with 'acl'
Problem: completion: some issues with 'acl' when "preinsert" and
"longest" is in 'completeopt' (musonius, after v9.1.1638)
Solution: Fix various issues (see details below) (Girish Palya)
This commit addresses multiple issues in the 'autocompletedelay' behavior with
"preinsert" and "longest":
- Prevents spurious characters from being inserted.
- Ensures the completion menu is not shown until `autocompletedelay` has
expired.
- Shows the "preinsert" effect immediately.
- Keeps the "preinsert" effect visible even when a character is deleted.
fixes: #18443
closes: #18460
Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1819: Cannot configure the inner foldlevel indicator
Problem: Cannot configure the inner foldlevel indicator for the
foldcolumn
Solution: Add "foldinner" suboption value to the 'fillchar' option
(Maria José Solano).
closes: #18365
Signed-off-by: Maria José Solano <majosolano99@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Girish Palya [Wed, 1 Oct 2025 21:09:53 +0000 (21:09 +0000)]
runtime(doc): Clarify use of "noselect" in 'completeopt'
closes: #18452
Co-authored-by: Tomasz N <przepompownia@users.noreply.github.com> Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Girish Palya [Wed, 1 Oct 2025 20:52:44 +0000 (20:52 +0000)]
patch 9.1.1817: popup: there are some position logic bugs
Problem: popup: there are some position logic bugs
Solution: Refactor position logic and fix a few bugs
(Girish Palya).
This change does the following:
- Simplified and rewrote horizontal positioning logic (was overly
complex).
- Split horizontal and vertical positioning into separate functions.
- Fixed missing truncation marker (e.g. `>`) when items were truncated
and `pummaxwidth` was not set.
- Fixed occasional extra space being added to menu items.
- Update tests
closes: #18441
Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
zeertzjq [Wed, 1 Oct 2025 18:30:38 +0000 (18:30 +0000)]
runtime(doc): make :h virtcol() more accurate
The current description (especially the "unlimited width" part) is
inaccurate in several ways:
- The size of virtual text can depend on window width. In particular,
the size of "above" virtual text can be equal to window width.
- A double-width character that doesn't fit adds 1 to the virtual column
of the following characters.
- The size of 'showbreak' and 'breakindent' is counted.
related: #5713
closes: #18447
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: file mode changes in os_amiga.pro to 644
(RestorerZ, after v9.1.1811)
Solution: Fix the permissions of proto/os_amiga.pro to 644
(Hirohito Higashi).
closes: #18454
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1813: MS-Windows: title bar is always white
Problem: MS-Windows: title bar is always white
Solution: Set_caption() and set the title bars color to the
Normal highlighting background (Mao-Yining)
The implement of 'guidarkmode' is a much longer task, so I would like to
complete this most needed feature.
This commit seen the caption bar as the extension of the background so
it is follow the option 'background' before Windows 11 and follow the
background color after Windows 11.
fixes: #3922
fixes: #18028
closes: #18282
Signed-off-by: Mao-Yining <mao.yining@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1812: completion: flicker with slow LSPs
Problem: completion: flicker with slow LSPs
Solution: Disable flushing the changed text (Girish Palya).
In insert-mode completion, the leader text is temporarily deleted while
searching for completion candidates. If the LSP server responds slowly,
the client may call `:sleep` to wait, which triggers `out_flush()`. This
causes the deleted text to briefly disappear before being redrawn when
results arrive, producing a visible flicker.
There are two possible fixes:
1. Suppress flushing while a user function (e.g. LSP client) is waiting.
2. Reinsert the deleted text before invoking the user function.
This Commit implements (1), which is the simpler solution, though somewhat
heavy-handed. If you think this may introduce unwanted side effects, I
can rework it to use (2).
closes: #18439
Signed-off-by: Girish Palya <girishji@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1810: completion: "longest" doesn't work for manual completion with 'ac'
Problem: completion: "longest" doesn't work for manual completion when
'autocomplete' is on (after 9.1.1800).
Solution: Only reset compl_get_longest when enabling autocompletion
(zeertzjq).
closes: #18430
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime(tex): add amsmath support to tex syntax script
Problem: tex syntax file does not support some of the math equation
environments provided by amsmath.sty, therefore well-formed
snippet is highlighted as "texBadMath"
Solution: add the environments
closes: #18433
Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1808: Option insecure flags not copied when splitting window
Problem: Option insecure flags not copied when splitting window.
Solution: Move window-local insecure flags to winopt_T and copy them
properly (zeertzjq).
closes: #18434
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
patch 9.1.1807: :set doesn't clear local insecure flag like :setlocal does
Problem: :set doesn't clear local insecure flag like :setlocal does.
Solution: Also clear the local insecure flag when using :set (zeertzjq).
This applies to local options like 'wrap', 'foldtext' and 'foldexpr',
whose global flags are actually never used. For global-local options
like 'statusline' the behavior is already correct, so add some tests.
related: #18434
Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>