aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| | * | 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>
| * | vim-patch:9a39483: runtime(typst): provide a formatlistpat in ftpluginChristian Clason2024-12-02
| | | | | | | | | | | | | | | | | | | | | | | | closes: vim/vim#16134 https://github.com/vim/vim/commit/9a39483adb418e37c672000a58792c0f0e8aa662 Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
| * | fix(ui): clamp 'cmdheight' for other tabpages on screen resize (#31419)zeertzjq2024-12-02
| | |
| * | fix(api): make `nvim_set_hl()` respect all `cterm` attributes (#31390)Evgeni Chasnovski2024-12-02
| | |
| * | vim-patch:9.1.0899: default for 'backspace' can be set in C code (#31416)zeertzjq2024-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: default for 'backspace' can be set in C code Solution: promote the default for 'backspace' from defaults.vim to the C code (Luca Saccarola) closes: vim/vim#16143 https://github.com/vim/vim/commit/959ef61430bdd8fb982b38bd3347d90251255cfc N/A patches: vim-patch:9.1.0895: default history value is too small vim-patch:075aeea: runtime(doc): document changed default value for 'history' Co-authored-by: Luca Saccarola <github.e41mv@aleeas.com>
| * | docs: example keybind for :Inspect #31391C.D. MacEachern2024-12-01
| | |
| * | Merge pull request #31370 from glepnir/vim-9.1.0867zeertzjq2024-11-30
| |\ \ | | | | | | | | vim-patch:9.1.{0867,0891,0896}
| | * | vim-patch:9.1.0896: completion list wrong after v9.1.0891glepnir2024-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: completion list wrong after v9.1.0891 Solution: update compl_mach_array after leader change (glepnir) compl_shown_match update not correct after refactoring in v9.1.0891 Unfortunately, this regressed what item is selected after leader change. So generate compl_match_array before updating compl_shown_match range, and split generate compl_match_array into range match_head fixes: https://github.com/vim/vim/issues/16128 closes: https://github.com/vim/vim/pull/16129 https://github.com/vim/vim/commit/a49c077a883b2566882df9069385ed1e1277ca64
| | * | vim-patch:9.1.0891: building the completion list array is inefficientglepnir2024-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: building the completion list array is inefficient Solution: refactor and improve ins_compl_build_pum() func (glepnir) current time complexity is O(n^2). I guess garray is not used here to save memory and avoid efficiency is caused by heap memory allocation. A simple way is to add an extra pointer as a single linked list to store the matching compl_T, and traverse this single linked list to generate compl_match_array. The time complexity is O(n x m). The worst case is m=n, but we can still get a little improvement. Because the if condition does not need to be run at one time. This should be a good solution for now. Later we may be able to complete it in O(lgn) time. But this requires more reconstruction. So this is the first step. closes: #16125 https://github.com/vim/vim/commit/80b662009c0fe8f1728a3f3a2c8013b7eebf6745
| | * | vim-patch:9.1.0867: ins_compl_add() has too many argsglepnir2024-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: ins_compl_add() has too many args Solution: refactor it and use an int array instead of 2 separate int args (glepnir) closes: vim/vim#16062 https://github.com/vim/vim/commit/5c66e23c624717216d380d938d0bba5d34a004fe Co-authored-by: glepnir <glephunter@gmail.com>
| * | | vim-patch:9.1.0898: runtime(compiler): pytest compiler not includedChristian Clason2024-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: runtime(compiler): pytest compiler not included Solution: include pytest compiler, update the compiler completion test (Konfekt) closes: vim/vim#16130 https://github.com/vim/vim/commit/3c2596a9e967910143d41fbb9615614ab36d43a7 Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
| * | | vim-patch:9.1.0897: filetype: pyrex files are not detectedChristian Clason2024-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: filetype: pyrex files are not detected Solution: detect '*.pxi' and '*.pyx+' as pyrex filetype (user202729) References: https://cython.readthedocs.io/en/latest/src/userguide/language_basics.html#cython-file-types https://www.csse.canterbury.ac.nz/greg.ewing/python/Pyrex/version/Doc/Manual/using_with_c++.html closes: vim/vim#16136 https://github.com/vim/vim/commit/aa16b30552f0c6a00dcc761e3954cd5266bf106a Co-authored-by: user202729 <25191436+user202729@users.noreply.github.com>
| * | | vim-patch:dd21c89: runtime(compiler): update eslint compilerChristian Clason2024-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compact formatter is no longer distributed with eslint, so: - switch to '--format stylish' in makeprg - update 'errorformat' for the 'stylish' format output fixes: vim/vim#16126 closes: vim/vim#16137 https://github.com/vim/vim/commit/dd21c8962680ba726ac1bf78ae106a4b6071450f Co-authored-by: Romain Lafourcade <romainlafourcade@gmail.com>
| * | | docs(diagnostics): location list / quickfix example #31371Yochem van Rosmalen2024-11-29
| | | |
| * | | refactor: gen_declarations.luaLewis Russell2024-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: gen_declarations.lua is complex and has duplicate logic with c_grammar.lua Solution: Move all lpeg logic to c_grammar.lua and refactor gen_declarations.lua.
| * | | feat(lsp): support `textDocument/foldingRange` (#31311)Yi Ming2024-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(shared): extract `vim._list_insert` and `vim._list_remove` * feat(lsp): add `vim.lsp.foldexpr()` * docs(lsp): add a todo for state management * feat(lsp): add `vim.lsp.folding_range.foldclose()` * feat(lsp): schedule `foldclose()` if the buffer is not up-to-date * feat(lsp): add `vim.lsp.foldtext()` * feat(lsp): support multiple folding range providers * refactor(lsp): expose all folding related functions under `vim.lsp.*` * perf(lsp): add `lsp.MultiHandler` for do `foldupdate()` only once