Commit Graph

34304 Commits

Author SHA1 Message Date
zeertzjq
3fb56ff8af vim-patch:9.1.1885: Wrong restored cursor pos when re-entering buffer after changes
Problem:  Wrong restored cursor position when re-entering a buffer
          previously viewed in a window after making changes to the same
          buffer in another window.
Solution: Adjust per-window "last cursor" positions on buffer changes.
          (zeertzjq)

closes: vim/vim#18655

b2e6b328da
2025-10-29 10:18:01 +08:00
zeertzjq
ae82636276 docs: regenerate lua.txt (#36376) 2025-10-29 10:17:30 +08:00
Jonny Kong
e2cb675705 fix(filetype): move fallback logic to vim.filetype.match() #30141
Problem:
Previously, the fallback logic to ".conf" was located outside of
`vim.filetype.match()` and directly within the AutoCmd definition. As a
result, `vim.filetype.match()` would return nil instead of ".conf" for
fallback cases (#30100).

Solution:
Added a boolean return value to `vim.filetype.match()` that indicates
whether the match was the result of fallback. If true, the filetype will
be set using `setf FALLBACK <ft>` instead of `setf <ft>`.
2025-10-28 18:45:50 -07:00
zeertzjq
c1b1c8c2e0 Merge pull request #36375 from zeertzjq/vim-d659faf
vim-patch: add tombi compiler to lint TOML files
2025-10-29 08:41:56 +08:00
zeertzjq
30d1d26c14 vim-patch:469f870: runtime(compiler): Fix invalid expression in tombi compiler after d659fafcc
related: vim/vim#18590

469f870c5e

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-29 08:18:07 +08:00
zeertzjq
ea57dea91f vim-patch:d659faf: runtime(compiler): add tombi compiler to lint TOML files
closes: vim/vim#18590

d659fafccd

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
2025-10-29 08:17:50 +08:00
zeertzjq
3c14646896 vim-patch:9.1.1886: filetype: Android aconfig files are not recognized (#36374)
Problem:  filetype: Android aconfig files are not recognized
Solution: Detect *.aconfig files as pbtxt filetype (Bruno Belanyi)

Reference:
https://source.android.com/docs/setup/build/feature-flagging/declare-flag

closes: vim/vim#18656

7adeb09bb2

Co-authored-by: Bruno Belanyi <bruno@belanyi.fr>
2025-10-29 00:16:15 +00:00
zeertzjq
fdcc4c6b66 vim-patch:9ad7067: runtime(doc): Highlight [expr] arg in :help :return description
closes: vim/vim#18654

9ad706735d

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-29 08:05:28 +08:00
zeertzjq
ee60bf6112 vim-patch:6be154f: runtime(doc): revert wrong 'incsearch' description
This reverts commit 3fc00c05fb464d3e806df53bdc1743faa337ddca.

related: vim/vim#18639

6be154f5e6

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-29 08:05:28 +08:00
zeertzjq
c2781d3db3 vim-patch:9.1.1883: Wrong display with 'smoothscroll' with -diff (#36372)
Problem:  Wrong display with 'smoothscroll' when FEAT_DIFF is disabled.
Solution: Use plines_correct_topline() (zeertzjq).

closes: vim/vim#18649

e06e70f7b1
2025-10-28 23:49:53 +00:00
Gregory Anders
bb6f5c3b31 fix(tui): reset cursor style on exit (#36261)
Fix the cursor style terminfo capability (should be Se, not se). Also
include foot in the list of terminals that supports setting and
resetting cursor style (see
https://codeberg.org/dnkl/foot/issues/797#issuecomment-280305)
2025-10-28 13:11:00 -05:00
Justin M. Keyes
3fb53abe2a fix(health): attempt to concatenate table value #36369 2025-10-28 07:52:22 -07:00
Christian Clason
9875a9b691 build(deps): bump luajit to 864e78d66 2025-10-28 09:45:46 +01:00
zeertzjq
7088441de4 vim-patch:58ab343: runtime(netrw): fix misaligned comment after vim/vim#18611 (#36362)
related" vim/vim#18611
closes: vim/vim#18644

58ab3438b7
2025-10-28 00:12:21 +00:00
zeertzjq
59a44caac6 vim-patch:eba5133: runtime(rust): Do not use rustfmt as 'formatprg' by default (#36361)
This reverts commit 4ac995bf9366c6624a0724d19b2226f4c95694b3.

This was added in vim/vim#16807, with no explanation for why it was necessary beyond
"it's an example of an idea". It completely breaks `gq` for me—rustfmt doesn't
reflow comments so is not an appropriate tool here! Beyond that, formatting a
selection with rustfmt treats that selection as if it were an entire file,
throwing away any indentation.

For example, the commit causes `gq` to turn this:

```rust
pub fn foo() {
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
}
```

into this:

```rust
pub fn foo() {
// blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
}

```

which is totally wrong. In contrast, if I clear `formatprg` then `gq` does the
right thing again:

```rust
pub fn foo() {
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
    // blah blah blah blah blah blah
}
```

related: vim/vim#16967
related: vim/vim#17055
closes: vim/vim#18640

eba51337d4

Co-authored-by: Aaron Jacobs <jacobsa@google.com>
2025-10-27 23:45:14 +00:00
Justin M. Keyes
c90f742ee2 docs: new layout 2025-10-27 19:32:16 -04:00
zeertzjq
21ea0537e0 vim-patch:9.1.1880: Allocation error with complete_info() (#36360)
Problem:  Allocation error with complete_info()
          (after v9.1.1876)
Solution: Make sure length is positive (kuuote)

closes: vim/vim#18640

7d3b647f88

Co-authored-by: kuuote <znmxodq1@gmail.com>
2025-10-28 07:13:58 +08:00
Justin M. Keyes
4a910a2a4e fix(docs): dev.txt is "new layout" 2025-10-27 19:03:39 -04:00
Justin M. Keyes
88b45614e9 fix(build): gen_help_html fails #36359
Problem:
fe4faaf81a added an invalid "redirect" item, which caused the
assert() to fail, which then caused the neovim/doc/ CI to fail:
https://github.com/neovim/doc/actions/runs/18830779387/job/53721736276 :

The previous commit e69beb9b1a tried to fix a different issue, which
has gone hidden because the "invalid tags" failure has been present on
the neovim/doc/ but was silently failing.

    invalid tags: {
      ["g:netrw_keepdir"] = "usr_22.txt",
      netrw = "vi_diff.txt",
      ...
      plugins = "editorconfig"
    }

Solution:
- Fix the invalid redirect.
- Improve the redirects assertion.
2025-10-27 15:36:59 -07:00
Justin M. Keyes
e69beb9b1a fix(build): invalid help tags cause reports to fail #36356
Problem:
The doc/ repo CI is failing
https://github.com/neovim/doc/actions/runs/18830779387/job/53721736276 :

    invalid tags: {
      ["g:netrw_keepdir"] = "usr_22.txt",
      netrw = "vi_diff.txt",
      ["netrw-P"] = "usr_22.txt",
      ...
      ["netrw-v"] = "usr_22.txt",
      plugins = "editorconfig"
    }

Solution:
Add the "generate netrw tags" hack to the `gen()` step. Previously it was only
in the `validate()` step. (idk why it only started failing 3 days ago...)
2025-10-27 14:07:25 -07:00
github-actions[bot]
99506c1755 docs: update version.c #36303
vim-patch:87fda407f8ecf947ba6ce72ac21f69ff04d909cd
vim-patch:8.2.2999
vim-patch:26e88ec8e23fa04e559044199ccb369aed29e570
vim-patch:b32aa8a6a10983836d5987f1e42035f88d47bf6e
vim-patch:728104da6cd561b8cb2c7142769f7526d725958e
vim-patch:8.2.3607
vim-patch:8.2.3632
vim-patch:8.2.3635
vim-patch:8.2.3647
vim-patch:8.2.3648
vim-patch:8.2.3654
vim-patch:8.2.3688
vim-patch:8.2.4143
vim-patch:8.2.4158
vim-patch:8.2.4169
vim-patch:8.2.4230
vim-patch:8.2.4290
vim-patch:8.2.4320
vim-patch:8.2.4461
vim-patch:8.2.4486
vim-patch:8.2.4599
vim-patch:8.2.4621
vim-patch:8.2.4730
vim-patch:8.2.4776
vim-patch:8.2.4807
vim-patch:8.2.4811
vim-patch:8.2.4817
vim-patch:8.2.4839
vim-patch:8.2.4843
vim-patch:8.2.4874
vim-patch:8.2.4920
vim-patch:8.2.4936
vim-patch:8.2.5157
vim-patch:8.2.5159

vim-patch:9.0.0033
vim-patch:9.0.0050
vim-patch:9.0.0062
vim-patch:9.0.0087
vim-patch:9.0.0120
vim-patch:9.0.0339
vim-patch:9.0.0408
vim-patch:9.0.0454
vim-patch:9.0.0597
vim-patch:9.0.0633
vim-patch:9.0.0686
vim-patch:9.0.0818
vim-patch:9.0.0888
vim-patch:9.0.0984
vim-patch:9.0.1303
vim-patch:9.0.1495
vim-patch:9.0.1563
vim-patch:9.0.1743
vim-patch:9.0.1815
vim-patch:9.0.1970
vim-patch:9.0.1987
vim-patch:ba75507c62b5aa84295968a9c15788667e95fa6a
vim-patch:9.0.2118
vim-patch:9.0.2190

vim-patch:9.1.0078
vim-patch:9.1.0081
vim-patch:9.1.0085
vim-patch:9.1.0086
vim-patch:9.1.0092
vim-patch:9.1.0348
vim-patch:9.1.0641
vim-patch:9.1.0881
vim-patch:9.1.0930
vim-patch:9.1.1235
vim-patch:9.1.1367
vim-patch:9.1.1377
vim-patch:9.1.1379
vim-patch:9.1.1455
vim-patch:9.1.1583
vim-patch:9.1.1631
vim-patch:9.1.1760
vim-patch:9.1.1789
vim-patch:9.1.1815
vim-patch:9.1.1838
vim-patch:8.1.2080: the terminal API is limited and can't be disabled
2025-10-27 10:28:17 -07:00
Eduardo Cruz Guedes
5e039c8e97 fix(tutor): remove hyperlinks, simplify non-interactive examples #36307
1. Every hyperlink-like element was replaced by `"$1"` (where $1 is the original string showed in the hyperlink);
2. Arrows `--->` were used in lines containing practice examples when no editing text is involved;
3. Context on interactivity was minimally adapted when strictly needed, not to disrupt the original tutor's intent;
4. Tests regarding the tutor file refactored to ensure the new syntax is not flagged as an error.
2025-10-27 10:24:00 -07:00
yilisharcs
b9451dfd4c fix(ui2): emit FileType event after setting default pager options #36315
Problem: Setting a filetype before configuring default options for ui2
buffers (pager, cmd, ...) prevents users from setting their own options.

Solution: Call nvim_set_option_value after defaults are set.

Closes #36314

Co-authored-by: Luuk van Baal <luukvbaal@gmail.com>
2025-10-27 10:19:16 -07:00
dependabot[bot]
a943ea82f5 ci: bump actions/upload-artifact from 4 to 5 (#36351)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 10:05:39 -07:00
dependabot[bot]
432bfcf95f ci: bump actions/download-artifact from 5 to 6 (#36352)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 10:05:30 -07:00
tao
a768d0a95b fix(lsp): stop repeatedly resuming dead coroutine #35743
Problem:
Error extracting content-length causes all future coroutine resumes to
fail.

Solution:
Replace coroutine.wrap with coroutine.create in create_read_loop
so that we can check its status and catch any errors, allowing us to
stop the lsp client and avoid repeatedly resuming the dead coroutine.
2025-10-27 10:03:45 -07:00
zeertzjq
29e093c8f2 Merge pull request #36350 from zeertzjq/vim-da5b600
vim-patch: Vim syntax updates
2025-10-27 17:22:21 +08:00
zeertzjq
87ede4ab4f vim-patch:842c778: runtime(vim): Update base syntax, improve :@ highlighting
- Highlight :@ as a normal Ex command rather than something special.
- Fix erroneous matching of the Ex command as a register variable.

closes: vim/vim#18624

842c7788a5

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-27 16:52:49 +08:00
zeertzjq
b21a9d5b22 vim-patch:7dba04f: runtime(doc,vim): Update base syntax, match full :syntime command
- Use the optional tail command-name spec at :help :syntime.
- Match full :syntime command and highlight args.

7dba04f15c

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-27 16:52:09 +08:00
zeertzjq
e61880957f vim-patch:da5b600: runtime(vim): Update base syntax, match :terminal command
Match the full :terminal command syntax.

closes: vim/vim#18367

da5b6007fb

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-27 16:51:19 +08:00
zeertzjq
070f4d3da0 vim-patch:9.1.1875: username parsing bug in netrw plugin (#36348)
Problem:  username parsing bug in netrw plugin when using remote adding
          feature
Solution: Allow any characters except for "@" (Václav Kobera), add a
          test for the netrw plugin

closes: vim/vim#18611

f17f78c557

Co-authored-by: Václav Kobera <vasekobera@gmail.com>
2025-10-27 03:20:34 +00:00
zeertzjq
3bbab42a8d vim-patch:d535e58: runtime(debversions): Add resolute (26.04) as Ubuntu release name (#36345)
closes: vim/vim#18637

d535e5852b

Co-authored-by: James McCoy <jamessan@jamessan.com>
2025-10-27 03:05:57 +00:00
zeertzjq
db35dd6734 test(ex_terminal_spec): fix flakiness (#36347) 2025-10-27 02:54:14 +00:00
zeertzjq
35d04394aa vim-patch:9.1.1878: filetype: Soy files are not recognized (#36346)
Problem:  filetype: Soy files are not recognized
Solution: Detect *.soy files as soy filetype,
          include a soy filetype plugin (Riley Bruins)

closes: vim/vim#18640

9fff99c3c2

Co-authored-by: Riley Bruins <ribru17@hotmail.com>
2025-10-27 02:52:56 +00:00
zeertzjq
155efabb15 vim-patch:9.1.1876: pre-inserted text not exposed in complete_info() (#36342)
Problem:  pre-inserted text not exposed in complete_info()
Solution: Add the pre-inserted text to the complete_info() Vim script
          function (Girish Palya)

closes: vim/vim#18571

Feat: expose preinserted text in complete_info()

ef5bf58d8c

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-10-27 01:34:52 +00:00
zeertzjq
fb6fd17f26 vim-patch:9.1.1870: :Tutor may not work as expected (#36343)
Problem:  :Tutor may not work as expected
Solution: set buftype=nowrite instead of nofile
          (Phạm Bình An)

closes: vim/vim#18613

9978bb77c6

Co-authored-by: Phạm Bình An <phambinhanctb2004@gmail.com>
2025-10-27 01:21:52 +00:00
zeertzjq
cb71a3f066 Merge pull request #36341 from zeertzjq/vim-8e600ad
vim-patch: doc updates
2025-10-27 09:05:39 +08:00
zeertzjq
5737c02482 vim-patch:6a8ab8f: runtime(doc): update the :split help tags.
closes: vim/vim#18640

6a8ab8f5d4

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-27 08:26:07 +08:00
zeertzjq
d8326ed15d vim-patch:3fc00c0: runtime(doc): mention that 'incsearch' ignores addresses and offset
closes: vim/vim#18639

3fc00c05fb

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-27 08:22:12 +08:00
zeertzjq
046c9b678c vim-patch:8e600ad: runtime(doc): Normalise heredoc end marker label at :help const
Match the name used at :help :let-heredoc, {endmarker}.

closes: vim/vim#18638

8e600aded2

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-27 08:20:14 +08:00
zeertzjq
9436e7c978 fix(spell): wrong VimEnter autocommands (#36339) 2025-10-27 08:13:06 +08:00
zeertzjq
f0cf488698 vim-patch:9.1.1877: cindent: wrong indentation after an array declaration (#36340)
Problem:  cindent: wrong indentation after an array declaration
Solution: check if the filetype if javascript before matching the syntax
          (Anttoni Erkkilä)

cindent matches a javascript syntax for C files causing wrong
indentation in the following case:
```
void foo() {
float a[5],
b;
}
```

closes: vim/vim#18631

61ef8a3db9

Co-authored-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com>
2025-10-27 00:06:25 +00:00
zeertzjq
d707ccf988 fix(api): inconsistent scrolling when deleting before topline (#36301)
Problem:  Inconsistent scrolling when deleting before topline with API.
Solution: Only special-case inserting just before topline, not deleting.
2025-10-27 07:53:15 +08:00
zeertzjq
2407833ba1 vim-patch:9.1.1872: Cmdline history not updated when mapping <Up> and <CR> (#36334)
Problem:  Cmdline history not updated when mapping both <Up> and <CR>.
Solution: Consider the command typed when in Cmdline mode and there is
          no pending input (zeertzjq).

Although the existing behavior technically does match documentation, the
"completely come from mappings" part is a bit ambiguous, because one may
argue that the command doesn't completely come from mappings as long as
the user has typed a key in Cmdline mode.  I'm not entirely sure if this
change will cause problems, but it seems unlikely.

fixes: vim/vim#2771
related: neovim/neovim#36256
closes: vim/vim#18607

97b6e8b424
2025-10-26 22:19:32 +08:00
Justin M. Keyes
07461bac27 Merge #34940 refactor(spell): migrate to Lua, drop netrw dep 2025-10-25 20:08:02 -04:00
Justin M. Keyes
4d501c93bb refactor(spell): cleanup
- prefer `stdpath(data)/site/spell` instead of looking for random dirs in 'runtimepath'.
- drop unused functions `choose_directory`, `setup`, etc.
2025-10-26 01:28:37 +02:00
zeertzjq
a121ede1bf vim-patch:7193cab: runtime(make): Prevent makeTargetinDefine matching extra line
This fixes a bug introduced in 2a33b499a3d7f46dc307234847a6562cef6cf1d8:
When makeTargetinDefine ends with makeIdent, makeSpecTarget or
makeComment, the following line is also matched as makeTargetinDefine.

So, add keepend to prevent that just as makeTarget does.

related: vim/vim#18403
closes: vim/vim#18570

7193cab6c8

Co-authored-by: Yiyang Wu <xgreenlandforwyy@gmail.com>
2025-10-26 07:22:59 +08:00
zeertzjq
4a2b9ec3c7 vim-patch:bbf4a10: runtime(unison): update syntax from upstream repository
closes: vim/vim#18623

bbf4a10fe4

Co-authored-by: Anton Parkhomenko <mailbox@chuwy.me>
2025-10-26 07:22:59 +08:00
Tom Ampuero
7c5ff99e8a refactor(spell): migrate to Lua, drop netrw dependency
Problem:
Spell file downloads relied on Vimscript and netrw (:Nread). If netrw is
disabled, downloads fail.

Solution:
Port the logic to Lua as `nvim.spellfile` and wire it via a Lua plugin that
handles `SpellFileMissing`. Use `vim.net.request()` with a timeout for HTTP,
prompt via `vim.fn.input` and report via `vim.notify`.

Closes #7189
2025-10-26 00:33:41 +02:00
Jan Edmund Lazo
b38ce04283 vim-patch:8.1.1939: code for handling v: variables in generic eval file (#36312)
Problem:    Code for handling v: variables in generic eval file.
Solution:   Move v: variables to evalvars.c. (Yegappan Lakshmanan,
            closes vim/vim#4872)

e5cdf153bc

Cherry-pick get_vim_var_name() from 8.2.0149.
Cherry-pick evalvars.c changes from 8.2.1788.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-10-26 06:20:33 +08:00