Commit Graph

9996 Commits

Author SHA1 Message Date
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
zeertzjq
cde32b3307 vim-patch:cc71684: runtime(logtalk): Update Logtalk runtime files for the latest language spec (#37205)
closes: vim/vim#19058

cc71684ab0

Co-authored-by: Paulo Moura <pmoura@logtalk.org>
2026-01-03 08:23:21 +08:00
Christian Clason
067b5743f5 vim-patch:9.1.2043: filetype: kos files are not reconized
Problem:  filetype: kos files are not reconized
Solution: Detect *.kos files as kos filetype
          (Chris Dragan)

Reference:
- https://github.com/kos-lang/kos

closes: vim/vim#19056

96a1caac6b

Co-authored-by: Chris Dragan <chris@dragan.dev>
2026-01-02 16:31:32 +01:00
Olivia Kinnear
a03ab03a10 fix(lsp): :lsp restart restarts on client exit #37125
Problem:
`:lsp restart` detects when a client has exited by using the `LspDetach`
autocommand. This works correctly in common cases, but breaks when
restarting a client which is not attached to any buffer. It also breaks
if a client is detached in between `:lsp restart` and the actual
stopping of the client.

Solution:
Move restart logic into `vim/lsp/client.lua`, so it can hook in to
`_on_exit()`. The public `on_exit` callback cannot be used for this, as
`:lsp restart` needs to ensure the restart only happens once, even if
the command is run multiple times on the same client.
2026-01-02 01:58:10 -05:00
Kira Kawai
3ac76977bc fix(diagnostic): check for extmark in get_logical_pos #37127
Problem: The function get_logical_pos did not account for the possibility that a diagnostic might not have an associated extmark, leading to potential errors or incorrect behavior.

Solution: Add a check for diagnostic._extmark_id and return the logical positions directly if it does not exist.
2026-01-02 01:49:28 -05:00
Tristan Knight
ed562c296a fix(lsp): improve dynamic registration handling #37161
Work on #37166 

- Dynamic Registration Tracking via Provider
- Supports_Method
    - Multiple Registrations
    - RegistrationOptions may dictate support for a method
2026-01-02 01:46:13 -05:00
zeertzjq
ab20681c52 vim-patch:62d8f3d: runtime: Revert several "mark invalid contact addresses" commits (#37192)
This reverts commits:
- 6b652a785033fd4164e049492a7327c1ed7c3e5f
- 2f689d5abde0ccddca9e20d8c93a0299bd054e32
- a025a46d4169587145fb54f04af349cd05cb6122

Several email addresses that are known to be valid caused bounces
due to an issue with my email setup. The previous commits incorrectly
marked these addresses as invalid. So revert the whole thing again.

62d8f3dab5

N/A patch:
vim-patch:2f689d5: runtime: mark more invalid email addresses

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-02 06:53:44 +08:00
zeertzjq
cabefb52ff vim-patch:a025a46: runtime: mark more invalid email addresses
a025a46d41

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-01 08:23:03 +08:00
zeertzjq
65e7aa9255 vim-patch:partial:2f689d5: runtime: mark more invalid email addresses
2f689d5abd

Skip colors/ and syntax/help_ru.vim: missing previous changes.

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-01 08:17:57 +08:00
zeertzjq
5fb1ac8cb6 vim-patch:6b652a7: runtime: mark invalid contact addresses
6b652a7850

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-01 08:01:52 +08:00
Christian Clason
f3ee2440c7 build(deps): bump tree-sitter-lua to v0.4.1 2025-12-31 16:49:24 +01:00
zeertzjq
bd10f781b8 vim-patch:9.1.2035: filetype: filetype: Fennel fnlm files are not recognized (#37178)
Problem:  filetype: Fennel fnlm files are not recognized
          (Alexei Mozaidze, after v9.1.2034)
Solution: Detect *.fnlm files as fennel filetype, revert detecting
          *.fnml files

related: vim/vim#19047

ea189a6f4d

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-12-31 20:25:19 +08:00
zeertzjq
dddb125b0b vim-patch:5c2b594: runtime(rust): Update indentation after nested array literal (#37177)
fixes:  vim/vim#18974
closes: vim/vim#19042

5c2b594d0e

Co-authored-by: Brian Carbone <brian@briancarbone.com>
2025-12-31 10:53:06 +00:00
zeertzjq
8e80e54478 vim-patch:9.1.2034: filetype: Fennel fnml files are not recognized (#37176)
Problem:  filetype: Fennel fnml files are not recognized
          (Alexei Mozaidze)
Solution: Detect *.fnml files as fennel filetype

Reference:
- https://fennel-lang.org/changelog#160--2025-10-13

fixes: vim/vim#19047

9c87af5c3c

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-12-31 10:39:50 +00:00
Peter Cardenas
f8ac713448 fix(treesitter): use metadata in :EditQuery captures #37116
Problem:
When the `#offset!` directive is used with `:EditQuery`, the query does not take the offset into consideration when creating the extmark to preview the capture.

Solution:
Use the capture metadata to modify the node range before creating the extmark.
2025-12-30 10:44:18 -05:00
Justin M. Keyes
b24522e77b Merge #37113 from echasnovski/pack-better-revert 2025-12-30 10:40:19 -05:00
glepnir
9833f0da5f fix(diagnostic): unstable sorting by severity #37154
Problem: random order for same-severity diagnostics, severity_sort reversed.

Solution: add stable comparison with _extmark_id tiebreaker.
2025-12-30 04:28:32 -05:00
Justin M. Keyes
ea3562d739 Merge #37142 from echasnovski/pack-safer-del 2025-12-30 04:20:33 -05:00
Phạm Bình An
f8d0190491 docs(prompt): Lua example, adjust for multiline input #37121 2025-12-30 03:57:35 -05:00
Justin M. Keyes
10b610bbd9 Merge #36870 from justinmk/luacore 2025-12-30 02:11:00 -05:00
Jason Shipman
825e182139 fix(vim.fs): avoid fn.fnamemodify in fs.root #37162
Problem: vim.fs.root uses vim.fn.fnamemodify. vim.fn table isn't
available from nvim -ll or thread contexts.

Solution: Swap out vim.fn.fnamemodify for vim.fs.abspath.

This is a temporary workaround and may be reverted since the
long-term plan is to use more fast=true "fn" functions from vim.fs
where possible.
2025-12-30 01:57:06 -05:00
Justin M. Keyes
1d70c96e5b build: move shared.lua to _core/ 2025-12-30 01:44:52 -05:00
Justin M. Keyes
20e77c5d88 build: ship "_core/*" as bytecode (built-into Nvim binary)
Problem:
We want to encourage implementing core features in Lua instead of C, but
it's clumsy because:
- Core Lua code (built into `nvim` so it is available even if VIMRUNTIME
  is missing/invalid) requires manually updating CMakeLists.txt, or
  stuffing it into `_editor.lua`.
- Core Lua modules are not organized similar to C modules, `_editor.lua`
  is getting too big.

Solution:
- Introduce `_core/` where core Lua code can live. All Lua modules added
  there will automatically be included as bytecode in the `nvim` binary.
- Move these core modules into `_core/*`:
  ```
  _defaults.lua
  _editor.lua
  _options.lua
  _system.lua
  shared.lua
  ```

TODO:
- Move `_extui/ => _core/ui2/`
2025-12-30 01:44:24 -05:00
Kyle
03377b9552 feat(terminal): include sequence terminator in TermRequest event (#37152)
Problem:
Terminals should respond with the terminator (either BEL or ST) used in
the query so that clients can reliably parse the responses. The
`TermRequest` autocmd used to handle background color requests in the
terminal does not have access to the original sequence terminator, so it
always uses BEL. #37018

Solution:
Update vterm parsing to include the terminator type, then forward this
data into the emitted `TermRequest` events for OSC/DCS/APC sequences.
Update the foreground/background `TermRequest` callback to use the same
terminator as the original request.

Details:
I didn't add the terminator to the `TermResponse` event. However, I
assume the `TermResponse` event doesn't care about the terminator
because the sequence is already parsed. I also didn't update any of the
functions in `src/nvim/vterm/state.c` that write out responses. It
looked like those all pretty much used ST, and it would be a much larger
set of changes. In that same file, there's also logic for 8 bit ST
sequences, but from what I can tell, 8 bit doesn't really work (see `:h
xterm-8bit`), so I didn't use the 8 bit ST at all.
2025-12-29 16:30:23 -06:00
zeertzjq
ddd6ac5083 vim-patch:1bc3610: runtime(rust): partly revert e426245b, it causes more issues than it solves (#37156)
related: vim/vim#18974

1bc3610b0a

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-12-29 17:07:26 +08:00
Evgeni Chasnovski
28ba99e026 feat(pack)!: suggest "delete" code action only for not active plugins
Problem: Deleting active plugins can lead to a situation when it is
  reinstalled after restart.

Solution: Suggest "delete" code action only for not active plugins.
  Whether a plugin is not active is visible by a hint in its header.
2025-12-28 18:39:26 +02:00
Evgeni Chasnovski
c339b83a4a feat(pack): hint in confirmation buffer that plugin is not active
Problem: After `vim.pack.update()` it is not clear if plugin is active
  or not. This can be useful to detect cases when plugin was removed
  from 'init.lua' but there was no `vim.pack.del()`.

Solution: Add ` (not active)` suffix with distinctive highlighting to
  header of plugins that are not active.
  It will also be shown in in-process LSP document symbols to have quick
  reference about which plugins are not active.
2025-12-28 18:39:26 +02:00
Evgeni Chasnovski
f5707a9c42 feat(pack)!: make del() only remove non-active plugins by default
Problem: Using `vim.pack.del()` to delete active plugin can lead to
  a situation when this plugin is reinstalled after restart. Removing
  plugin from 'init.lua' is documented, but can be missed.

Solution: Make `del()` only remove non-active plugins by default and
  throw an informative error if there is an active plugin.

  Add a way to force delete any plugin by adding `opts.force`. This also
  makes `del()` signature be the same as other functions, which is nice.
2025-12-28 18:39:26 +02:00
zeertzjq
c53fb58c15 vim-patch:e426245: runtime(rust): clean-up indent script, handle opening empty line correctly (#37139)
fixes: vim/vim#18974

e426245bb3

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-12-28 22:39:44 +08:00
zeertzjq
80a8c3d23b vim-patch:ee3f10a: runtime(bpftrace): add indention plugin (#37132)
Problem:  No indention support when editing bpftrace files.
Solution: Add indention settings based on cindent with custom options.

closes: vim/vim#19030

ee3f10af87

Co-authored-by: Stanislaw Gruszka <stf_xl@wp.pl>
2025-12-28 00:20:42 +00:00
zeertzjq
5670dde1af vim-patch:a7f703c: runtime(doc): improve :catch documentation (#37131)
related: vim/vim#18984
closes:  vim/vim#19029

a7f703c215

Co-authored-by: Mao-Yining <101858210+mao-yining@users.noreply.github.com>
2025-12-28 08:18:48 +08:00
zeertzjq
7f1d7271d5 vim-patch:9.1.2027: filetype: bicep filetype used for 2 bicep file types (#37130)
Problem:  filetype: bicep filetype used for 2 bicep file types
Solution: Detect *.bicepparam files as bicep-param filetype, include
          new bicep-params and bicep filetype plugin
          (Scott McKendry)

The bicep language server handles parameter files differently than
regular bicep files. Treating them the same at the editor level leads to
false positive diagnostics in the editor.

References:

Bicep Language Constants:
- 51392d32ca/src/Bicep.Core/LanguageConstants.cs (L23)
VS Code Extension definition:
- 51392d32ca/src/vscode-bicep/package.json (L47)

closes: vim/vim#19026

4e722fdfdd

Co-authored-by: Scott McKendry <me@scottmckendry.tech>
2025-12-28 00:16:20 +00:00
zeertzjq
1e44a001ec vim-patch:9.1.2024: 'fsync' option cannot be set per buffer (#37129)
Problem:  'fsync' option cannot be set per buffer
Solution: Make 'fsync' option global-local
          (glepnir)

closes: vim/vim#19019

4d5b303726

Co-authored-by: glepnir <glephunter@gmail.com>
2025-12-28 08:14:45 +08:00
zeertzjq
47aef025a7 vim-patch:ffd5c52: runtime(compiler): ignore 'Found' messages in ruff and ty compiler (#37119)
while at it, also update the ty command line

closes: vim/vim#19012

ffd5c52d23

Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
2025-12-27 01:46:13 +00:00