Andrey Starodubtsev
b15b22fc73
fix(trust): :trust command on Windows #36509
...
`:trust` command calculated SHA-256 on file content reading it as a
text. While it doesn't matter on Unices, on Windows hash was calculated
incorectly. SHA-256 for buffer content was calculated fine though.
After this fix hashes in `%LOCALAPPDATA%/nvim-data/trust` are the same
as in output of `sha256sum -t`.
2025-11-11 21:57:09 -08:00
Maria Solano
653871da1b
fix(lsp): check nvim.lsp.enable before doautoall #36518
2025-11-11 21:04:31 -08:00
Maria Solano
1bc85d29c1
fix(lsp): check for non-nil buffer state on reset ( #36519 )
2025-11-11 17:47:33 -08:00
zeertzjq and Neil Lambert
3606b74d24
vim-patch:f85951f: runtime(css): improve cssBoxProp matches ( #36528 )
...
closes : vim/vim#18717
https://github.com/vim/vim/commit/f85951fee0e3ccd48ccfaeec9c09f96e325925d1
Co-authored-by: Neil Lambert <nlambert@pm.me >
2025-11-12 08:23:35 +08:00
8cf7a0c4de
vim-patch:b74ec15: runtime(sqlcomplete): only set 'omnifunc' if dbext plugin was loaded ( #36527 )
...
fixes : vim/vim#18716
https://github.com/vim/vim/commit/b74ec159ddae8dac0f1a2f3777392336de08e0c5
Co-authored-by: Christian Brabandt <cb@256bit.org >
Co-authored-by: gcanat <72149218+gcanat@users.noreply.github.com >
2025-11-12 00:21:31 +00:00
zeertzjq and botantony
97cb0d5571
vim-patch:9.1.1906: filetype: not all Ruby files are recognized ( #36526 )
...
Problem: filetype: not all Ruby files are recognized
Solution: Detect *.rbi and Brewfile as ruby filetype
(botantony).
- `rbi` is a file extension used by Sorbet, typechecker for Ruby:
https://sorbet.org/docs/rbi
- `Brewfile` is a bundler file for Homebrew package manager:
https://docs.brew.sh/Brew-Bundle-and-Brewfile
closes : vim/vim#18697
https://github.com/vim/vim/commit/efc3be77bbf707edad9cbbda7aef471de65411fd
Co-authored-by: botantony <antonsm21@gmail.com >
2025-11-12 07:38:55 +08:00
Maria Solano
2822c38f2e
fix(lsp): correct iteration through attached buffers ( #36517 )
2025-11-10 19:54:01 -08:00
Olivia Kinnear
7c9b865bdd
feat(lsp): deprecate vim.lsp.stop_client ( #36459 )
...
* feat(lsp): deprecate `vim.lsp.stop_client`
* fix(tests): fix nil variable in diagnostic_spec.lua
2025-11-10 18:27:13 -08:00
zeertzjq and tocariimaa
637c9c4f5f
vim-patch:d3bef6c: runtime(sml): Fix number regex in syntax script ( #36513 )
...
closes : vim/vim#18690
https://github.com/vim/vim/commit/d3bef6cf3f1364194c7855e0f34d636bc635c775
Co-authored-by: tocariimaa <tocariimaa@pissmail.com >
2025-11-11 09:28:18 +08:00
zeertzjq and Doug Kearns
1eb12b896e
vim-patch:e1e3474: runtime(vim): Update base syntax, fix :augroup error matching ( #36512 )
...
Only terminate the :augroup END argument at whitespace, comments and
trailing bars.
closes : vim/vim#18711
https://github.com/vim/vim/commit/e1e347475eea179e6b0bb9a91d82221ad29edc23
Co-authored-by: Doug Kearns <dougkearns@gmail.com >
2025-11-11 09:22:00 +08:00
zeertzjq and Doug Kearns
70d1397766
vim-patch:acf928a: runtime(doc): Improve windows.txt formatting ( #36511 )
...
- Wrap some overlength lines
- Highlight the example at :help WinScrolled-event
closes : vim/vim#18713
https://github.com/vim/vim/commit/acf928a33bdd963c3e792de2b539374a57873425
Co-authored-by: Doug Kearns <dougkearns@gmail.com >
2025-11-11 00:32:06 +00:00
Maria Solano
70ea589d79
fix(lsp): deprecate vim.lsp.get_buffers_by_client_id ( #36449 )
2025-11-10 06:58:56 -08:00
Yochem van Rosmalen
9bdb011a50
refactor(spellfile): config() interface, docs #36481
...
Problem:
- Exposing the raw config as table is a pattern not seen anywhere else
in the Nvim codebase.
- Old spellfile.vim docs still available, no new documentation
Solution:
- Exposing a `config()` function that both acts as "getter" and "setter"
is a much more common idiom (e.g. vim.lsp, vim.diagnostic).
- Add new documentation and link old docs to |spellfile.lua| instead of
|spellfile.vim|.
2025-11-09 21:51:39 -08:00
zeertzjq and Doug 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
zeertzjq and Doug 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
zeertzjq and Jesse 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
zeertzjq and Doug 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
zeertzjq and Doug 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
zeertzjq and Doug 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
zeertzjq and Doug 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
zeertzjq and Doug 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
zeertzjq and Doug 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
zeertzjq and Konfekt
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
zeertzjq and tocariimaa
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
zeertzjq and Christian 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
zeertzjq and Evgeni 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
zeertzjq and Christian 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
zeertzjq and Christian 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
zeertzjq and Mohammad 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
zeertzjq and Mao-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
zeertzjq and Samuel 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
zeertzjq and Christian 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
zeertzjq and Konfekt
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
zeertzjq and Christian 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
zeertzjq and Konfekt
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
zeertzjq and Bruno 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
zeertzjq and Doug 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
zeertzjq and Christian 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