aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:2ffb4d0: runtime(lua): fix whitespace style issues in lua ftplugin ↵zeertzjq2025-04-08
| | | | | | | | | (#33378) related: vim/vim#17049 https://github.com/vim/vim/commit/2ffb4d0298426f6c57f3ec3caae4480024e4372d Co-authored-by: Christian Brabandt <cb@256bit.org>
* fix(treesitter): not refreshing virtualtext contents #33361Dmitry Zolotukhin2025-04-07
| | | | | | | | Problem: In some cases, when treesitter is enabled, deleting a line below virtualtext will not refresh all updated lines. https://github.com/neovim/neovim/issues/33358 Solution: Revert a part of https://github.com/neovim/neovim/pull/31324 to ensure that the full range (with virtual lines) is refreshed.
* fix(health): expecting nonexistent "inotifywait" function #33312Felipe Lema2025-04-07
| | | | | | | Problem: 55e4301036bb938474fc9768c41e28df867d9286 changed the program name but not the function name. Solution: Fix the healthcheck.
* vim-patch:00b927b: runtime(lua): improve foldexpr, add vim9 script versionChristian Clason2025-04-07
| | | | | | | | closes: vim/vim#17049 https://github.com/vim/vim/commit/00b927b295c11e61942d34f7e1c384f1c6af9513 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* vim-patch:9cd6d82: runtime(fstab): set formatoptions-=t in filetype pluginChristian Clason2025-04-07
| | | | | | | | | closes: vim/vim#17020 https://github.com/vim/vim/commit/9cd6d82fbb1693aff2878d851571aa0126b3cb38 Co-authored-by: Radu Dineiu <radu.dineiu@gmail.com> Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:9adb310: runtime(svelte): add matchit support to svelte filetype ↵Christian Clason2025-04-07
| | | | | | | | | | plugin closes: vim/vim#17052 https://github.com/vim/vim/commit/9adb310cf34be232c8d71a93cabdf76b7f71a9cb Co-authored-by: 231tr0n <zeltronsrikar@gmail.com>
* refactor(lsp): deprecate client_is_stopped #33342Justin M. Keyes2025-04-06
| | | | | | | | Problem: `client_is_stopped(…)` is an alias for `not get_client_by_id(…)`. And it's not used anywhere in our codebase. Solution: Deprecate it.
* fix(vim.hl): nvim_buf_del_extmark on invalid buffer #33331phanium2025-04-05
| | | | | | | Problem: nvim_buf_del_extmark error if buffer is destroyed before timer stops Solution: check nvim_buf_is_valid.
* docs: clipboard, eval #33223Justin M. Keyes2025-04-05
|
* vim-patch:9.1.1276: inline word diff treats multibyte chars as word char ↵zeertzjq2025-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#33323) Problem: inline word diff treats multibyte chars as word char (after 9.1.1243) Solution: treat all non-alphanumeric characters as non-word characters (Yee Cheng Chin) Previously inline word diff simply used Vim's definition of keyword to determine what is a word, which leads to multi-byte character classes such as emojis and CJK (Chinese/Japanese/Korean) characters all classifying as word characters, leading to entire sentences being grouped as a single word which does not provide meaningful information in a diff highlight. Fix this by treating all non-alphanumeric characters (with class number above 2) as non-word characters, as there is usually no benefit in using word diff on them. These include CJK characters, emojis, and also subscript/superscript numbers. Meanwhile, multi-byte characters like Cyrillic and Greek letters will still continue to considered as words. Note that this is slightly inconsistent with how words are defined elsewhere, as Vim usually considers any character with class >=2 to be a "word". related: vim/vim#16881 (diff inline highlight) closes: vim/vim#17050 https://github.com/vim/vim/commit/9aa120f7ada592ed03b37f4de8ee413c5385f123 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
* vim-patch:b8d5c85: runtime(doc): update WinScrolled documentation (#33322)zeertzjq2025-04-05
| | | | | | | closes: vim/vim#17036 https://github.com/vim/vim/commit/b8d5c8509998f3a97ffe42f674352b07749cd119 Co-authored-by: Christian Brabandt <cb@256bit.org>
* feat(lsp.util): deprecate vim.lsp.util.stylize_markdownLewis Russell2025-04-04
| | | | It's not used anywhere.
* fix: bug in stylize_markdownLewis Russell2025-04-04
| | | | `stripped` and `markdown_lines` are iterated together so must have the same length.
* feat(defaults): store spellfile in stdpath('data') #33048Yochem van Rosmalen2025-04-04
| | | | | | | | | | | Problem: First rtp directory is unpredictable and not in line with XDG base spec. Solution: Use stdpath('data')/spell as directory if 'spellfile' is not set. Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* vim-patch:9.1.1271: filetype: Power Query files are not recognizedChristian Clason2025-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: Power Query files are not recognized Solution: detect '*.pq' as pq filetype, include pq syntax and filetype plugin (Anarion Dunedain) Microsoft Power Query provides a powerful data import experience that encompasses many features. Power Query works with desktop Analysis Services, Excel, and Power BI workbooks, in addition to many online services, such as Fabric, Power BI service, Power Apps, Microsoft 365 Customer Insights, and more. A core capability of Power Query is to filter and combine, that is, to mash-up data from one or more of a rich collection of supported data sources. Any such data mashup is expressed using the Power Query M formula language. The M language is a functional, case sensitive language similar to F#. Reference: - Power Query M formula language overview: https://learn.microsoft.com/en-us/powerquery-m/ closes: vim/vim#17045 https://github.com/vim/vim/commit/e74ec3f523a152f62a37cc3ab476f0e5a2e812c6 Co-authored-by: Anarion Dunedain <anarion80@gmail.com>
* vim-patch:6099db9: runtime(sh): Update syntax file, command substitution ↵Christian Clason2025-04-04
| | | | | | | | | | | | | | | | opening paren at EOL Allow the opening parenthesis of a command substitution to appear at EOL. This fixes the issue raised in https://github.com/vim/vim/issues/17026#issuecomment-2774112284. closes: vim/vim#17044 https://github.com/vim/vim/commit/6099db9a60d1c047bf9c8feee3e1689c4e653250 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* docs(diagnostic): mention `severity` in `Opts.VirtualLines` (#33293)Evgeni Chasnovski2025-04-03
| | | | | | | Problem: `severity` field is recognized by `vim.diagnostic.Opts.VirtualLines`, but it is not explicitly documented. Solution: document it.
* feat(vim.hl): allow multiple timed highlights simultaneously #33283Siddhant Agarwal2025-04-03
| | | | | | | | | Problem: Currently vim.hl.range only allows one timed highlight. Creating another one, removes the old one. Solution: vim.hl.range now returns a timer and a function. The timer keeps track of how much time is left in the highlight and the function allows you to clear it, letting the user decide what to do with old highlights.
* feat(clipboard): g:clipboard="foo" forces the "foo" clipboard tool #33235Deveshi Dwivedi2025-04-03
|
* vim-patch:9.1.1268: filetype: dax files are not recognizedChristian Clason2025-04-03
| | | | | | | | | | | | | | | | | | | | | Problem: filetype: dax files are not recognized Solution: detect "*.dax" as dax filetype, include dax filetype and syntax plugin (Anarion Dunedain) Data Analysis Expressions (DAX) is a formula expression language used in Analysis Services, Power BI, and Power Pivot in Excel. DAX formulas include functions, operators, and values to perform advanced calculations and queries on data in related tables and columns in tabular data models. DAX language overview: - https://learn.microsoft.com/en-us/dax/dax-overview closes: vim/vim#17035 https://github.com/vim/vim/commit/7f518e044fbc60cffdf2c0f611cc8c4dc35c338c Co-authored-by: Anarion Dunedain <anarion80@gmail.com>
* vim-patch:a359c9c: runtime(zip): add *.whl to the list of zip extensionszeertzjq2025-04-03
| | | | | | | | | | | | | | This commits adds the extension *.whl to the list of zip extensions. Wheel (WHL) files are binary distribution files for python packages. Reference: https://packaging.python.org/en/latest/specifications/binary-distribution-format/ fixes: vim/vim#17038 https://github.com/vim/vim/commit/a359c9c25e5c3c1e543fc720223aa7256e6f72cf Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:8293574: runtime(doc): update pi_zip.txt with current list of zip ↵zeertzjq2025-04-03
| | | | | | | | | | file extensions closes: vim/vim#17037 https://github.com/vim/vim/commit/8293574c8b116382ed6e0c3c709a04406f07cfd5 Co-authored-by: Christian Brabandt <cb@256bit.org>
* Merge pull request #32686 from lewis6991/lsp-rpc-perfLewis Russell2025-04-01
|\ | | | | perf(lsp): improve rpc loop performance (with shim)
| * refactor: add basic stringbuffer shimLewis Russell2025-03-31
| |
| * perf(lsp): use string.buffer for rpc loopMathias Fussenegger2025-03-31
| | | | | | | | | | | | | | | | | | | | Avoids some table allocations. In a quick test over 50000 iterations it reduces the time from 130ms to 74 ms For the test setup details see: https://github.com/mfussenegger/nvim-dap/pull/1394#issue-2725352391
| * perf(lsp): optimize content length extraction from rpc headersMathias Fussenegger2025-03-31
| | | | | | | | | | | | - No redundant `:gsub` to turn `-` in `Content-Length` into `_` - No table allocations only to add and later get the content-length header
* | docs(eval): fix dict param type of mapsetSean Dewar2025-04-01
| | | | | | | | Match maparg's return type.
* | docs(eval): fix lnum type for functions using tv_get_lnumSean Dewar2025-04-01
| | | | | | | | | | | | | | These occurrences also accept string, which is used like in getline. Also make the lnum field of vim.fn.sign_placelist.list.item optional, as it can be omitted like vim.fn.sign_place.dict's.
* | vim-patch:4ac995b: runtime(rust): set formatprg to rustfmt (#33245)zeertzjq2025-04-01
|/ | | | | | | closes: vim/vim#16967 https://github.com/vim/vim/commit/4ac995bf9366c6624a0724d19b2226f4c95694b3 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* fix(lsp): better handling of "*" configsLewis Russell2025-03-31
| | | | | | | | | | | | | | | Problem: If a config name contains "*" it causes rtp discovery of `lsp/` to consider the `*` as a wildcard and could lead to strange and unintended behaviour. For example, accessing the `'*'` config from a `lsp/` file would cause an infinite loop. Solution: - Explicitly disallow a config name from containing wildcards, with the exception of `'*'`. - When Resolving `'*'` config, skip the rtp step.
* vim-patch:649a237: runtime(debversions): Add release name for Debian 15 - ↵zeertzjq2025-03-31
| | | | | | | | | | | duke (#33207) https://lists.debian.org/debian-devel-announce/2025/01/msg00004.html closes: vim/vim#17010 https://github.com/vim/vim/commit/649a237bc886a2b702e95d5d45f661d8db6025f8 Co-authored-by: James McCoy <jamessan@jamessan.com>
* feat(float): 'winborder' "bold" style #33189glepnir2025-03-31
|
* fix(defaults): enable :terminal [[,]] motion in operator-pending mode #33217Ghjuvan Lacambre2025-03-31
| | | This enables y]] to copy a command and its output.
* feat(editor): 'autowriteall' on SIGHUP/SIGQUIT #32843Skoh2025-03-31
| | | | | | | | | | | Problem: Upon receiving a deadly signal, Nvim doesn't write buffers even if the option 'autowriteall' is set. Solution: Write to all writable buffers upon SIGHUP or SIGQUIT (but not SIGTERM), if the option 'autowriteall' is set. Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* fix(treesitter): don't memoize modified headings (#33186)Tan, Long2025-03-31
| | | | | Problem: repeated gO in markdown etc. adds extra toc indentation Solution: don't memoize heading table which gets modified
* docs: lsp config/commands #33122Justin M. Keyes2025-03-30
| | | fix #33075
* fix(defaults): visual-mode [[,]] for :terminal shell prompts #33201msaher2025-03-30
| | | | | | | Problem: :terminal shell prompt jump mappings ]]/[[ don't work in visual mode. Solution: Also define them for in visual mode.
* feat(lsp): workspace_required #31824Michael Strobel2025-03-30
| | | | | | | | | | Problem: Some language servers do not work properly without a workspace folder. Solution: Add `workspace_required`, which skips starting the lsp client if no workspace folder is found. Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* docs(lsp): `vim.api.buf_request_sync` can also take function as `params` #33170Tighearnán Carroll2025-03-30
|
* fix(vim.lsp.inlay_hint): requesting inlay_hints even when disabled #32999Bartłomiej Maryńczak2025-03-30
| | | | | | | | Problem: Nvim needlessly requests inlay_hints even if they are disabled for a given buffer. Solution: Add the missing `enabled` check in `on_refresh`. Rest of the code has this check already so that's the only needed one to fix this.
* docs: faq, lua packages #33183Phạm Bình An2025-03-30
| | | | | | Problem: - `health#check()` seems to have been removed for a while, but `:h faq` still refers to it. - `news-0.11.txt` doesn't mention #33044
* fix(checkhealth): check outdated pynvim version properly #33175zeertzjq2025-03-30
| | | Fixes #33174, a regression from #22962.
* feat(checkhealth): emoji for OK/WARN/ERROR #33172Justin M. Keyes2025-03-30
| | | | | | | Problem: Health status can be much more visually distinct. Solution: Use emoji next to each status.
* fix(checkhealth): check g:loaded_xx_provider for all providers #33168Justin M. Keyes2025-03-29
|
* fix(provider): misleading :checkhealth if user sets ↵Sathya Pramodh2025-03-29
| | | | | | | | | | | | g:loaded_python3_provider=1 #32696 Problem: :checkhealth shows a confusing message if user sets g:loaded_python3_provider=1. Solution: - Show a warning if that var is set to 1. - Update provider modules to default to 0. Any user code that is checking for 1, is like already broken because these may be set to 2.
* refactor(treesitter): migrate to ts parser callback API #33141Riley Bruins2025-03-29
| | | | | Remove the `set_timeout` functions for `TSParser` and instead add a timeout parameter to the regular parse function. Remove these deprecated tree-sitter API functions and replace them with the preferred `TSParseOptions` style.
* fix(desktop): cannot open filename with spaces using OS file manager #33161Daniel Kusai2025-03-29
| | | | | | | | Problem: When activated from OS "filetype handling", Nvim cannot handle filenames containing spaces. Solution: Quote the filename in the .desktop config.
* Merge pull request #33114 from zeertzjq/vim-9.1.1250zeertzjq2025-03-29
|\ | | | | vim-patch:9.1.{1250,1255,1257}: 'pummaxwidth'
| * vim-patch:9.1.1255: missing test condition for 'pummaxwidth' settingzeertzjq2025-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: missing test condition for 'pummaxwidth' setting, pummaxwidth not effective when width is 32 and height is 10 (after v9.1.1250) Solution: add missing comparison condition in pum_width() (glepnir) closes: vim/vim#16999 https://github.com/vim/vim/commit/532c5aec6fa8f0a3d743c7d1573d25d75dd36d5f Co-authored-by: glepnir <glephunter@gmail.com>
| * vim-patch:9.1.1250: cannot set the maximum popup menu widthzeertzjq2025-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: cannot set the maximum popup menu width (Lucas Mior) Solution: add the new global option value 'pummaxwidth' (glepnir) fixes: vim/vim#10901 closes: vim/vim#16943 https://github.com/vim/vim/commit/88d75934c3d5bc4c406343f106e1a61638abd3a7 Co-authored-by: glepnir <glephunter@gmail.com>