aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix(lsp): add foldingrange method support check #31463Tristan Knight2024-12-06
| | | | | | Problem: The folding_range request method assumes that the client supports the method Solution: Add a capability guard to the call
* docs: do not escape Lua keywords #31467Gregory Anders2024-12-06
|
* Merge #30085 #trim! all whitespaceJustin M. Keyes2024-12-06
|\
| * test(treesitter): add a simple testutil fileRiley Bruins2024-12-06
| | | | | | | | The util file, for now, just abstracts the common `run_query` function.
| * feat(treesitter): #trim! can trim all whitespaceRiley Bruins2024-12-06
| | | | | | | | | | | | | | | | | | | | This commit also implements more generic trimming, acting on all whitespace (charwise) rather than just empty lines. It will unblock https://github.com/nvim-treesitter/nvim-treesitter/pull/3442 and allow for properly concealing markdown bullet markers regardless of indent width, e.g.
* | feat(defaults): disable 'foldcolumn' in terminal buffers (#31480)Micah Halter2024-12-06
|/
* fix(filetype): make filetype detection work with :doautocmd (#31470)zeertzjq2024-12-06
|
* docs: delineate blocks/list items #30973Brian A. Weston2024-12-06
| | | | | Problem: Paragraph below bulleted list was joined to last list item instead of dropping below as expected. Same with "Notes:" paragraph below it. Solution: Added necessary newlines.
* fix(completion): avoid deleting text when completion leader changes #31448luukvbaal2024-12-06
| | | | | | | Problem: When completion leader changes, text that might be reinserted immediately after is deleted. This unnecessarily affects extmarks. #31387 restored the original extmarks but that prevents end_right_gravity marks from growing. Solution: Avoid deleting leader text that will be reinserted.
* fix(events): don't expand `args.file` for Lua callback (#31473)zeertzjq2024-12-06
| | | | | | | | Problem: In an autocommand Lua callback whether `args.file` is expanded depends on whether `expand('<afile>')` has been called. Solution: Always use the unexpanded file name for `args.file`. Related to #31306 and vim/vim#16106. This doesn't provide `sfname`, but at least makes `args.file` have a consistent value.
* vim-patch:9.1.0906: filetype: Nvidia PTX files are not recognizedChristian Clason2024-12-06
| | | | | | | | | | | | | Problem: filetype: Nvidia PTX files are not recognized Solution: detect '*.ptx' files as ptx filetype (Yinzuo Jiang) Reference: https://docs.nvidia.com/cuda/parallel-thread-execution/ closes: vim/vim#16171 https://github.com/vim/vim/commit/bdb5f85a5189534653f36e92b1bc780ca8d25218 Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
* vim-patch:ea0e41a: runtime(doc): make tag alignment more consistent in ↵zeertzjq2024-12-06
| | | | | | | | | | | | filetype.txt (#31459) closes: vim/vim#16169 https://github.com/vim/vim/commit/ea0e41a1152378358975e5021ea9f5540dabf542 Omit Lua folding. N/A patch: vim-patch:fdfcce5: runtime(lua): add optional lua function folding
* fix(diagnostic): only store quickfix id when creating a new one #31466Jeremy Fleischman2024-12-05
| | | | | | The old code would always update `_qf_id` with the current quickfix, even if you're currently looking at a completely different, non-diagnostics quickfix list. This completely defeats the intent of <https://github.com/neovim/neovim/pull/30868>, whoops!
* docs: graduate intro.txt to "flow layout" #31462Justin M. Keyes2024-12-05
| | | - move credits and backers to credits.txt
* Merge #31451 docsJustin M. Keyes2024-12-05
|\
| * docs: graduate gui.txt to "flow layout"Justin M. Keyes2024-12-05
| |
| * docs: help tags for neovim.io searchesJustin M. Keyes2024-12-04
| |
* | fix(defaults): don't replace keycodes in Visual search mappings (#31460)zeertzjq2024-12-05
| | | | | | Also remove "silent" to be more consistent with Normal mode search.
* | vim-patch:9.1.0903: potential overflow in spell_soundfold_wsal() (#31456)glepnir2024-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: potential overflow in spell_soundfold_wsal() Solution: Protect wres from buffer overflow, by checking the length (Zdenek Dohnal) Error: OVERRUN (CWE-119): vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that "reslen" is 254 on the false branch. vim91/src/spell.c:3833: incr: Incrementing "reslen". The value of "reslen" is now 255. vim91/src/spell.c:3792: overrun-local: Overrunning array "wres" of 254 4-byte elements at element index 254 (byte offset 1019) using index "reslen - 1" (which evaluates to 254). 3789| { 3790| // rule with '<' is used 3791|-> if (reslen > 0 && ws != NULL && *ws != NUL 3792| && (wres[reslen - 1] == c 3793| || wres[reslen - 1] == *ws)) Error: OVERRUN (CWE-119): vim91/src/spell.c:3819: cond_const: Checking "reslen < 254" implies that "reslen" is 254 on the false branch. vim91/src/spell.c:3833: overrun-local: Overrunning array "wres" of 254 4-byte elements at element index 254 (byte offset 1019) using index "reslen++" (which evaluates to 254). 3831| { 3832| if (c != NUL) 3833|-> wres[reslen++] = c; 3834| mch_memmove(word, word + i + 1, 3835| sizeof(int) * (wordlen - (i + 1) + 1)); related: vim/vim#16163 https://github.com/vim/vim/commit/39a94d20487794aeb722c21e84f8816e217f0cfe Co-authored-by: Zdenek Dohnal <zdohnal@redhat.com>
* | vim-patch:9.1.0905: Missing information in CompleteDone event (#31455)glepnir2024-12-05
| | | | | | | | | | | | | | | | | | Problem: Missing information in CompleteDone event Solution: add complete_word and complete_type to v:event dict (glepnir) closes: vim/vim#16153 https://github.com/vim/vim/commit/1c5a120a701fcf558617c4e70b5a447778f0e51d
* | test(system_spec): check for .git dir before using git (#31458)zeertzjq2024-12-05
| |
* | refactor(runtime.c): miscLewis Russell2024-12-04
| |
* | misc: keep deprecated vim.loader.disable stub (#31450)Gregory Anders2024-12-04
| | | | | | | | Transitional stub to minimize breaking change pain, to be removed after 0.11 release.
* | docs: mention new terminal defaults (#31449)Gregory Anders2024-12-04
| |
* | feat(diagnostic): vim.diagnostic.setqflist improvements #30868Jeremy Fleischman2024-12-04
|/ | | | | | 1. Use the new "u" action to update the quickfix list so we don't lose our position in the quickfix list when updating it. 2. Rather than creating a new quickfix list each time, update the exiting one if we've already created one.
* test(screen): adjust screen state per stylua #31441luukvbaal2024-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | Before: screen:expect({ | screen:expect({ grid = [[ | grid = [[ {10:>!}a | | line ^1 | {7: }b | | {1:~ }|*4 {10:>>}c | | ]], messages={ { {7: }^ | | content = { { "\ntest\n[O]k: ", 6, 11 } }, {1:~ }|*9 | kind = "confirm" | | } } ]] | }) }) After: screen:expect([[ | screen:expect({ {10:>!}a | | grid = [[ {7: }b | | line ^1 | {10:>>}c | | {1:~ }|*4 {7: }^ | | ]], {1:~ }|*9 | messages = { { | | content = { { "\ntest\n[O]k: ", 6, 11 } }, ]]) | kind = "confirm" | } }, | })
* Merge #31358 fix test failures for release / tarball buildsJustin M. Keyes2024-12-04
|\
| * test(marktree): expose test functions in release buildsJames McCoy2024-12-03
| | | | | | | | | | | | In order to run the marktree unit test in release mode, the test functions need to be available even when NDEBUG is defined. Keep the body of marktree_check a nop during release builds, which limits the usefulness of the testing, but at least lets the tests run.
| * ci: run tests directly rather than via the MakefileJames McCoy2024-12-03
| | | | | | | | Since the Makefile is not used to build, running the tests via the Makefile causes cmake to reconfigure and revert the release build back to debug.
| * test(main_spec): make "nvim -v" test agnostic to build typeJames McCoy2024-12-03
| | | | | | | | In release builds, the Compilation: line is omitted so the build is reproducible. Since the "fall-back for $VIM" line is always present, check for that instead.
| * test(version_spec): expect vim.NIL, not nil, for "build" if not in a git cloneJames McCoy2024-12-03
| |
| * test(main_spec): use CMakePresets.json instead of .git for root markerJames McCoy2024-12-03
| |
| * ci(test): remove the .git directory for LinuxJames McCoy2024-12-03
| | | | | | | | | | | | | | Tests should not rely on being run inside a git clone, so the Linux builds cover this use case. The macOS builds will continue running with the .git directory so there's still unix-ish coverage within a git clone.
| * ci: run one set of tests with a release buildJames McCoy2024-12-03
| | | | | | | | | | | | This ensures that no tests fail due to differences between release and debug builds. The release build-type check is now unnecessary, too, so remove it.
* | fix(vim.system): close pipe handles after process handleLewis Russell2024-12-04
| | | | | | | | Fixes #30846
* | defaults: disable 'number', 'relativenumber', and 'signcolumn' in terminal ↵Gregory Anders2024-12-04
| | | | | | | | buffers (#31443)
* | fix(column): check if signcolumn changed in all windows #31439luukvbaal2024-12-04
| |
* | feat(lsp): deprecate vim.lsp.start_client #31341Maria José Solano2024-12-04
| | | | | | | | | | | | | | | | Problem: LSP module has multiple "start" interfaces. Solution: - Enhance vim.lsp.start - Deprecate vim.lsp.start_client
* | vim-patch:9.1.0902: filetype: Conda configuration files are not recognized ↵zeertzjq2024-12-04
| | | | | | | | | | | | | | | | | | | | | | (#31445) Problem: filetype: Conda configuration files are not recognized Solution: detect '.condarc' and 'condarc' files as yaml filetype. (zeertzjq) closes: vim/vim#16162 https://github.com/vim/vim/commit/876de275cb3affa5910664cc52a5177c214313e8
* | docs: misc, help tags for neovim.io searches #31428Justin M. Keyes2024-12-03
| | | | | | | | | | | | | | | | | | | | Problem: Various keywords are commonly searched-for on https://neovim.io, but don't have help tags. Solution: Add help tags. fix #31327
* | fix(clipboard): tmux clipboard depends on $TMUX #31268wzy2024-12-03
| | | | | | | | | | | | | | Problem: tmux clipboard not used when tmux is a daemon and $TMUX is empty. Solution: If `tmux list-buffers` succeeds, use tmux clipboard.
* | fix(decorator): noisy errors from decoration provider #31418JD2024-12-03
|/ | | | | | | Problem: A broken decoration provider can cause endless errors. #27235 Solution: Don't show decorator errors when they exceed `DP_MAX_ERROR`.
* Merge pull request #31408 from jamessan/vterm-test-fixtureJames McCoy2024-12-03
|\ | | | | test(vterm): move test functions into vterm_test fixture
| * test(vterm): move test functions into vterm_test fixtureJames McCoy2024-12-02
|/ | | | | | | In order to run unittests with a release build, we need the test functions to be accessible when NDEBUG is defined. Moving the functions into the test fixture ensures they are available and only available for use by the unit tests.
* vim-patch:9.1.0900: Vim9: digraph_getlist() does not accept bool arg (#31431)zeertzjq2024-12-03
| | | | | | | | | | | | Problem: Vim9: digraph_getlist() does not accept bool argument (Maxim Kim) Solution: accept boolean as first argument (Yegappan Lakshmanan) fixes: vim/vim#16154 closes: vim/vim#16159 https://github.com/vim/vim/commit/198ada3d9f48c6556d20c4115ec500555b118aad Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* docs: provide example for configuring LSP foldexpr (#31411)Gregory Anders2024-12-02
| | | | | Using the "supports_method" function with a client capability inside of an LspAttach autocommand is the preferred method to do this, so we should be showing users how to do it.
* fix(extmark): builtin completion can still affect nearby extmarks #31387luukvbaal2024-12-02
| | | | | | | Problem: Built-in completion can still affect nearby extmarks. #31384 Solution: Restore extmarks when completion leader changes.
* test(treesitter): global highlight definitions and fold test #31407luukvbaal2024-12-02
| | | | Add test for foldtext= highlighting. Change file to global highlight definitions while at it.
* fix(api): deprecate nvim_subscribe, nvim_unsubscribe #30456Justin M. Keyes2024-12-02
| | | | | | | | | | | | | | | | | | | | | | | | Problem: - nvim_subscribe, nvim_unsubscribe were deprecated in aec4938a21a02d279d13a9eb64ef3b7cc592c374 but this wasn't set in the API metadata. - The function annotations ``` FUNC_API_SINCE(1) FUNC_API_REMOTE_ONLY FUNC_API_DEPRECATED_SINCE(13) ``` cause this test to fail: ``` RUN T3 api metadata functions are compatible with old metadata or have new level: 3.00 ms ERR test/functional/api/version_spec.lua:135: function vim_subscribe was removed but exists in level 0 which nvim should be compatible with stack traceback: test/functional/api/version_spec.lua:135: in function <test/functional/api/version_spec.lua:128> ``` Solution: - Set the API metadata. - Rearrange the annotations so that FUNC_API_DEPRECATED_SINCE is 2nd: ``` FUNC_API_SINCE(1) FUNC_API_DEPRECATED_SINCE(13) FUNC_API_REMOTE_ONLY ```
* vim-patch:768728b: runtime(doc): Update documentation for "noselect" in ↵dundargoc2024-12-02
| | | | | | | | | | | | | 'completeopt' In particular, make the distinction and interaction between "noinsert" and "noselect" clearer as it was very confusing before. closes: vim/vim#16148 https://github.com/vim/vim/commit/768728b48751c5e937409d12d98bfa1fb4c37266 Co-authored-by: dundargoc <gocdundar@gmail.com>