aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | fix(marks): skip right_gravity marks when deleting textLuuk van Baal2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Marks that are properly restored by the splice associated with an undo edit, are unnecessarily pushed to the undo header. This results in incorrect mark tracking in the "copy_only" save/restore completion path. Solution: Avoid pushing left gravity marks at the beginning of the range, and right gravity marks at the end of the range to the undo header.
* | | fix(treesitter): #trim! range for nodes ending at col 0 #31488Riley Bruins2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: char-wise folding for `#trim!` ranges are improperly calculated for nodes that end at column 0, due to the way `get_node_text` works. Solution: Add the blank line that `get_node_text` removes for for nodes ending at column 0. Also properly set column positions when performing linewise trims.
* | | fix: remove vim.lsp._with_extendLewis Russell2024-12-07
| | | | | | | | | | | | Not used anywhere.
* | | fix(lsp): cancel pending requests before refreshingtris2032024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Diagnostics and inlay hints can be expensive to calculate, and we shouldn't stack them as this can cause noticeable lag. Solution: Check for duplicate inflight requests and cancel them before issuing a new one. This ensures that only the latest request is processed, improving performance and preventing potential conflicts.
* | | fix(lsp): check for configuration workspace folders when reusing clientsMaria José Solano2024-12-07
| | |
* | | fix(inspect): show priority for treesitter highlightsChristian Clason2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | Problem: `:Inspect` does not show priority for treesitter highlights, leading to confusion why sometimes earlier highlights override later highlights. Solution: Also print priority metadata if set.
* | | vim-patch:9.1.0908: not possible to configure :messages (#31492)zeertzjq2024-12-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: not possible to configure :messages Solution: add the 'messagesopt' option (Shougo Matsushita) closes: vim/vim#16068 https://github.com/vim/vim/commit/51d4d84d6a7159c6ce9e04b36f8edc105ca3794b Co-authored-by: Shougo Matsushita <Shougo.Matsu@gmail.com> Co-authored-by: h_east <h.east.727@gmail.com>
* | | feat(stdlib): vim.json.encode(...,{escape_slash:boolean}) #30561Bartłomiej Maryńczak2024-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: vim.json.encode escapes every slash in string values (for example in file paths), and is not optional. Use-case is for preventing HTML injections (eg. injecting `</script>` closing tag); in the context of Nvim this is rarely useful. Solution: - Add a `escape_slash` flag to `vim.json.encode`. - Defaults to `false`. (This is a "breaking" change, but more like a bug fix.)
* | | 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`.