aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | 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(jobs): do not block UI when jobwait() doesn't block (#31803)Gregory Anders2025-01-01
| | | |
| * | | fix(vim.fs.abspath): correctly handle UNC pathsdundargoc2025-01-01
| | | |
| * | | docs: misc #31479Justin M. Keyes2025-01-01
| | | |
| * | | refactor(options): use `const` in more places (#31791)Famiu Haque2025-01-01
| | | |
| * | | build(deps): bump utf8proc to v2.10.0Christian Clason2025-01-01
| | | |
| * | | fix(tui): handle key events for arrow and function keys (#31804)Gregory Anders2024-12-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Arrow and function keys do not use CSI u with the kitty keyboard protocol. For example, the Up arrow key uses CSI A, and the function keys use a variety of different CSI sequences. Until now, termkey only parsed subparams used by key events for CSI u sequences. The result being that any key which did not use CSI u (e.g. arrow and function keys) was being emitted twice by termkey since it was not recognizing the separate press and release events. This commit makes termkey also parse subparams for other key sequences so that the release key events do not send duplicate keys.
| * | | 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
| | | |
| * | | ci(news): trigger job for `perf` commit typedundargoc2024-12-31
| | | | | | | | | | | | | | | | | | | | There is a "performance" section in news.txt so it makes sense we should also give a reminder to update news for performance improvements.
| * | | test: skip flaky watchdirs() test on macosdundargoc2024-12-31
| | | |
| * | | feat(tui): handle kitty key events in libtermkey (#31727)Gregory Anders2024-12-31
| | | | | | | | | | | | | | | | | | | | | | | | Enable key event reporting in the kitty keyboard protocol. This causes supporting terminals to send key events for presses, repeats, and key releases. For now we ignore release events, but eventually we will support users mapping those.
| * | | 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>
| * | | fix(termkey): fix null pointer dereference (#31792)Gregory Anders2024-12-30
| | | |
| * | | 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>
| * | | vim-patch:9.1.0978: GUI tests sometimes fail when setting 'scroll' options ↵zeertzjq2024-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#31785) Problem: GUI tests sometimes fail when setting 'scroll' options Solution: decrease the 'scroll' and 'scrolljump' option value from 20 to 15, in case the Gui window is not large enough to handle 20. tests: decrease the scroll and scrolljump values the gui tests sometimes fail with: ``` From test_options_all.vim: Found errors in Test_opt_set_scroll(): Caught exception in Test_opt_set_scroll(): Vim(set):E49: Invalid scroll size: scroll=20 @ command line..script /home/runner/work/vim/vim/src/testdir/runtest.vim[617]..function RunTheTest[57]..Test_opt_set_scroll, line 7 Found errors in Test_opt_set_scrolljump(): Caught exception in Test_opt_set_scrolljump(): Vim(set):E49: Invalid scroll size: scrolljump=20 @ command line..script /home/runner/work/vim/vim/src/testdir/runtest.vim[617]..function RunTheTest[57]..Test_opt_set_scrolljump, line 9 ``` closes: vim/vim#16337 https://github.com/vim/vim/commit/2e1f757f7b52a00b77eb19648b7ea46e932eff2b Co-authored-by: Christian Brabandt <cb@256bit.org>
| * | | vim-patch:9.1.0977: filetype: msbuild filetypes are not recognizedChristian Clason2024-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: msbuild filetypes are not recognized Solution: detect msbuild files as xml filetype (Gustav Eikaas) closes: vim/vim#16339 https://github.com/vim/vim/commit/32b7e3a8c99d369b02154df74cbe42a37c7c7e68 Co-authored-by: GustavEikaas <gustav.eikaas@gmail.com>
| * | | fix(treesitter.foldexpr): only refresh valid buffersIgor2024-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: autocmd to refresh folds always uses the current buffer if the option type is local. However, the current buffer may not have a parser, and thus the assert that checks for a parser could fail. Solution: check if the foldinfo contains the buffer, and only refresh if so.
| * | | fix(lsp): check if sig_help window is focusable when configuring cycle keymapMaria José Solano2024-12-29
| | | |
| * | | vim-patch:9.1.0972: filetype: TI linker map files are not recognizedChristian Clason2024-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: TI linker map files are not recognized Solution: detect TI linker map files as lnkmap filetype (Wu, Zhenyu) References: https://downloads.ti.com/docs/esd/SPRUI03A/Content/SPRUI03A_HTML/linker_description.html closes: vim/vim#16324 https://github.com/vim/vim/commit/5113831d16c05f3a8b47da0c6f95a641d5fc7b2e Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
| * | | vim-patch:9.1.0971: filetype: SLNX files are not recognizedChristian Clason2024-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: SLNX files are not recognized Solution: detect '*.slnx' files as xml filetype (Gustav Eikaas) References: https://blog.ndepend.com/slnx-the-new-net-solution-xml-file-format/ https://blog.jetbrains.com/dotnet/2024/10/04/support-for-slnx-solution-files/ closes: vim/vim#16334 https://github.com/vim/vim/commit/3b3318b64043dcf29d6f06322739f695a5cc257e Co-authored-by: GustavEikaas <gustav.eikaas@gmail.com>
| * | | vim-patch:df67fc0: runtime(sh): set shellcheck as the compiler for supported ↵Christian Clason2024-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shells closes: vim/vim#16311 https://github.com/vim/vim/commit/df67fc0e6994bc92f3d82edc6269e158875defad Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
| * | | vim-patch:f2e08a1: runtime(doc): Fix documentation typos (#31768)zeertzjq2024-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#16333 https://github.com/vim/vim/commit/f2e08a1e54e1e6f594edac5cd971ac2e03896a07 Numbers with quotes are N/A. Co-authored-by: h-east <h.east.727@gmail.com>
| * | | fix(treesitter.foldexpr): refresh in the buffers affected by OptionSetJaehwang Jung2024-12-29
| | | |
| * | | vim-patch:9.1.0968: tests: GetFileNameChecks() isn't fully sorted by ↵zeertzjq2024-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | filetype name (#31763) Problem: tests: GetFileNameChecks() isn't fully sorted by filetype name Solution: re-sort the list closes: vim/vim#16322 https://github.com/vim/vim/commit/e51043ad9f8e07d4c0a1e0056a8f8853e08f6a30
| * | | vim-patch:9.1.0965: filetype: sh filetype set when detecting the use of bash ↵Luca Saccarola2024-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#31749) Problem: filetype: sh filetype set when detecting the use of bash Solution: when bash is detected, use 'bash' filetype instead (Luca Saccarola) closes: vim/vim#16309 https://github.com/vim/vim/commit/b9b762c21f2b61e0e7d8fee43d4d3dc8ecffd721
| * | | vim-patch:e6ccb64: runtime(doc): fix doc error in :r behaviour (#31755)zeertzjq2024-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#16316 https://github.com/vim/vim/commit/e6ccb643a63612f20906348f16485d724f8d7f6f Co-authored-by: Martino Ischia <ischiamartino@gmail.com>
| * | | feat(lua): add `vim.fs.abspath`Famiu Haque2024-12-28
| | | | | | | | | | | | | | | | | | | | | | | | Problem: There is currently no way to check if a given path is absolute or convert a relative path to an absolute path through the Lua stdlib. `vim.fs.joinpath` does not work when the path is absolute. There is also currently no way to resolve `C:foo\bar` style paths in Windows. Solution: Add `vim.fs.abspath`, which allows converting any path to an absolute path. This also allows checking if current path is absolute by doing `vim.fs.abspath(path) == path`. It also has support for `C:foo\bar` style paths in Windows.
| * | | vim-patch:6c57c30: runtime(compiler): include a basic bash syntax checker ↵Christian Clason2024-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compiler See @saccarosium 's suggestion at https://github.com/vim/vim/pull/16311#issuecomment-2563447885 closes: vim/vim#16314 https://github.com/vim/vim/commit/6c57c30ad43f5e0d040f7d432ceb5d61fc6ab651 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
| * | | feat(lsp): support function for client root_dir (#31630)Gregory Anders2024-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If root_dir is a function it is evaluated when the client is created to determine the root directory. This enables dynamically determining the root directory based on e.g. project or directory structure (example: finding a parent Cargo.toml file that contains "[workspace]" in a Rust project).
| * | | build(deps): bump tree-sitter to v0.24.6Christian Clason2024-12-27
| | | |
| * | | vim-patch:9.1.0962: filetype: bun.lock file is not recognizedChristian Clason2024-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: bun.lock file is not recognized Solution: detect 'bun.lock' file as jsonc filetype (Anton Kastritskii) closes: vim/vim#16308 https://github.com/vim/vim/commit/f07ae5b3bdb7331ee0e65adcb74402eef74f0a2b Co-authored-by: Anton Kastritskii <halloy52@gmail.com>
| * | | vim-patch:9.1.0963: fuzzy-matching does not prefer full match (#31741)glepnir2024-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: fuzzy-matching does not prefer full match (Maxim Kim) Solution: add additional score for a full match (glepnir) fixes: vim/vim#15654 closes: vim/vim#16300 https://github.com/vim/vim/commit/5a04999a7402201cf1b47ff10bc474dd1cdc24f4
| * | | vim-patch:9b67a2e: runtime(vim): Update base-syntax, allow parens in default ↵zeertzjq2024-12-27
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arguments (#31738) Allow parentheses in default arguments specified in :def and :function definitions. fixes vim/vim#16243 closes: vim/vim#16269 https://github.com/vim/vim/commit/9b67a2e1ddf277faf01fa957bf72f7b804a7cb7f Co-authored-by: Doug Kearns <dougkearns@gmail.com>
| * | fix(api): clamp range lines in `nvim__redraw()` (#31710)Artem2024-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `nvim__redraw()` doesn't clamp the lines in the `range` parameter before truncating to int. The resulting range may be empty when the original range contained buffer lines and vice versa. E.g. for a buffer with 4 lines, these are the redrawn lines: ```lua { 2, 2 ^ 31 } -> none (should be { 2, 3 }) { 2, 2 ^ 32 } -> none (should be { 2, 3 }) { 2 ^ 32 - 1, 2 } -> { 0, 1 } (should be none) ``` Solution: Clamp `range` values before truncating to int.
| * | vim-patch:9.1.0961: filetype: TI gel files are not recognizedChristian Clason2024-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: TI gel files are not recognized Solution: detect '*.gel' files as gel filetype, include get filetype and syntax plugins (Wu, Zhenyu) References: https://downloads.ti.com/ccs/esd/documents/users_guide/ccs_debug-gel.html closes: vim/vim#16226 https://github.com/vim/vim/commit/9360de9027aa286e802363ede59c9e97025ae123 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
| * | vim-patch:9.1.0960: filetype: hy history files are not recognizedChristian Clason2024-12-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: hy history files are not recognized Solution: detect '*.hy', '.hy-history' files as hy filetype, detect '.lips_repl_history' files are scheme filetype (Wu, Zhenyu) closes: vim/vim#16298 https://github.com/vim/vim/commit/a32daed55933df49a7aed571cc6e400ae01c7976 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
| * | docs(api): return type of nvim_get_keymap() #31708Shihua Zeng2024-12-24
| | |
| * | Merge pull request #31713 from glepnir/vim-9.1.0954zeertzjq2024-12-24
| |\ \ | | | | | | | | vim-patch:9.1.{0954,0956}
| | * | vim-patch:9.1.0956: completion may crash, completion highlight wrong with ↵glepnir2024-12-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | preview window Problem: completion may crash, completion highlight wrong with preview window (after v9.1.0954) Solution: correctly calculate scroll offset, check for preview window when adding extra highlighting (glepnir) when there have a preview window prepare_tagpreview will change curwin to preview window and this may cause ComplMatchIns check condition not correct. check wp is curwin and also the type of wp is not a preview or poup info fixes: https://github.com/vim/vim/issues/16284 closes: https://github.com/vim/vim/pull/16283 https://github.com/vim/vim/commit/8d0bb6dc9f2e5d94ebb59671d592c1b7fa325ca6
| | * | vim-patch:9.1.0954: popupmenu.c can be improvedglepnir2024-12-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: popupmenu.c can be improved Solution: slightly refactor the logic (glepnir) closes: vim/vim#16271 Replace some if blocks and combine user attr abstract to an inline function. https://github.com/vim/vim/commit/89a107efd141d5a1fed850af80a74900077666cf Co-authored-by: glepnir <glephunter@gmail.com>