Commit Graph
9732 Commits
Author SHA1 Message Date
zeertzjqandDoug Kearns 2b49a0e773 vim-patch:5427465: runtime(doc): Clean up file header whitespace
- :retab! line 1 and line 4 (main page heading).
- Use four columns whitespace before "by [Author]" in the user manual
  heading to match the reference manual formatting.
- double space headings.

closes: vim/vim#18648

https://github.com/vim/vim/commit/542746521ff8d111f33c3c8ff298ba58966c9acc

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-10 11:13:56 +08:00
zeertzjqandDoug Kearns 95f5bbd4a8 vim-patch:c8eeda9: runtime(doc): Improve header formatting
- Normalise header formatting and highlight all bylines.
- Remove broken email address from if_sniff.txt.

closes: vim/vim#18601

https://github.com/vim/vim/commit/c8eeda9b15a9bac7745004b94f98de7681accea8

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-10 11:13:52 +08:00
Riley Bruins c2c5a0297e fix(lsp): don't overlay insertion-style inline completions (#36477)
* feat(lua): `Range:is_empty()` to check vim.range emptiness

* fix(lsp): don't overlay insertion-style inline completions

**Problem:** Some servers commonly respond with an empty inline
completion range which acts as a position where text should be inserted.
However, the inline completion module assumes that all responses with a
range are deletions + insertions that thus require an `overlay` display
style. This causes an incorrect preview, because the virtual text should
have the `inline` display style (to reflect that this is purely an
insertion).

