Commit Graph

10029 Commits

Author SHA1 Message Date
zeertzjq
6869d0698f vim-patch:17d60ce: runtime(compiler): add compiler plugin for cabal
closes: vim/vim#19152

17d60cee55

Co-authored-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
2026-01-14 07:12:48 +08:00
zeertzjq
3f10748a07 vim-patch:c2f453f: runtime(krl): Update syntax file for Kuka Robot Language
closes: vim/vim#19171

c2f453f5f3

Co-authored-by: KnoP-01 <knosowski@graeffrobotics.de>
2026-01-14 07:12:28 +08:00
zeertzjq
3ad9e6254b vim-patch:ec46b9d: runtime(matchit): include minor improvement from chrisbra/matchit
In particular, documentation update from
related: chrisbra/matchit#55

ec46b9d4f2

Co-authored-by: Jon Parise <jon@indelible.org>
2026-01-14 07:11:32 +08:00
bfredl
5581a53437 fix(shell): ceci n'est pas une pipe
On linux /dev/stdin is defined as a symlink to /proc/self/fd/0
This in turn is defined as a "magic" symlink which is allowed to point
to internal kernel objects which really does not have a file
name. As a glaring inconsistency, fopen("/proc/self/fd/0", "r")
works if fd was originally opened using pipe() but not using
socketpair(). As it happens UV_CREATE_PIPE does not create pipes
but creates socket pairs. These two unfortunate conditions
means that using /dev/stdin and similar does not work in
shell commands in nvim on linux. as a work around, override
libuv's descicion and create an actual pipe pair.

This change is not needed on BSD:s but done unconditionally for simplicity,
except for on windows where it is not done for stdout because of windows

fixes #35984
2026-01-13 09:41:51 +01:00
Justin M. Keyes
9afd81512b Merge #37377 from echasnovski/pack-fix-checkout 2026-01-13 00:07:09 -05:00
Evgeni Chasnovski
bac4cde9cd fix(pack): actually checkout proper version of submodules
Problem: Installing plugin with submodules doesn't check out their
  state (due to `git clone --no-checkout` to not end up with default
  branch code in case of invalid `version`).

  Updating a plugin with submodules doesn't update their state.

Solution: Update `git_checkout` helper to account for submodules.
  Another approach would be `git checkout --recurse-submodules ...`,
  but that doesn't seem to allow `--filter=blob:none` for submodules,
  which is nice to have.

  Also make `git_clone` wrapper simpler since `--no-checkout` makes
  `--recurse-submodules` and `--also-filter-submodules` do nothing.
