Commit Graph
9289 Commits
Author SHA1 Message Date
skewb1k 7cc07e8383 feat(lsp): support signature help noActiveParameterSupport #34838 2025-08-11 14:31:57 -07:00
luukvbaal be5a4851ea fix(extui): ensure temporary cmdline config is not restored #35301
Problem:  Temporary cmdline config is saved to be restored later.
Solution: Close the cmdline window so that it is recreated with the appropriate config.
2025-08-11 14:13:39 -07:00
Maria José Solano f7802dd5d5 fix(lsp): deprecate vim.lsp.set_log_level, vim.lsp.get_log_path #35274 2025-08-11 13:51:40 -07:00
Riley Bruins 09f2c8d8ed docs(lsp): specify formatting_options type (#35302) 2025-08-11 14:36:35 -04:00
Maria José Solano e94d8f03b9 fix(lsp): check for lens range in vim.lsp.codelens.run() (#35294) 2025-08-11 12:37:32 -04:00
zeertzjqandDamien Lejay 03c953008c vim-patch:32d6bd6: runtime(doc): remove dead links (#35297)
related: vim/vim#17879

https://github.com/vim/vim/commit/32d6bd6df2d0e13a8283ba80d506310ba5ba8b61

N/A patch:
vim-patch:8b18345: runtime(doc): Fix 2 minor issues after 32d6bd6df

Co-authored-by: Damien Lejay <damien@lejay.be>
2025-08-11 00:04:30 +00:00
zeertzjqandRob B 39af96c8ef vim-patch:a94a055: runtime(python): Highlight f-string replacement fields in Python
Highlight f-string replacement fields, including

- Comments
- Debugging flags
- Conversion fields
- Format specifications
- Delimiters

Syntax inside fields will be addressed in a separate commit.

related: vim/vim#10734
related: vim/vim#14033
closes: vim/vim#17784

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

Co-authored-by: Rob B <github@0x7e.net>
2025-08-11 07:01:27 +08:00
zeertzjqandJon Parise 82a54a772b vim-patch:48b7eb1: runtime(python): Highlight classes as structures
Class and function definitions previously shared a single highlight
group (pythonFunction). This change gives classes their own highlight
group (pythonClass) that's linked to Structure.

closes: vim/vim#17856

https://github.com/vim/vim/commit/48b7eb1ceb16527640ce5853d876c432d7342532

Co-authored-by: Jon Parise <jon@indelible.org>
2025-08-11 07:00:50 +08:00
zeertzjqandD. Ben Knoble d395dc9d38 vim-patch:7270a5a: runtime(racket): update Racket runtime files
This brings the upstream files to commit 9dc3bd3 (ftplugin: escape Vim
special characters when opening docs, 2025-08-09). Note that not all
upstream files are included.

closes: vim/vim#17956

https://github.com/vim/vim/commit/7270a5a8431e0209043f14dd3fa3ea479e4cddc6

Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
2025-08-11 07:00:28 +08:00
Dietrich Moerman 47e3aecb78 vim-patch:9.1.1620: filetype: composer.lock and symfony.lock files not recognized (#35291)
Problem:  filetype: composer.lock and symfony.lock files not recognized
Solution: Detect composer.lock and symfony.lock files as json filetype
          (Dietrich Moerman)

closes: vim/vim#17945

https://github.com/vim/vim/commit/4fca92faa2079d4bb1ece3bd31a4278881a7dacb
2025-08-10 13:42:57 +00:00
zeertzjqandYee Cheng Chin 9d85f086d9 vim-patch:9.1.1622: Patch v9.1.1432 causes performance regressions (#35288)
Problem:  Patch v9.1.1432 causes performance regressions
Solution: Revert "patch 9.1.1432: GTK GUI: Buffer menu does not handle
          unicode correctly" (Yee Cheng Chin).

This reverts commit 08896dd330c6dc8324618fde482db968e6f71088.

The previous change to support Unicode characters properly in the
buffers menu resorted to removing all buffer menus and re-add the
buffers after doing a sort, per each buffer addition. This was quite
slow because if Vim is trying to load in multiple buffers at once (e.g.
when loading a session) this scales in O(n^2) and Vim can freeze for
dozens of seconds when adding a few hundred buffers.

related: vim/vim#17405
related: vim/vim#17928
fixes: vim/vim#17897

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

Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-08-10 09:11:13 +00:00
zeertzjqandveotos 22d90217c6 vim-patch:partial:fc3c204: runtime(doc): Fix style and typos in builtin.txt and usr_41.txt (#35286)
- Reformat parts to fit into 80 column window.
- Fix example with mandatory call with a range.
  https://github.com/vim/vim/discussions/17950#discussioncomment-14055687
- Remove some duplicate information

closes: vim/vim#17949

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

Function list changes only.

Co-authored-by: veotos <veotos@users.noreply.github.com>
2025-08-10 08:23:48 +00:00
zeertzjqandChristian Brabandt f79430e2ce vim-patch:9.1.1615: diff format erroneously detected (#35276)
Problem:  diff format erroneously detected
          (Tomáš Janoušek)
Solution: Make the regex to detect normal diff format a bit stricter,
          while at it, fix wrong test content from patch v9.1.1606

fixes: vim/vim#17946

https://github.com/vim/vim/commit/887b4981e7e929ce8676b1b524e47a7fb5a8288b

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-08-09 23:27:53 +00:00
zeertzjqandlacygoill e3913c0fc2 vim-patch:9.1.1606: filetype: a few more files are not recognized (#35268)
Problem:  filetype: a few more files are not recognized
Solution: guess Mail, Info and Terminfo files by its content
          (lacygoill)

closes: vim/vim#17880

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

Co-authored-by: lacygoill <lacygoill@lacygoill.me>
2025-08-09 13:38:20 +00:00
zeertzjqandRestorerZ 7a07454867 vim-patch:3be4ad7: runtime(optwin): Fix E94 when searching for the option-window
Problem:  When the parameter debug=msg is set and the command :option is
          entered, error E94 will be displayed.
Solution: Add a check for the existence of the buffer before getting the
          buffer number “option-window”.

Reproduce:

vim --clean -c "set debug=msg" -c "option"

    Error detected while processing command line..script D:\Programs\Vim\vim91\optwin.vim:
    line 9: E94: No matching buffer for option-window

closes: vim/vim#17927

https://github.com/vim/vim/commit/3be4ad76df92086e29c3fcf5e6a25f285b6e188f

Co-authored-by: RestorerZ <restorer@mail2k.ru>
2025-08-09 21:04:28 +08:00
zeertzjqandAliaksei Budavei acc55f6fed vim-patch:7132935: runtime(java): Manage byte limits for variable-width lookbehind assertions
Raise the byte limits from 80 to 120 for "javaFuncDef" and
"java*CommentTitle"; and support selecting other arbitrary
values with
------------------------------------------------------------
	let g:java_lookbehind_byte_counts = {
		\ 'javaMarkdownCommentTitle': 240,
	\ }
------------------------------------------------------------

for related groups of syntax definitions, referring to their
names with dictionary keys.

Over-80-Byte-Limit Lookbehind Examples:
https://raw.githubusercontent.com/openjdk/jdk/refs/tags/jdk-24%2B36/src/java.base/share/classes/sun/security/x509/NamedX509Key.java [Lines 43 & 44]
https://raw.githubusercontent.com/openjdk/jdk/refs/tags/jdk-24%2B36/src/jdk.compiler/share/classes/com/sun/tools/javac/util/GraphUtils.java [Line 154]

closes: vim/vim#17921

https://github.com/vim/vim/commit/7132935413dfda47e015015dbbc5b9eb097b90d6

Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
2025-08-09 21:03:56 +08:00
Mathias Fußenegger 1968029003 fix(snippet): sync tabstop text also if pmenu is visible (#35250)
Using a snippet like:

    ${1:name} :: ${2}\n${1:name} ${3}= ${4:undefined}${0}

The text for `${1:name}` stopped syncing if the completion popup menu
showed up. E.g. typing `par` where the `a` triggered completion resulted
in:

    pat ::
    pa = undefined

Instead of:

    pat ::
    pat = undefined
2025-08-08 18:56:54 -07:00
Gregory Anders a0d94ac469 docs(lsp): add reference to progress indicator protocol (#35215) 2025-08-08 09:59:14 -05:00
zeertzjqandkuuote 798cb0f19a vim-patch:9.1.1605: cannot specify scope for chdir() (#35239)
Problem:  Cannot specify scope for chdir()
Solution: Add optional scope argument (kuuote)

closes: vim/vim#17888

https://github.com/vim/vim/commit/8a65a49d509d5a9dd5759a4287969896e8941c10

Co-authored-by: kuuote <znmxodq1@gmail.com>
2025-08-08 13:50:41 +00:00
zeertzjqandGirish Palya 75d38bb844 vim-patch:d82c918: runtime(doc): Improve doc for cmdline-autocomplete (#35235)
Maybe this was unnecessary, but saw this:
https://github.com/vim/vim/issues/17854

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

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-08-08 21:01:54 +08:00
Phạm Bình An 69cc16d917 vim-patch:adfea9b: runtime(help): Unset 'comments' and 'cms' options (#35232)
Problem:  Vim's help file doesn't have any syntax for comments, but
          'comments' and 'commentstring' are still set in the help
          buffer.
Solution: Unset 'comments' and 'cms' in help buffer

closes: vim/vim#17889

https://github.com/vim/vim/commit/adfea9b4e68f39744fcb6ce7840e1c3c3b4637db
2025-08-08 09:31:47 +00:00
Christian Clasonandrhysd ffeb334da0 vim-patch:66d8d28: runtime(typescript): Add syntax support for defer and arbitrary module identifiers
closes: vim/vim#17911

https://github.com/vim/vim/commit/66d8d286cdc38838bd74a6c3014dccda33c64330

Co-authored-by: rhysd <lin90162@yahoo.co.jp>
2025-08-08 10:57:07 +02:00
Christian ClasonandXudong Zheng 62f2b10db3 vim-patch:9.1.1602: filetype: requirements-*.txt files are not recognized
Problem:  filetype: requirements-*.txt files are not recognized
Solution: Detect requirements-*.txt files as requirements filetype
          (Xudong Zheng).

References:
- https://github.com/search?q=path%3Arequirements-*.txt&type=code
- https://github.com/zephyrproject-rtos/zephyr/tree/v4.2.0/scripts

closes: vim/vim#17894

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

Co-authored-by: Xudong Zheng <7pkvm5aw@slicealias.com>
2025-08-08 10:23:45 +02:00
Maria José Solano 9139c4f90f fix(lsp): update capability maps (#35227) 2025-08-07 19:33:52 -07:00
zeertzjqandYee Cheng Chin 52c2519095 vim-patch:9.1.1600: using diff anchors with hidden buffers fails silently (#35218)
Problem:  diff: using diff anchors with hidden buffers fails silently
Solution: Give specific error message for diff anchors when using hidden
          buffers (Yee Cheng Chin).

Diff anchors currently will fail to parse if a buffer used for diff'ing
is hidden. Previously it would just fail as the code assumes it would
not happen normally, but this is actually possible to do if `closeoff`
and `hideoff` are not set in diffopt. Git's default diff tool "vimdiff3"
also takes advantage of this.

This fix this properly would require the `{address}` parser to be
smarter about whether a particular address relies on window position or
not (e.g. the `'.` address requires an active window, but `'a` or `1234`
do not). Since hidden diff buffers seem relatively niche, just provide a
better error message / documentation for now. This could be improved
later if there's a demand for it.

related: vim/vim#17615
closes: vim/vim#17904

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

Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-08-07 15:56:10 +00:00
Christian ClasonandSquibid d994be44d7 vim-patch:93f6454: runtime(openscad): add a filetype plugin
closes: vim/vim#17902

https://github.com/vim/vim/commit/93f6454724ba62035f7292e4ec62f1bc96a7dc46

Co-authored-by: Squibid <me@zacharyscheiman.com>
2025-08-07 17:16:22 +02:00
Christian ClasonandNir Lichtman 6502dd43c4 vim-patch:589aa28: runtime(javascript): add "as" as a reserved keyword to syntax script
closes: vim/vim#17912

https://github.com/vim/vim/commit/589aa284f6a31184683505c8a6ba885ff3349316

Co-authored-by: Nir Lichtman <nir@lichtman.org>
2025-08-07 17:10:44 +02:00
Christian ClasonandFurkan Sahin 1f7ab25915 vim-patch:9.1.1598: filetype: waybar config file is not recognized
Problem:  filetype: waybar config file is not recognized
Solution: Detect */waybar/config file as jsonc filetype
          (Furkan Sahin)

closes: vim/vim#17915

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

Co-authored-by: Furkan Sahin <furkan-dev@proton.me>
2025-08-07 16:35:48 +02:00
zeertzjqandveotos 7dbf347dda vim-patch:9c4de84: runtime(doc): Update ft-vim-syntax documentation (#35212)
g:vimsyn_folding and g:vimsyn_embed regexps need to match case.

closes: vim/vim#17914

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

Co-authored-by: veotos <veotos@users.noreply.github.com>
2025-08-07 22:31:18 +08:00
zeertzjqandLane East e12bfb4c70 vim-patch:54fb7ba: runtime(doc): remove mentioning of netrwSettings.vim (#35209)
closes: vim/vim#17925

https://github.com/vim/vim/commit/54fb7ba25665b4a9cc9dc8639f2292e62b43d677

Co-authored-by: Lane East <laneast@laneast.com>
2025-08-07 13:30:38 +00:00
skewb1k d26db4bfbf feat(lsp): improve signature help display #35190
- Add delimiter between function signature and documentation, matching hover formatting
- Show title only if there are multiple clients or multiple signatures
- Avoid duplicating the title inside the window if it's already shown in the border
2025-08-06 19:56:02 -07:00
zeertzjqandGirish Palya 654cde369d vim-patch:f7deb81: runtime(doc): fix typo at :h cmdline-autocompletion
The '?' needs to be escaped, because the autocommand is using
file-patterns (glob like) and not a regex). See :h file-pattern

closes: vim/vim#17890

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

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-08-07 06:33:51 +08:00
zeertzjqandHirohito Higashi cc25cd2cb7 vim-patch:bb0860a: runtime(doc): tweak option name notation further
related: vim/vim#17857
closes: vim/vim#17917

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

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-08-07 06:33:21 +08:00
glepnir 5b1b46ea5a fix(lsp): show title when global winborder is set (#35181)
Problem: make_floating_popup_options only shows when opts.border is explicitly set, ignoring global winborder setting

Solution: check both opts.border and vim.o.winborder when determining whether to show title
2025-08-06 08:25:55 -05:00
zeertzjq b4c092a092 Merge pull request #35187 from zeertzjq/vim-85cd509
vim-patch: doc updates
2025-08-06 20:51:14 +08:00
Gregory Anders 851a622806 docs(lsp): include snippet to display progress using native indicator (#35176) 2025-08-06 07:31:02 -05:00
zeertzjq 5b3606b2c4 vim-patch:067adc1: runtime(doc): add back bars for the '' mark
this was erroneously changed in commit
85cd509885a05c3a6bb029fb378b1295f107f8f6

related: vim/vim#17857

https://github.com/vim/vim/commit/067adc1ff229155574ce57fdce7ebaa0af28ed23
2025-08-06 20:25:29 +08:00
zeertzjqandHirohito Higashi 60dca47ae4 vim-patch:85cd509: runtime(doc): Use correct option-name tags
closes: vim/vim#17857

https://github.com/vim/vim/commit/85cd509885a05c3a6bb029fb378b1295f107f8f6

Omit 'completepopup' and v:colornames.

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-08-06 20:25:29 +08:00
zeertzjqandEmilien Breton a3921d2be6 vim-patch:3769100: runtime(doc): fix mismatch between 'backspace' and |i_backspacing| (#35185)
closes: vim/vim#17867

https://github.com/vim/vim/commit/3769100a8e59aaaf48739e1588445dd6ee7e29e7

Co-authored-by: Emilien Breton <bricktech2000@gmail.com>
2025-08-06 11:41:43 +00:00
zeertzjqandHirohito Higashi 72d3ffd716 vim-patch:a7a2a2b: runtime(doc): Tweak documentation style (#35184)
closes: vim/vim#17862

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

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-08-06 10:52:53 +00:00
skewb1k 820fb89172 fix(lsp): make thematic break parsing conform to GFM spec (#35162)
- Support for '_' and '*' as delimiters
- Allow spaces between delimiters
- Use more efficient implementation
2025-08-05 16:34:14 -04:00
Maria José Solano a9a4c271b1 revert(lsp): compare to vim.NIL in lsp/buf.lua (#35156)
revert(lsp): "compare to `vim.NIL` in `lsp/buf.lua` #35154"

This reverts commit a5c598871b.
2025-08-03 18:20:17 -07:00
Maria José Solano a5c598871b fix(lsp): compare to vim.NIL in lsp/buf.lua #35154 2025-08-03 15:39:49 -07:00
Maria José Solano 54bfd0de4f docs(lsp): mention default enablement of document colors (#35153) 2025-08-03 15:03:14 -07:00
Maria José Solano c789d79966 fix(lsp): check if buffer is valid when resolving code lenses (#35092) 2025-08-03 14:11:18 -07:00
TheBlob42 ecded994c1 fix(snippet): early return for final tabstop #35115
The cursor movement autocommand can not detect when the final tabstop $0
is directly adjacent to another tabstop, which prevents ending the
snippet session. The fix is an early return when jumping.
2025-08-03 19:52:09 +00:00
Yi Ming 7ed8cbd095 feat(lua): vim.list.bisect() #35108 2025-08-03 07:45:49 -07:00
skewb1k 40aef0d02e fix(lsp): decode 'null' in server responses as vim.NIL #34849
Problem:
Previously, 'null' value in LSP responses were decoded as 'nil'.
This caused ambiguity for fields typed as '? | null' and led to
loss of explicit 'null' values, particularly in 'data' parameters.

Solution:
Decode all JSON 'null' values as 'vim.NIL' and adjust handling
where needed. This better aligns with the LSP specification,
where 'null' and absent fields are distinct, and 'null' should
not be used to represent missing values.

This also enables proper validation of response messages to
ensure that exactly one of 'result' or 'error' is present, as
required by the JSON-RPC specification.
2025-08-03 07:42:44 -07:00
bfredl 9910445125 fix(options): make 'cdhome' take effect on any platform
Platform specific options are cringe and should either be fixed or
deleted.

In this case, the platform difference can trivially be implemented
using a conditional default value. If the user overrides the value,
then it is because the user wants that value, regardless of the
corporation who manufactured the OS that the user is running.

Possible alternative: delete the option by making it always on.
2025-08-03 09:42:35 +02:00
Sathya Pramodh 78f4994627 feat: ":restart [cmd]" can run commands #35045
Problem:
Not easy for a user to tell ":restart" to "run this command(s) after restarting".

Solution:
All ":restart" args following the optional +cmd arg are treated as a big cmdline that is passed as a "-c" CLI arg when restarting nvim.
2025-08-02 22:50:45 -07:00