**Solution:** Only use `overlay` for non-empty replacement ranges.
2025-11-09 17:49:25 -08:00
zeertzjqandJesse Portnoy c6dad6e9df vim-patch:a795aab: runtime(spec): Add support for more tags and distributions (#36502)
- specMacroIdentifier: support macros starting with '?'; the most common
  example is `%{?dist}`
- specPreAmble: added some missing tags from:
  https://rpm.org/docs/4.19.x/manual/spec.html
- Added support for: `fedora`, `rhel`, `rocky`, `rhl`, `centos`, `el\d`
  and `fc\d`, see https://docs.fedoraproject.org/en-US/packaging-guidelines/DistTag

closes: vim/vim#18703

https://github.com/vim/vim/commit/a795aab885e140938c8c6ae08297df6b2ce24be1

Co-authored-by: Jesse Portnoy <jesse.portnoy@perforce.com>
2025-11-10 08:44:50 +08:00
zeertzjqandDoug Kearns 4466c950cb vim-patch:8869800: runtime(vim): Update base syntax, match :*do command arg
Match the Ex command arg to all :*do commands.

closes: vim/vim#18700

https://github.com/vim/vim/commit/8869800f704ea0568d4741b960fc547f6853255f

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-10 08:00:35 +08:00
zeertzjqandDoug Kearns 24ecd0c48d vim-patch:59f0ea5: runtime(vim): Update base syntax, match Vim9 object type constructor
fixes: vim/vim#18677.
closes: vim/vim#18691

Reported by Aliaksei Budavei.

https://github.com/vim/vim/commit/59f0ea5b3eb444748c83340f1dcebb182db28b40

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-10 08:00:12 +08:00
zeertzjqandDoug Kearns 82910ddbfb vim-patch:433d2ab: runtime(vim): Update base syntax, match Vim9 lambda arg to :defer
Support added in commit 21ef3c6e5972bbe8ab61195f98ccb85048b78985.

See: vim/vim#18643
closes: vim/vim#18645

https://github.com/vim/vim/commit/433d2ab2066c0590e43f8396cd830a4ff62e8769

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-10 08:00:12 +08:00
Riley Bruins a0678a5849 fix(lsp): ignore inline completions after leaving insert mode (#36476)
**Problem:** When quickly entering and leaving insert mode, sometimes
inline completion requests are returned and handled in normal mode. This
causes an extmark to be set, which will not get cleared until the next
time entering & leaving insert mode.

**Solution:** Return early in the inline completion handler if we have
left insert mode.
2025-11-09 14:28:02 -08:00
zeertzjqandDoug Kearns 19a3687f69 vim-patch:185cec2: runtime(doc): Rewrite some overlength lines
closes: vim/vim#18695

https://github.com/vim/vim/commit/185cec2b0983dfe0b94ea7b24e390dc00c65686d

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-09 08:01:04 +08:00
zeertzjqandDoug Kearns 39a2cbbd58 vim-patch:a3063f2: runtime(doc): Wrap some overlength lines in the user manual
closes: vim/vim#18696

https://github.com/vim/vim/commit/a3063f2f905e71d763fbff775fa7a84e3a478a11

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-09 07:55:15 +08:00
zeertzjqandDoug Kearns 7ef7f82c5c vim-patch:c28b73d: runtime(doc): Improve :help synconcealed() description
closes: vim/vim#18698

https://github.com/vim/vim/commit/c28b73d34990e574ebd7542fe0adb789fc0bd674

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-11-09 07:49:48 +08:00
luukvbaal 8d6963a6a0 fix(ui): cmdline_show is not fired after clearing the screen (#36451)
Problem:  Resize events during startup may clear an active external
          cmdline, which is then not redrawn.
          UI2 VimResized autocommand does not work.
          UI2 message appearance may be altered by inherited window
          options. The message separator uses the wrong fillchar.

Solution: Unset cmdline_was_last_redrawn when clearing the screen, such
          that cmdline_show is re-emitted.
          Ensure set_pos function is called without arguments.
          Ensure such options are unset. Use 'fillchars'->msgsep.
2025-11-08 11:38:56 +01:00
zeertzjqandKonfekt af5ac171bd vim-patch:84baba3: runtime(compiler): do not override &l:makeprg on :compiler! (#36470)
closes: vim/vim#18686

https://github.com/vim/vim/commit/84baba329a1c4984415cfe8359e962c38efac860

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
2025-11-07 00:22:50 +00:00
Riley Bruins f2bfde9140 fix(treesitter): reset next_col when performing intermediate highlights
The iterator is meant to be fully reset in this code path, but only the
`next_row` state was being reset. This would only cause highlight
artifacts for very brief periods of time, though.
2025-11-06 09:27:21 +00:00
zeertzjqandtocariimaa 16c8152229 vim-patch:7dfdc7f: runtime(sml): add filetype plugin, move options from indent to ftplugin (#36460)
closes: vim/vim#18680

https://github.com/vim/vim/commit/7dfdc7f6cb802d5283e2e0eedb87932b9cd2cb33

Co-authored-by: tocariimaa <tocariimaa@pissmail.com>
2025-11-06 00:09:34 +00:00
Maria Solano 0472119fe6 fix(lsp): don't immediately force shutdown when using a timeout (#36455) 2025-11-05 16:39:02 -05:00
zeertzjqandChristian Brabandt 17bcf86cab vim-patch:461dd9a: runtime(vim): 'iskeyword' setting not correctly restored (#36453)
fixes: vim/vim#18673

https://github.com/vim/vim/commit/461dd9aca68e45a437a559296e21066b6ca87be3

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-11-05 08:07:54 +08:00
Folke Lemaitre 20a392fe38 fix(lsp): fix window to set cursor for inline completion (#36444) 2025-11-04 13:51:37 -05:00
zeertzjqandEvgeni Chasnovski 003b429a86 vim-patch:9.1.1892: Not possible to know once Vim is done with sourcing vimrc (#36429)
Problem:   A plugin does not know when startup scripts were already
           triggered. This is useful to determine if a function is
           called inside vimrc or after (like when sourcing 'plugin/'
           files).
Solution:  Add the v:vim_did_init variable (Evgeni Chasnovski)

closes: vim/vim#18668

https://github.com/vim/vim/commit/294bce21ee837aab209a1008d0efc3e305cf188f

Nvim has two more steps between sourcing startup scripts and loading
plugins. Set this variable after these two steps.

Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
2025-11-02 18:07:33 +08:00
Maria Solano 02cd564896 feat(lsp): support auto-force escalation in client stop (#36378) 2025-11-01 19:12:29 -07:00
zeertzjqandChristian Brabandt d847548a1c vim-patch:9.1.1893: ICCF charity will dissolve (#36427)
Problem:  ICCF charity will dissolve
Solution: Update references to Kuwasha

Since the ICCF[1] will be dissolved and handing over to the Kuwasha charity
to continue supporting the Kibaale Children Center in Uganda, update the
uganda.txt help file.

[1]: https://groups.google.com/g/vim_announce/c/pUNbNXBLbKw/m/-zFUd4JjAQAJ

fixes: vim/vim#18584
closes: vim/vim#18667

https://github.com/vim/vim/commit/0405665638052ca1180bdb2855237cd1868526a3

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-11-02 08:29:00 +08:00
zeertzjqandChristian Brabandt a4988bb3cd vim-patch:213109a: runtime(doc): clarify W11 warning and possible options (#36426)
fixes: vim/vim#18589

https://github.com/vim/vim/commit/213109a999c8c854c1af3bf57540e56afa23c20c

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-11-01 23:11:20 +00:00
zeertzjqandMohammad Reza Karimi f0571a1855 vim-patch:fe71c56: runtime(netrw): NetrwChgPerm for files not in cwd
Problem:  Changing permissions fail when using `gp` if the file under
          the cursor is not in the current working directory.
Solution: Use the already available `a:curdir` argument and prepend it
          to the `<cfile>`, so that the path of the file is correct.

This commit also refactors some leftover `netrw#ErrorMsg` to
`netrw#msg#Notify` (the main refactoring was done in
f5e3b5c04f85b0f69cd2aae81e4938cfb191a790).

closes: vim/vim#18674

https://github.com/vim/vim/commit/fe71c56d8fb6b5a51d1f7f6d54d658ef17a98713

Co-authored-by: Mohammad Reza Karimi <m.r.karimi.j@gmail.com>
2025-11-02 07:03:44 +08:00
zeertzjqandMao-Yining c38365fd8e vim-patch:28f7582: runtime(log): syntax file update
closes: vim/vim#18675

https://github.com/vim/vim/commit/28f7582c16e7692cc56dbb7f240649086b5066d8

Co-authored-by: Mao-Yining <mao.yining@outlook.com>
2025-11-02 07:03:44 +08:00
varsidry b92b95e2c2 vim-patch:9.1.1891: g<End> does not move to last non-blank in visual mode (#36354)
Problem:  In visual mode, g<End> does not move to the last non-blank
          character when the end of a line is on the same line as the
          cursor (after v9.0.1753)
Solution: Move the cursor back by one position if it lands after the
          line (varsidry)

fixes: vim/vim#18657
closes: vim/vim#18658

https://github.com/vim/vim/commit/adc85151f3c6a6cea4bb8c8da3465429fc120445
2025-11-01 01:37:12 +00:00
zeertzjqandSamuel Huang 1fddd74da7 vim-patch:9.1.1889: filetype: not all AppleScript files are recognized (#36411)
Problem:  filetype: not all AppleScript files are recognized
Solution: Detect *.applescript files as applescript filetype
          (Samuel Huang)

Reference:
https://en.wikipedia.org/wiki/AppleScript

closes: vim/vim#18672

https://github.com/vim/vim/commit/69dd5906fd9723774715ec37ad3b44652938f655

Co-authored-by: Samuel Huang <hi@sgh.ng>
2025-11-01 06:27:11 +08:00
bfredl e1ffa8d33b feat(build): HAVE_UNIBILIUM
compile time features are hot again.

Note: this changes the &term value for builtin definition from
'builtin_xterm' to just 'xterm'. It's an xterm regardless of we use an
external definition or an internal. Prior to this commit the vast
majority of POSIX users will have used external terminfo, so plugins and
scripts are only going to have checked for &term == 'xterm' or 'tmux' or
whatever.
The status of external loading is still available in "nvim -V3" output.
2025-10-31 08:39:32 +01:00
zeertzjqandChristian Brabandt 89030f3ac4 vim-patch:8f551a7: runtime: regenerate helptags, update last-change header in tombi compiler
https://github.com/vim/vim/commit/8f551a70ad8f5cc2e3844f2418ef97330d3333bd

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-30 06:47:52 +08:00
zeertzjqandKonfekt 34ddb8b1b8 vim-patch:14e7203: runtime(compiler): Fix escaping in Windows shell command for tombi
As observed by Doug Kearns

related: vim/vim#18590
closes: vim/vim#18661

https://github.com/vim/vim/commit/14e7203713567761c37be3bf182e5669e11041e1

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
2025-10-30 06:47:52 +08:00
Justin M. Keyes 6dd6c5b523 docs: rename l10n help files #36377 2025-10-28 20:15:16 -07: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
zeertzjqandChristian Brabandt 30d1d26c14 vim-patch:469f870: runtime(compiler): Fix invalid expression in tombi compiler after d659fafcc
related: vim/vim#18590

https://github.com/vim/vim/commit/469f870c5e06cb4c1f4b78aa1a7cc354059631d0

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

https://github.com/vim/vim/commit/d659fafccd945e2ab9596be5060b65dbd0b419a8

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
2025-10-29 08:17:50 +08:00
zeertzjqandBruno Belanyi 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

https://github.com/vim/vim/commit/7adeb09bb24a9d29179926dd391c3d67cea26057

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

https://github.com/vim/vim/commit/9ad706735d35c23ecbfa8a306190882631a7e2b4

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

related: vim/vim#18639

https://github.com/vim/vim/commit/6be154f5e63d47b9e0e5b709577a8c71aa4e4456

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-29 08:05:28 +08: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
zeertzjq 7088441de4 vim-patch:58ab343: runtime(netrw): fix misaligned comment after vim/vim#18611 (#36362)
related" vim/vim#18611
closes: vim/vim#18644

https://github.com/vim/vim/commit/58ab3438b7b4e1828efa2f86a5f37af5a7dbf259
2025-10-28 00:12:21 +00:00
zeertzjqandAaron Jacobs 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

https://github.com/vim/vim/commit/eba51337d4b8051b768164f3394d680742234ca8

Co-authored-by: Aaron Jacobs <jacobsa@google.com>
2025-10-27 23:45:14 +00: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
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
yilisharcsandLuuk van Baal 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
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
zeertzjqandDoug Kearns 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

https://github.com/vim/vim/commit/842c7788a5af903df6f8c0dffefaf1607c8c8ed8

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-27 16:52:49 +08:00
zeertzjqandDoug Kearns 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.

https://github.com/vim/vim/commit/7dba04f15cc43562c67c4cd0db82c2165c1cdb40

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

closes: vim/vim#18367

https://github.com/vim/vim/commit/da5b6007fb75d4a0fb20583ffd298f032acdfc0d

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-10-27 16:51:19 +08:00
zeertzjqandVáclav Kobera 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

https://github.com/vim/vim/commit/f17f78c557c4a437cd06bc7a69ed345176c157fd

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

https://github.com/vim/vim/commit/d535e5852b931e607a40217f3bb5b08b781d0c8a

Co-authored-by: James McCoy <jamessan@jamessan.com>
2025-10-27 03:05:57 +00:00