2026-01-12 22:57:38 +02:00
Tristan Knight
d2ca90d87e fix(glob): handle numeric literals in pattern matching (#37257)
Problem:
vim.glob.to_lpeg() errors when patterns contain numeric literals
(like the '1' in '.ps*1') because LPeg interprets numeric strings
as indexed grammar rule references. For example:
  vim.glob.to_lpeg('.ps*1')
  E5108: Lua: rule '1' undefined in given grammar

Solution:
Prefix all rule names with '_' in the end_seg() function to prevent
literal numbers from being interpreted as LPeg indexed rules. This
ensures pattern components like '1', '2', etc. are treated as
regular rule names rather than special references.
2026-01-12 10:58:01 -08:00
Evgeni Chasnovski
8f0b8a2c27 fix(pack): skip git stash during install
Problem: Installing plugin is done via `git clone --no-checkout ...`
  (to not end up with default branch code in case of invalid `version`).
  This leaves cloned repo in a state that `git stash` will actually add
  an entry to the stash list. Although not critical, better to not have
  that if possible.

Solution: explicitly skip `git stash` step in checkout during install.
2026-01-12 15:53:36 +02:00
zeertzjq
7a6e8d4430 docs: misc (#37281)
Close #37289
Close #37348

Co-authored-by: Marc Jakobi <marc@jakobi.dev>
Co-authored-by: Anton Kesy <anton@kesy.de>
2026-01-12 03:50:57 +00:00
zeertzjq
e790c87cd8 vim-patch:9.1.2078: A few more typos in various files (#37368)
Problem:  A few more typos in various files
Solution: Fix those (zeertzjq, antonkesy)

related: neovim/neovim#37348
closes:  vim/vim#19153

6a2b5b2246

Co-authored-by: Anton Kesy <anton@kesy.de>
2026-01-12 01:27:03 +00:00
zeertzjq
e01c42b43d vim-patch:c4dc4d8: runtime(syntax-tests): Add :help command termination tests (#37366)
Problem:  The :help command lacks command termination tests.
Solution: Add tests for command termination at "|", "^M" and "^J".

- Check special handling of "|" in arguments.
- Update the Vim syntax file.

closes: vim/vim#18932

c4dc4d8f1e

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-01-12 01:15:02 +00:00
zeertzjq
a4ee34a165 vim-patch:be62259: runtime(rst): set suffixesadd for rst (#37365)
Add .rst to suffixesadd. This allows gf and similar commands to work for
rst documentation such as in the linux kernel Documentation.

closes: vim/vim#19149

be6225976c

Co-authored-by: Anakin Childerhose <anakin@childerhose.ca>
Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-12 08:21:07 +08:00
zeertzjq
aed1f8c377 vim-patch:9.1.2079: use-after-free with 'qftf' wiping buffer (#37364)
Problem:  use-after-free with 'quickfixtextfunc' wiping buffer
          (henices)
Solution: Evaluate 'quickfixtextfunc' with textlock enabled.

closes: vim/vim#19142

300ea1133f

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-12 07:04:36 +08:00
Robert Muir
1629493f72 perf(lsp): avoid textDocument/definition requests during tag completion (#37260)
Problem:
vim.lsp.tagfunc looks for the presence of 'c' (cursor) flag and issues
sync textDocument/definition requests to all clients, otherwise
workspace/symbol requests. But 'c' flag can also be set during the
insert mode completion, e.g. with an empty tag completion query, the tag
func receives pattern of '\<\k\k' with flags 'cir'.

Solution:
check for 'i' (insert mode completion) flag and don't issue any LSP
requests, return vim.NIL for immediate fallback to tags.
2026-01-11 14:41:26 -08:00
zeertzjq
94144d4678 fix(lua): vim._with() doesn't save boolean options properly (#37354)
Problem:  vim._with() doesn't save boolean options with false values
          properly.
Solution: Use vim.F.if_nil().
2026-01-11 20:04:32 +08:00
zeertzjq
ba7e17160d vim-patch:69075d3: runtime(compiler): Do not set title in pandoc compiler (#37347)
closes: vim/vim#19048

69075d35be

Co-authored-by: Ubaldo Tiberi <ubaldo.tiberi@volvo.com>
2026-01-10 23:24:37 +00:00
zeertzjq
d1f7672bc9 vim-patch:fc00006: runtime(sieve): preserve existing line endings in ftplugin (#37334)
Only set fileformat=dos for new files; preserve existing line endings
when editing. This satisfies RFC 5228 for new files while avoiding
issues with version control and existing workflows.

The previous change (3cb4148) unconditionally set fileformat=dos, which
converts existing files with LF line endings to CRLF on save. This
causes issues with version control (entire file appears changed) and
breaks workflows where sieve files are stored with unix line endings.

Dovecot Pigeonhole (the main sieve implementation) has explicitly
accepted LF line endings since 2008 (commit 97b967b5):
  /* Loose LF is allowed (non-standard) and converted to CRLF */
This behavior has remained unchanged for almost 18 years.

closes: vim/vim#19144

fc00006777

Co-authored-by: André-Patrick Bubel <code@apb.name>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:07:58 +08:00
zeertzjq
aee7c1feac vim-patch:27e5d95: runtime(lynx): Update syntax file (#37333)
Update for Lynx version 2.9.2.

closes: vim/vim#19141

27e5d95edf

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-01-10 08:07:02 +08:00
zeertzjq
46f83dc271 vim-patch:536ee91: runtime(doc): add termdebug tag (#37321)
vim-patch:536ee91: runtime(doc): add termdebug tag, remove term "floating window"

Problem:
- When I type `:h termdebug`, I will expect to see the introduction of
  the termdebug plugin. But instead, it shows me document of
  `termdebug_wide`, and I have to scroll up quite much to find the
  introduction.
- `:h popup` says `floating-window`? Why? As I have tried both features
  (of Vim and Neovim), I think they are _very different_ things, even
  more different than job features in Vim and Neovim.

Solution:
- In `:h terminal.txt`, add tag `*termdebug*` to the introduction of
  termdebug plugin.
- In `:h popup.txt`, "floating window" -> "popup window".

closes: vim/vim#19135

536ee91189

Change the title ":Termdebug plugin" to simply ":Termdebug", otherwise
the line is too long.

Co-authored-by: Phạm Bình An <phambinhanctb2004@gmail.com>
2026-01-10 07:05:28 +08:00
Yochem van Rosmalen
f19653e370 fix(health): emit Progress message #37123
Problem:
The `"Running healthchecks..."` message doesn't inform the user much and
is a hack from before we got a way to emit actual progress messages.

Solution:
Use `nvim_echo` to emit progress messages showing the name of the report
that is currently running.
2026-01-09 17:00:09 -05:00
zeertzjq
445cb751e6 fix(pum): pumborder=shadow not blending properly (#37328)
Problem:  Setting pumborder=shadow doesn't blend proerly.
Solution: Check fconfig.shadow when setting pum_grid.blending, like what
          is done in check_blending().
2026-01-09 11:52:59 +00:00
Christian Clason
0aabe7ae76 feat(inspect): update to a8ca312
Sync with upstream commit a8ca3120df
2026-01-09 10:07:15 +01:00
Yochem van Rosmalen
b23e99e051 docs: remove ICCF Holland URL (#37230)
Problem:
ICCF Holland is dissolved by the end of 2025 ^1 and sponsorships are
transferred to Kuwasha (https://kuwasha.net). Their SSL certificate is
already expired, so the https URL mentioned in the intro text doesn't
work anymore. Reported by https://github.com/neovim/neovim/issues/36597#issue-3635391949.

Solution:
URL is removed from the text. We'll keep the vim.org URL for now as it
points to the same information.

[^1]: See June 2025 news on https://iccf-holland.org/index.html
2026-01-09 16:38:26 +08:00
zeertzjq
af7925ec58 vim-patch:335aecd: runtime(cpp): Fix c++ float and integer literal syntax highlighting
closes: vim/vim#8939

335aecd98f

Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2026-01-09 09:39:35 +08:00
zeertzjq
9ca69488cf vim-patch:e80a4ed: runtime(matchit): Update to Release 1.21
closes: vim/vim#19109

e80a4ed845

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-09 09:39:19 +08:00
zeertzjq
1b83b00fff vim-patch:8e07908: runtime(sh): Update indent script
closes: vim/vim#19110

8e079085d2

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-09 09:37:33 +08:00
zeertzjq
d77a32d805 vim-patch:a71e52a: runtime(racket): update Racket syntax file
This brings us to upstream commit f251a43 (Merge syntax based folding
for block comments, 2025-09-10). Note that not all upstream files are
included.

closes: vim/vim#19126

a71e52a0b1

Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
2026-01-09 09:37:16 +08:00
zeertzjq
4faf23679e vim-patch:9179ddc: runtime(yaml): update YAML indentation for mapping keys inside list items
When a list item contains a mapping key (e.g., '- element1:'), the
content under that key was incorrectly indented. The indent function
was not accounting for the '- ' prefix when calculating indentation
for nested content.

Example that now works correctly:
  list:
    - element1:
        foo: bar  # Now correctly at indent 6, not 4

The fix adds special handling in two places:
1. When previous line ends with ':' and starts with '- '
2. When looking up previous mapping key that is a list item

Fixes indentation to account for the 2-character '- ' prefix.

fixes:  vim/vim#18943
closes: vim/vim#19133

9179ddc060

Co-authored-by: Cezar Dimoiu <cezar.dimoiu@keysight.com>
2026-01-09 09:37:08 +08:00
zeertzjq
03e9797bb2 vim-patch:cf8e378: runtime(doc): clarify the behaviour of 'fo-m' (#37318)
fixes: vim/vim#19095

cf8e378f4e

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-09 01:36:04 +00:00
Evgeni Chasnovski
3e83f7bec7 docs: drop vim.pack WIP note, add example code #37229 2026-01-07 21:43:55 -05:00
zeertzjq
625a2bfde8 vim-patch:4ba3dad: runtime(sqloracle): Update syntax script
closes: vim/vim#19111

4ba3dadd68

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-08 09:30:03 +08:00
zeertzjq
8eba81182a vim-patch:5eb10c5: runtime(xml): update XML runtime files
closes: vim/vim#19112

5eb10c5359

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-08 09:30:03 +08:00
zeertzjq
6e3883adb8 vim-patch:c45e16a: runtime(zsh): Update runtime files
closes: vim/vim#19113

c45e16a939

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-08 09:30:03 +08:00
zeertzjq
eb875aca25 vim-patch:46cc91e: runtime(privoxy): Update syntax file
Update to version 4.1.0.

closes: vim/vim#19115

46cc91ecbf

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-01-08 09:30:03 +08:00
zeertzjq
492bbbf6ef vim-patch:e7bb907: runtime(wget): Update syntax files
Update to versions Wget 1.25.0 and Wget2 2.2.1.

closes: vim/vim#19122

e7bb907c24

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-01-08 09:30:03 +08:00
benarcher2691
55a0843b7c feat(editor): :source can run Lua codeblock / ts injection #36799
Problem:
Can't use `:source` to run a Lua codeblock (treesitter injection) in
a help (vimdoc) file.

Solution:
Use treesitter to parse the range and treat it as Lua if detected as
such.
2026-01-07 20:20:53 -05:00
zeertzjq
7500f76e61 fix(filetype): fix typo (#37286)
Follow-up to #37278.

Not sure how I missed the typo. I even remember checking the PR twice...
2026-01-07 18:42:20 +08:00
zeertzjq
dd6ed20272 docs: misc (#37280)
Close #36806
Close #36812
Close #37003
Close #37016
Close #37038
Close #37039
Close #37157
Close #37185
Close #37213

Co-authored-by: saroj_r <sarojregmi.official@gmail.com>
Co-authored-by: Olivia Kinnear <git@superatomic.dev>
Co-authored-by: Igor <igorlfs@ufmg.br>
Co-authored-by: Justin Roberts <JustinEdwardLeo@gmail.com>
Co-authored-by: "Mike J. McGuirk" <mike.j.mcguirk@gmail.com>
Co-authored-by: Aymen Hafeez <49293546+aymenhafeez@users.noreply.github.com>
Co-authored-by: Peter Cardenas <16930781+PeterCardenas@users.noreply.github.com>
Co-authored-by: DrNayak2306 <dhruvgnk.work@gmail.com>
2026-01-07 08:11:42 +08:00
zeertzjq
9252d470cb vim-patch:6c30628: runtime(cpp): Announce syntax file adoption (#37279)
6c30628392

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-06 23:00:12 +00:00
zeertzjq
a84bf386d2 vim-patch:9.1.2062: filetype: djot files are not recognized
Problem:  filetype: djot files are not recognized
Solution: Detect *.dj and *.djot files as djot filetype
          (Hoang Nguyen).

Reference:
- https://djot.net/

closes: vim/vim#19105

8d0fcff002

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:20:16 +08:00
zeertzjq
0bbbe236aa vim-patch:9.1.2061: filetype: Koka files are not recognized
Problem:  filetype: Koka files are not recognized
Solution: Detect *.kk files as koka filetype (Hoang Nguyen).

Reference:
- https://koka-lang.github.io/koka/doc/index.html

closes: vim/vim#19104

969a4a0ba5

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:19:12 +08:00
zeertzjq
a6df0db11f vim-patch:9.1.2060: filetype: Rasi include files are not recognized
Problem:  filetype: Rasi include files are not recognized
Solution: Detect *.rasinc as rasi filetype (Hoang Nguyen)

Reference:
- https://github.com/davatorium/rofi/blob/next/doc/rofi-theme.5.markdown#file-extension

closes: vim/vim#19103

b084b8f1db

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:18:28 +08:00
zeertzjq
b075656279 vim-patch:9.1.2059: filetype: Nickel files are not recognized
Problem:  filetype: Nickel files are not recognized
Solution: Detect *.ncl files as nickel filetype
          (Hoang Nguyen)

Reference:
- https://nickel-lang.org/getting-started/
- https://github.com/tweag/nickel/tree/master/examples

closes: vim/vim#19102

88f3ac34ea

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:17:49 +08:00
zeertzjq
7eb14ba0ba vim-patch:77a59be: runtime(cangjie): Update syntax script (#37267)
This commit updates `syntax/cangjie.vim` to match the latest `std.core`
library:

New Features:
* Documentation: Added highlighting for documentation keywords (e.g., `@param`, `@return`).
* Standard Library: Added highlighting for `std.core` functions, interfaces, and classes.
* Exceptions: Added highlighting for standard exception types.
* FFI Support: Added highlighting for C interoperability types (e.g., `CPointer`).

Improvements:
* Configuration: Added a unified switch (`s:enabled('builtin')`) for standard library highlighting.
* Type System: Updated `Int` and `UInt` aliases.
* Interpolation: Enabled standard library highlighting inside string interpolation.
* Cleanup: Removed non-core types like `ArrayList` and `HashMap`.

closes: vim/vim#19085

77a59be594

Co-authored-by: Neila <wu.junkai@qq.com>
2026-01-06 11:21:03 +00:00
Robert Muir
efa6d91132 fix(diagnostic): display 1-based related information line/col numbers (#37093)
Problem
LSP Related Information line and column numbers are 0-based. Displaying
them this way can confuse the user, since vim line/col numbers are
typically displayed 1-based.

Solution
Display the line and column numbers as 1-based.
2026-01-04 15:07:00 -08:00
zeertzjq
43bf045005 vim-patch:9.1.1646: MS-Windows: completion cannot handle implicit drive letters
Problem:  MS-Windows: completion cannot handle implicit drive letters
Solution: Consider paths like \folder and /folder as absolute
          (Miguel Barro).

closes: vim/vim#17829

a2f13bf782

Co-authored-by: Miguel Barro <miguel.barro@live.com>
2026-01-04 19:36:35 +08:00
Jan Edmund Lazo
d548b52b0f build(vim-patch): update Vim N/A file/regexp (#37049)
* fix(vim-patch): test_codestyle.vim is NA

Neovim has make lint, specifically clint.lua.
Unless vim9jit, https://github.com/tjdevries/vim9jit, or similar tool
compiles vim9 "test" code into lua, it's futile to port it.

* fix(vim-patch): NA files from dev_vimpatch.txt

- channel
- json
- job
- term
- terminal

Nvim has its own incompatible implementation or uses 3rd-party
libraries (ie. libuv, libtermkey).

* fix(vim-patch): term.c is applicable for replace_termcodes()

* fix(vim-patch/na): blowfish,dlldata,iid_ole,nbdebug,os_w32

blowfish is for encryption.
dlldata,iid_ole,os_w32 are for Windows (GUI, registry, entry point).
Nvim doesn't need them to be installed on Windows.

nbdebug.[ch] is for Netbeans Debugging Tools.
They're N/A.

* fix(vim-patch): runtime/

Nvim has its own documentation for development

- runtime/doc/debug.txt
- runtime/doc/develop.txt

N/A since the beginning:

- runtime/doc/os_haiku.txt
- runtime/doc/pi_logipat.txt
- runtime/doc/quotes.txt
- runtime/plugin/logiPat.vim
- runtime/plugin/manpager.vim
- runtime/tools/demoserver.py
- runtime/spell/.*\.latin1

Vim9 is N/A.

- runtime/doc/os_haiku.txt

* fix(vim-patch): src/

win32yank replaces "src/winclip.c".
Vim's desktop files are N/A.
Nvim removed 'termencoding'.
Nvim doesn't use Vim's lsan-suppress.txt to configures LSAN.
2026-01-04 14:15:23 +08:00
zeertzjq
715015d3b2 vim-patch:93eb081: runtime(doc): Clarify visual mark behavior in getpos(), setpos() (#37223)
Add documentation notes explaining that visual marks '< and '> have
different behaviors in getpos() and setpos().

Also fix a small typo.

closes: vim/vim#19070

93eb081eee

Co-authored-by: Larson, Eric <numeric.larson@gmail.com>
2026-01-03 23:46:15 +00:00
zeertzjq
db210dd2a4 vim-patch:57352b2: runtime: mention subscription only ml, fix typo in maintainer email (#37222)
57352b279d

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-03 23:27:49 +00:00
zeertzjq
ca731d2e55 vim-patch:9.1.2042: filetype: systemd quadlet files are not recognized (#37208)
Problem:  filetype: systemd quadlet files are not recognized
Solution: Detect additional patterns as systemd filetype
          (Ac5000)

Reference:
- https://docs.podman.io/en/latest/markdown/podman.1.html
- https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html
- https://docs.podman.io/en/latest/markdown/podman-quadlet.1.html

fixes:  vim/vim#15078
closes: vim/vim#19057

0f93c988e9

Co-authored-by: Ac5000 <15003210+Ac5000@users.noreply.github.com>
2026-01-03 01:44:56 +00:00