aboutsummaryrefslogtreecommitdiff
path: root/runtime
Commit message (Collapse)AuthorAge
* vim-patch:1718e7d: runtime(vim): Update base-syntax, improve ex-bang ↵zeertzjq2025-01-09
| | | | | | | | | | | | matching (#31922) Always match ex-bang explicitly rather than incidentally as the ! operator. fixes: vim/vim#16221 closes: vim/vim#16410 https://github.com/vim/vim/commit/1718e7d07e391571ac81c507a746b3bc7a7e2024 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* fix(api): nvim_set_decoration_provider callback return type #31912notomo2025-01-08
| | | | | Problem: incorrect return type doc causes luals `Annotations specify that at most 0 return value(s) are required, found 1 returned here instead.` diagnosis Solution: correct return type doc
* vim-patch:9.1.0995: filetype: shaderslang files are not detectedChristian Clason2025-01-08
| | | | | | | | | | | | | | | Problem: filetype: shaderslang files are not detected Solution: detect '*.slang' files as shaderslang filetype, include a filetype and syntax script (mtvare6) Reference: https://shader-slang.com/ closes: vim/vim#16387 https://github.com/vim/vim/commit/616219f684744bcfad61a53c13166cda9b141dea Co-authored-by: mtvare6 <mtvare6@proton.me>
* feat(health): show :checkhealth in floating window #31086glepnir2025-01-07
| | | | Problem: health can not shown in a floating window Solution: add g:health variable
* perf(treesitter): don't fetch parser for each fold lineRiley Bruins2025-01-07
| | | | | | | | | | | | | | **Problem:** The treesitter `foldexpr` calls `get_parser()` for each line in the buffer when calculating folds. This can be incredibly slow for buffers where a parser cannot be found (because the result is not cached), and exponentially more so when the user has many `runtimepath`s. **Solution:** Only fetch the parser when it is needed; that is, only when initializing fold data for a buffer. Co-authored-by: Jongwook Choi <wookayin@gmail.com> Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* vim-patch:3159b64: runtime(sh): fix typo in Last Change headerChristian Clason2025-01-07
| | | | | | | | related: vim/vim#16394 https://github.com/vim/vim/commit/3159b6494ec08fbe780d14e54ad4e89e7b55bb16 Co-authored-by: Christian Brabandt <cb@256bit.org>
* vim-patch:cf1f555: runtime(sh): add PS0 to bashSpecialVariables in syntax scriptChristian Clason2025-01-07
| | | | | | | | | | | | | | PS0 is also a special prompt variable. (It is expanded and displayed after it reads a command but before executing it.) References: https://www.gnu.org/software/bash/manual/html_node/Interactive-Shell-Behavior.html closes: vim/vim#16394 https://github.com/vim/vim/commit/cf1f55548d1c8782c5bd11f82354d98fb30cde42 Co-authored-by: Jon Parise <jon@indelible.org>
* vim-patch:7ceaa8f: runtime(vim): Remove trailing comma from match_wordsChristian Clason2025-01-07
| | | | | | | | | fixes: vim/vim#16377 (`filetype plugin indent on` breaks matchit). closes: vim/vim#16389 https://github.com/vim/vim/commit/7ceaa8f3ddbaad75fa02f91c0b354661b38253cb Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.1.0991: v:stacktrace has wrong type in Vim9 scriptzeertzjq2025-01-07
| | | | | | | | | | Problem: v:stacktrace has wrong type in Vim9 script. Solution: Change the type to t_list_dict_any. Fix grammar in docs. (zeertzjq) closes: vim/vim#16390 https://github.com/vim/vim/commit/6655bef33047b826e0ccb8c686f3f57e47161b1c
* vim-patch:9.1.0984: exception handling can be improvedzeertzjq2025-01-07
| | | | | | | | | | | | Problem: exception handling can be improved Solution: add v:stacktrace and getstacktrace() closes: vim/vim#16360 https://github.com/vim/vim/commit/663d18d6102f40d14e36096ec590445e61026ed6 Co-authored-by: ichizok <gclient.gaap@gmail.com> Co-authored-by: Naruhiko Nishino <naru123456789@gmail.com>
* refactor(treesitter): simplify condition #31889Riley Bruins2025-01-06
|
* Merge #31625 perf(decor): improve iter_captures() cacheJustin M. Keyes2025-01-06
|\
| * refactor: split predicates and directivesvanaigr2025-01-06
| |
| * perf(decor): join predicates and matches cachevanaigr2025-01-06
| |
* | fix(lsp): open_floating_preview() zindex relative to current window #31886luukvbaal2025-01-06
|/ | | | | Problem: open_floating_preview() may be hidden behind current window if that is floating and has a higher zindex. Solution: Open floating preview with zindex higher than current window.
* vim-patch:fd77161: runtime(doc): update doc for :horizontalzeertzjq2025-01-06
| | | | | | | | | | | Revert the documentation for :horizontal from commit 0c3e57b403e0e3a1fefc because :horizontal cannot be shortened to :ho closes: vim/vim#16362 https://github.com/vim/vim/commit/fd771613b3e59923b1a82a5ed9036c82899d133b Co-authored-by: h-east <h.east.727@gmail.com>
* vim-patch:0c3e57b: runtime(doc): update index.txt, windows.txt and version9.txtzeertzjq2025-01-06
| | | | | | | | | closes: vim/vim#16357 https://github.com/vim/vim/commit/0c3e57b403e0e3a1fefca7bbd5ad4cb950eea616 Co-authored-by: h-east <h.east.727@gmail.com> Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
* vim-patch:6139766: runtime(vim): fix failing vim syntax testzeertzjq2025-01-06
| | | | | | | | | | | | | after v9.1.0985 related: vim/vim#16356 https://github.com/vim/vim/commit/6139766e825ca34948223cb4c88d3900b1940a17 Co-authored-by: h-east <h.east.727@gmail.com> N/A patch: vim-patch:8a27d97: runtime(doc): Capitalise the mnemonic "Zero" for the 'z' flag of search()
* vim-patch:21c37d7: runtime(vim): update base-syntax after v9.1.0936zeertzjq2025-01-06
| | | | | | https://github.com/vim/vim/commit/21c37d7f695077efe6df57806ff35da79adce1d5 Co-authored-by: Christian Brabandt <cb@256bit.org>
* "nvim -es": disable shada #21723Justin M. Keyes2025-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `nvim -es` (and `nvim -Es`) is the recommended way to non-interactively run commands/vimscript. But it enables shada by default, which is usually not wanted. Solution: - Disable shada by default for `nvim -es/-Es`. This can be overridden by `-i foo` if needed. - Do NOT change the 'loadplugins' default. - User config + packages _should_ be enabled by default, for both `nvim -es` and `nvim -l`. Else any Lua packages you have can't be accessed without `-u path/to/config`, which is clumsy. - Use-cases: ``` nvim --headless "+Lazy! sync" +qa would become: nvim -es "+Lazy! sync" nvim --headless +PlugInstall +qall would become: nvim -es +PlugInstall ``` - Opt-out (`--clean` or `-u NONE`) is much easier than opt-in (`-u path/to/config`). - User config/packages are analogous to pip packages, which are expected when doing `python -c ...`. related: 7c94bcd2d77e2e54b8836ab8325460a367b79eae related: ddd0eb6f5120a09b97867d2561ea61309038ccd2
* fix(health): "q" should not close last window #31876Justin M. Keyes2025-01-05
|
* feat(health): close checkhealth buffers with q #31870Maria José Solano2025-01-05
|
* vim-patch:202ebc6: runtime(zsh): sync syntax script with upstream repoChristian Clason2025-01-05
| | | | | | | | fixes: vim/vim#16371 https://github.com/vim/vim/commit/202ebc6ced6c5d7c0cdd9a79867af14aab39f75d Co-authored-by: Christian Brabandt <cb@256bit.org>
* feat(func): allow manual cache invalidation for _memoizeRiley Bruins2025-01-05
| | | | | This commit also adds some tests for the existing memoization functionality.
* fix(health): set nomodifiable in checkhealth buffersMaria José Solano2025-01-05
|
* fix(vim.fs.normalize): normalize case for windows drive letterdundargoc2025-01-04
| | | | | Also add tests for the current path casing behavior so it doesn't get accidentally changed.
* fix(runtime): let matchit and matchparen skips fallback on treesitter capturesEmilia Simmons2025-01-04
| | | | | | | | | | | | | | | | | When treesitter is enabled, by default syntax groups are not defined, but these groups are used to identify where to skip matches in matchit and matchparen. This patch does three things: 1. If syntax is enabled regardless of treesitter (`vim.bo.syntax='on'`): Use original implementation. 2. If treesitter is enabled and syntax is not: Match the syntax groups (i.e. `comment\|string`) against treesitter captures to check for skipped groups. 3. Add an explicit treesitter syntax for marking captures to skip: matchit uses `b:match_skip` to determine what counts as skippable Where 's:comment\|string' uses a match of the named syntax groups against a regex match of comment\|string, 't:comment\|string' now uses vim regex to match against the names of the treesitter capture groups.
* docs: cleanup news.txt (#31854)Gregory Anders2025-01-04
| | | Move non-breaking changes out of the breaking changes section
* vim-patch:cd96075: runtime(java): Quietly opt out for unsupported ↵Christian Clason2025-01-04
| | | | | | | | | | | markdown.vim versions fixes vim/vim#16349 closes: vim/vim#16369 https://github.com/vim/vim/commit/cd96075cdee6b606c6e39aa1aed19b7cdc867df8 Co-authored-by: Aliaksei Budavei <32549825+zzzyxwvut@users.noreply.github.com>
* test: spawn_wait() starts a non-RPC Nvim processJustin M. Keyes2025-01-03
| | | | | | | | | | | Problem: Can't use `n.clear()` to test non-RPC `nvim` invocations. So tests end up creating ad-hoc wrappers around `system()` or `jobstart()`. Solution: - Introduce `n.spawn_wait()` - TODO (followup PR): Rename `n.spawn()` and `n.spawn_wait()`. It's misleading that `n.spawn()` returns a RPC session...
* docs: misc #31822Justin M. Keyes2025-01-03
| | | | | * docs: drop "lua-" prefix from most treesitter tags * docs: move mouse section from tui.txt to gui.txt * docs: misc
* vim-patch:fc61cfd: runtime(vim): Update matchit pattern, no Vim9 short names ↵zeertzjq2025-01-03
| | | | | | | | | (#31843) Abbreviated :enum and :interface commands are no longer supported. https://github.com/vim/vim/commit/fc61cfd60e6d99765d1a68d39d6613e0917c7c56 Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* vim-patch:9.1.0987: filetype: cake files are not recognizedChristian Clason2025-01-03
| | | | | | | | | | | | | | | Problem: filetype: cake files are not recognized Solution: detect '*.cake' files as cs filetype (Zoe Roux) References: https://cakebuild.net/ closes: vim/vim#16367 https://github.com/vim/vim/commit/a407573f30a978b3aa61532bbd9b0ae94a87dc32 Co-authored-by: Zoe Roux <zoe.roux@zoriya.dev>
* vim-patch:9.1.0986: filetype: 'jj' filetype is a bit impreciseChristian Clason2025-01-03
| | | | | | | | | | | | Problem: filetype: 'jj' filetype is a bit imprecise Solution: rename 'jj' filetype to 'jjdescription' (Gregory Anders) closes: vim/vim#16364 https://github.com/vim/vim/commit/58c44e8833365e1a777330491c2799ae324ed893 Co-authored-by: Gregory Anders <greg@gpanders.com>
* vim-patch:bde76da: runtime(jj): Support diffs in jj syntaxChristian Clason2025-01-03
| | | | | | | | related: vim/vim#16364 https://github.com/vim/vim/commit/bde76da4d02d93d8ea9e523d1057d59a19de276a Co-authored-by: Gregory Anders <greg@gpanders.com>
* Merge pull request #31635 from bfredl/vtermpiratesbfredl2025-01-03
|\ | | | | feat(terminal): support grapheme clusters, including emoji
| * feat(terminal): support grapheme clusters, including emojibfredl2025-01-02
| |
* | feat(ui): more intuitive :substitute confirm prompt #31787luukvbaal2025-01-02
| | | | | | | | Problem: Unknown key mappings listed in substitute confirm message. Solution: Include hints as to what the key mappings do.
* | feat(ui)!: emit prompt "messages" as cmdline events #31525luukvbaal2025-01-02
|/ | | | | | | Problem: Prompts are emitted as messages events, where cmdline events are more appropriate. The user input is also emitted as message events in fast context, so cannot be displayed with vim.ui_attach(). Solution: Prompt for user input through cmdline prompts.
* fix(lsp): ensure watcher cancelJaehwang Jung2025-01-02
| | | | | | | * Cancel watcher in the "force" case. * Cancel watcher outside the async callback. It seems nvim doesn't wait async jobs on quitting, leaving detached inotifywait processes. * Clean up cancelling callbacks.
* fix(vim.fs.abspath): correctly handle UNC pathsdundargoc2025-01-01
|
* docs: misc #31479Justin M. Keyes2025-01-01
|
* feat(clipboard)!: use OSC 52 as fallback clipboard provider (#31730)Gregory Anders2024-12-31
| | | | | | | | | | | | | | | We currently enable the OSC 52 clipboard provider by setting g:clipboard when a list of conditions are met, one of which is that $SSH_TTY must be set. We include this condition because often OSC 52 is not the best clipboard provider, so if there are "local" providers available Nvim should prefer those over OSC 52. However, if no other providers are available, Nvim should use OSC 52 even when $SSH_TTY is not set. When a user is in an SSH session then the checks for the other clipboard providers will still (typically) fail, so OSC 52 continues to be enabled by default in SSH sessions. This is marked as a breaking change because there are some cases where OSC 52 wasn't enabled before and is now (or vice versa).
* fix(vim.fs): joinpath() does not normalize slashes on Windows #31782Gustav Eikaas2024-12-31
|
* feat(lsp): return resolved config for vim.lsp.config[name]Mathias Fussenegger2024-12-31
| | | | | | | | | | Allows to retrieve the configuration as it will be used by `lsp.enable` - including the parts merged from `*` and rtp. This is useful for explicit startup control (`vim.lsp.start(vim.lsp.config[name])`) Closes https://github.com/neovim/neovim/issues/31640
* vim-patch:9.1.0982: TI linker files are not recognizedChristian Clason2024-12-31
| | | | | | | | | | | | | Problem: TI linker files are not recognized Solution: inspect '*.cmd' files and detect TI linker files as 'lnk' filetype, include a lnk ftplugin and syntax script (Wu, Zhenyu) closes: vim/vim#16320 https://github.com/vim/vim/commit/39a4eb0b2ca901b59800fad086550053556e59dc Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:8dc98bf: runtime(chordpro): update syntax scriptChristian Clason2024-12-31
| | | | | | | | | References: https://chordpro.org/beta/directives-define/#defining-chords-for-keyboard-instruments https://github.com/vim/vim/commit/8dc98bf427d62501d9ecbb48d20ae2633c3db187 Co-authored-by: nibo <nibo@relim.de>
* vim-patch:9.1.0983: not able to get the displayed items in complete_i… ↵glepnir2024-12-31
| | | | | | | | | | | | | | | (#31796) vim-patch:9.1.0983: not able to get the displayed items in complete_info() Problem: not able to get the displayed items in complete_info() (Evgeni Chasnovski) Solution: return the visible items via the "matches" key for complete_info() (glepnir) fixes: vim/vim#10007 closes: vim/vim#16307 https://github.com/vim/vim/commit/d4088edae21659e14ab5f763c820f4eab9d36981
* vim-patch:9.1.0981: tests: typo in test_filetype.vim (#31794)zeertzjq2024-12-31
| | | | | | | | | | | | Problem: tests: typo in test_filetype.vim Solution: fix comment, update lnkmap syntax file and add DESCT keyword (Wu, Zhenyu) closes: vim/vim#16348 https://github.com/vim/vim/commit/2bee7e43e137bcef62e6872791e2be7ce9c32703 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* vim-patch:48fa319: syntax(sh): Improve the recognition of bracket expressionsChristian Clason2024-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Define a general non-"contained" "shBracketExpr" group, and replace with it the "contained" bracket variant of "shOperator", adjusting the patterns for the competing conditional commands "[" and "[[". - Accommodate some unbalanced brackets (e.g. "[!][!]"). - Make the leading "!" (or "^") stand out in NON-matching bracket expressions. - Support literal newlines in parametric patterns (along with pathname globbings and "case" patterns). - Also match bracket expressions in: * parametric patterns (e.g. "${1#[ab]_}"); * pathname globbings (e.g. "[ab]*.txt"); * arguments for the "[[", "echo", and "print" commands. - Recognise collating symbols (e.g. "[.a.]") and equivalence classes (e.g. "[=a=]"). - Recognise end patterns for a pattern substitution form of parameter expansion and match bracket expressions in such patterns (e.g. "${1/%[.!]/;}"). fixes vim/vim#15799 closes: vim/vim#15941 References: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap09.html#tag_09_03_05 https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#tag_19_14 https://git.savannah.gnu.org/gitweb/?p=bash.git;a=blob_plain;f=doc/bash.html;hb=37b7e91d64ad10b1a1815d12128c9475636df670 http://www.mirbsd.org/htman/i386/man1/mksh.htm https://github.com/vim/vim/commit/48fa3198b7118023fea4b15015a97c920887eb07 Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>