aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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>
* | feat(test): support and document lua test case debuggingMathias Fussenegger2024-12-24
|/ | | | | | | Similar to how there is a `GDB` environment variable to let the nvim test instances to be run under `gdbserver` this adds a `OSV_PORT` variable to start nvim test instances with `osv` in blocking mode to let a debug client attach to it for debugging of `exec_lua` code blocks.
* vim-patch:9.1.0958: filetype: supertux2 config files detected as lispChristian Clason2024-12-24
| | | | | | | | | | | | | | | | | | Problem: filetype: supertux2 config files detected as lisp Solution: detect supertux2 config files as scheme instead (Wu, Zhenyu) References: https://github.com/SuperTux/supertux/wiki/S-Expression supertux uses #t and #f as bool type, which is same as scheme, not common lisp closes: vim/vim#16287 https://github.com/vim/vim/commit/e62d93ead10b4c5818e3c0b7551f1784d24bfe33 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* fix(terminal): set cursor cell percentage (#31703)Gregory Anders2024-12-23
| | | Fixes: https://github.com/neovim/neovim/issues/31685
* fix(diagnostic): silence :chistory #31701Yorick Peterse2024-12-23
| | | | | | | vim.diagnostic.set_list() uses chistory to restore the actively selected entry whenever necessary. This however also results in it displaying some output in the message bar, but this output isn't useful (and can even be distracting) when opening the quickfix window. This fixes this by silencing the chistory command.
* fix(build): <termios.h> is system-dependent #31705Justin M. Keyes2024-12-23
| | | | | | | | | | | | | | | Problem: Since 2a7d0ed6145bf3f8b139c2694563f460f829813a, build fails with glibc version 2.28 / RHEL8 (where `termios.h` does not include unistd.h and is therefore missing `_POSIX_VDISABLE`): …/src/nvim/tui/termkey/termkey.c: In function 'termkey_start': …/src/nvim/tui/termkey/termkey.c:516:31: error: '_POSIX_VDISABLE' undeclared (first use in this function) 516 | termios.c_cc[VQUIT] = _POSIX_VDISABLE; | ^~~~~~~~~~~~~~~ …/src/nvim/tui/termkey/termkey.c:516:31: note: each undeclared identifier is reported only once for each function it appears in Solution: - Undo the `<termios.h>` change and mark the imports with `IWYU pragma: keep`.
* build: remove `lintcommit` from `lint` targetdundargoc2024-12-23
| | | | | | | Previously, `make lint` would invoke `lintcommit` which would fail if there were fixup or other disallowed commits. This would disrupt local development as developers would often want non-commit linting to work early on without needing to adhere to the strict commit rules.
* refactor(eval): move funcs to deprecated.c #31650Justin M. Keyes2024-12-23
|
* fix: fix broken wasmtime builddundargoc2024-12-23
| | | | | | Regression from 2a7d0ed6145bf3f8b139c2694563f460f829813a, which removed header that is only needed if wasmtime support is enabled. Prevent this from happening again by wrapping the include in a `HAVE_WASMTIME` check.
* refactor: iwyu #31637Justin M. Keyes2024-12-23
| | | Result of `make iwyu` (after some "fixups").
* docs(api): vim.version.range():has() method #31622Lukasz Piepiora2024-12-23
| | | | | | | | Problem: The :has() method of the vim.version.range() result is not documented though it's mentioned in examples. Solution: Mention it in the range() result doc.
* vim-patch:4ce1cb5: runtime(graphql): contribute vim-graphql to Vim coreChristian Clason2024-12-23
| | | | | | | | | | | | | | | | | | | Contribute the core of my vim-graphql project (ftplugin, indent, syntax) to the Vim project. This replaces the basic ftplugin support that was already in the runtime with a more complete set of filetype settings. I can assume maintainership for all of these files. I'll continue to maintain the higher-level embedded filetype support separately (in vim-graphql) for now, because it's fairly complex, but we can consider integrating that code directly into vim later. runtime files use the MIT license. closes: vim/vim#16273 https://github.com/vim/vim/commit/4ce1cb5bf1dc507224792543d8e56e6ab431a2b5 Co-authored-by: Jon Parise <jon@indelible.org>
* Merge #31661 cmdline_show/hide eventsJustin M. Keyes2024-12-22
|\
| * feat(ui): specify whether msg_show event is added to historyLuuk van Baal2024-12-23
| | | | | | | | | | Pass along whether message in msg_show event is added to the internal :messages history.
| * feat(ui): additional arguments for cmdline_show/hide eventsLuuk van Baal2024-12-22
| | | | | | | | | | | | | | | | Problem: Unable to tell what highlight the prompt part of a cmdline_show event should have, and whether cmdline_hide was emitted after aborting. Solution: Add additional arguments hl_id to cmdline_show, and abort to cmdline_hide.
* | vim-patch:9.1.0953: filetype: APKBUILD files not correctly detectedChristian Clason2024-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: APKBUILD files not correctly detected Solution: detect 'APKBUILD' files as apkbuild filetype, include a apkbuild syntax script (which basically just sources the sh.vim syntax file) (Hugo Osvaldo Barrera) Vim plugins (e.g.: ALE, nvim-lspconfig, etc) rely on filetype to determine which integrations/helpers are applicable. They expect filetype=apkbuild for APKBUILD files. On the other hand, plugins also enable bash-specific linters and functionality when filetype=bash, but APKBUILD files are POSIX sh, not bash, so these often provide bogus results. Change the filetype for APKBUILD to a 'apkbuild', so that tools and ftplugin can properly target these files. This filetype will use the existing `sh` syntax rules, since these are applicable for them. https://github.com/vim/vim/commit/7cb24917a112ba473cb351bdcdc48b8adbd46793 Co-authored-by: Hugo Osvaldo Barrera' via vim_dev <vim_dev@googlegroups.com>
* | fix(messages): typo and unwanted truncation in msg_outtrans_long #31669luukvbaal2024-12-22
| | | | | | | | | | | | | | | | | | | | - Typo/bug in msg_outtrans_long passing string length as "hist" argument. - Avoid truncating message in msg_outtrans_long with ext_messages (followup to 1097d239c307a10a87fa995c4cfbe5987939e177). - Remove `_hl` from `msg_keep`, `smsg_keep` as there is no non-`_hl` variant. - `msg_printf_hl` is removed (identical to `smsg` except it sets `msg_scroll = true`, seemingly as a caveat to force a more prompt in cmdline mode). Move this logic to the only the only place this was used in ex_getln.c.
* | vim-patch:9.1.0951: filetype: jshell files are not recognizedChristian Clason2024-12-22
| | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: jshell files are not recognized Solution: detect '*.jsh' files as java filetype (Konfekt) closes: vim/vim#16260 https://github.com/vim/vim/commit/62e3014ab1146d7f78694c97fc6974f1af2cc5af Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
* | test: format C test files and fix clang-tidy warningsdundargoc2024-12-21
| | | | | | | | | | | | | | It's probably not worth adding the C test files to regular formatting as they're pretty much never touched, but ensuring the files are formatted according to our standards and getting rid of warnings is a cheap one-time fix.
* | feat(lsp): return table from lsp/ files on runtimepath (#31663)Gregory Anders2024-12-21
| | | | | | | | | | | | | | | | Problem: LSP configs on the runtimepath must have the same name as the LSP server and must also explicitly set the name in vim.lsp.config. This is redundant and creates a footgun where a user may accidentally use the wrong name when assigning to the vim.lsp.config table. Solution: Return a table from lsp/ runtimepath files instead
* | build: bump lua dev dependenciesdundargoc2024-12-21
| | | | | | | | | | | | | | | | | | | | | | busted: 2.1.1 -> 2.2.0 https://github.com/lunarmodules/busted/releases/tag/v2.1.2 https://github.com/lunarmodules/busted/releases/tag/v2.2.0 luacheck: 1.1.0 -> 1.2.0 https://github.com/lunarmodules/luacheck/releases/tag/v1.1.1 https://github.com/lunarmodules/luacheck/releases/tag/v1.1.2 https://github.com/lunarmodules/luacheck/releases/tag/v1.2.0
* | vim-patch:70881ba: runtime(dockerfile): do not set commentstring in syntax ↵Christian Clason2024-12-21
| | | | | | | | | | | | | | | | | | | | script fixes: vim/vim#16268 https://github.com/vim/vim/commit/70881ba195d267d01df912294ddc5b5d525bba3d Co-authored-by: Christian Brabandt <cb@256bit.org>
* | vim-patch:9.1.0950: filetype: fennelrc files are not recognizedChristian Clason2024-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: fennelrc files are not recognized Solution: detect 'fennelrc' files as fennel filetype (Wu Zhenyu) References: https://github.com/bakpakin/Fennel/issues/193 closes: vim/vim#16262 https://github.com/vim/vim/commit/f173f4249fc785fb3e2b341bcfb0f21192cd4bf5 Co-authored-by: Wu, Zhenyu <wuzhenyu@ustc.edu>
* | vim-patch:c673b80: runtime(netrw): more reformating vim/vim#16248 (#31662)zeertzjq2024-12-21
|/ | | | | | | closes: vim/vim#16266 https://github.com/vim/vim/commit/c673b805ad80d0aef07e745d412a2bf298ba1c07 Co-authored-by: shane.xb.qian <shane.qian@foxmail.com>
* fix(coverity): INTEGER_OVERFLOW #31657luukvbaal2024-12-20
| | | | | | | | | | | | | | | | | | CID 516419: Integer handling issues (INTEGER_OVERFLOW) /src/nvim/message.c: 2242 in msg_puts_display() 2236 } 2237 // Concat pieces with the same highlight 2238 size_t len = maxlen < 0 ? strlen(str) : strnlen(str, (size_t)maxlen); 2239 ga_concat_len(&msg_ext_last_chunk, str, len); 2240 msg_ext_cur_len += len; 2241 // When message ends in newline, reset variables used to format message: msg_advance(). >>> CID 516419: Integer handling issues (INTEGER_OVERFLOW) >>> Expression "len - 1UL", which is equal to 18446744073709551615, where "len" is known to be equal to 0, underflows the type that receives it, an unsigned integer 64 bits wide. 2242 if (str[len - 1] == '\n') { 2243 msg_ext_cur_len = 0; 2244 msg_col = 0; 2245 } 2246 return; 2247 }
* fix(messages): no message kind for completion menu messages #31646Tomasz N2024-12-20
|
* fix(vim.system): invalid MAX_TIMEOUT for 32-bit systems #31638Dan Pascu2024-12-20
| | | | | | The maximum signed value on 32-bit systems is 2 ^ 31 - 1. When using 2 ^ 31 for the default timeout, the value would overflow on such systems resulting in a negative value, which caused a stack trace when calling wait() without a timeout.