aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge pull request #24926 from bfredl/tsfreebfredl2023-08-29
|\ | | | | fix(treesitter): fix another TSNode:tree() double free
| * fix(treesitter): fix another TSNode:tree() double freebfredl2023-08-29
| | | | | | | | | | | | | | Unfortunately the gc=false objects can refer to a dangling tree if the gc=true tree was freed first. This reuses the same tree object as the node itself is keeping alive via the uservalue of the node userdata. (wrapped in a table due to lua 5.1 restrictions)
* | vim-patch:0382f05dbd65Christian Clason2023-08-29
| | | | | | | | | | | | | | | | runtime: Set b:undo_indent where missing (vim/vim#12944) https://github.com/vim/vim/commit/0382f05dbd659d8e39ee4e71c1e5062ac5c0a8fd Co-authored-by: dkearns <dougkearns@gmail.com>
* | vim-patch:f937ab32a1acChristian Clason2023-08-29
|/ | | | | | | | runtime: Set b:undo_ftplugin where missing (vim/vim#12943) https://github.com/vim/vim/commit/f937ab32a1ac3a560f217ca4ce8305ab2d5b0b74 Co-authored-by: dkearns <dougkearns@gmail.com>
* fix(treesitter): fix TSNode:tree() double free (#24796)nwounkn2023-08-29
| | | | | | | | | Problem: `push_tree`, every time its called for the same TSTree with `do_copy=false` argument, creates a new userdata for it. Each userdata, when garbage collected, frees the same TSTree C object. Solution: Add flag to userdata, which indicates, should C object, which userdata points to, be freed, when userdata is garbage collected.
* Merge pull request #24912 from bfredl/topline2bfredl2023-08-29
|\ | | | | fix(api): better topline adjustments in nvim_buf_set_lines
| * fix(api): better topline adjustments in nvim_buf_set_linesbfredl2023-08-29
| | | | | | | | | | | | | | Some more reasonable defaults for topline: - if topline was replaced with another line, that now becomes topline - if line was inserted just before topline, display it. This is more similar to the previous API behavior.
* | fix(treesitter): update folds only once on InsertLeaveJaehwang Jung2023-08-29
| | | | | | | | | | | | | | | | | | | | Problem: With treesitter fold, InsertLeave can be slow, because a single session of insert mode may schedule multiple fold updates in on_bytes and on_changedtree. Solution: Don't create duplicate autocmds.
* | build(deps): bump luajit to HEAD - 83954100dChristian Clason2023-08-29
|/
* vim-patch:9.0.1813: linebreak incorrect drawn with breakindent (#24917)zeertzjq2023-08-29
| | | | | | | | | Problem: 'linebreak' is incorrectly drawn after 'breakindent'. Solution: Don't include 'breakindent' size when already after it. closes: vim/vim#12937 closes: vim/vim#12940 https://github.com/vim/vim/commit/1d3e0e8f3110a7807431eae056914ccea57b057b
* build(deps): bump tree-sitter to HEADAmaan Qureshi2023-08-29
|
* feat(terminal): allow :terminal to take modifiers (#15427)Gregory Anders2023-08-28
| | | | | | | | | | | The following modifiers are all now supported: :tab term :vertical term :horizontal term :botright term :topleft term Fixes: https://github.com/neovim/neovim/issues/11385
* Merge pull request #24913 from bfredl/lastlinebfredl2023-08-28
|\ | | | | fix(api): handle clearing out last line of non-current buffer
| * fix(api): handle clearing out last line of non-current bufferbfredl2023-08-28
|/ | | | fixes #24911
* vim-patch:535b9e12d02fChristian Clason2023-08-28
| | | | | | | | | | runtime(typescript): Fix highlighting symbols after number literal (vim/vim#12911) fixes vim/vim#12831 https://github.com/vim/vim/commit/535b9e12d02f5fef969fb680d579c586bd5f40db Co-authored-by: Herrington Darkholme <2883231+HerringtonDarkholme@users.noreply.github.com>
* vim-patch:9.0.1810: camel-case spelling has issues with digits (#24909)zeertzjq2023-08-28
| | | | | | | | | | | | | | | Problem: camel-case spelling has issues with digits Solution: Improve the camCase spell checking by taking digits and caps into account Rewrite the conditions to check for word boundaries by taking into account the presence of digits and all-caps sequences such as acronyms. closes: vim/vim#12644 closes: vim/vim#12933 https://github.com/vim/vim/commit/d08745040bb82c5e9a81b6c8a414e50951642492 Co-authored-by: LemonBoy <thatlemon@gmail.com>
* vim-patch:9.0.1798: The 'syntax' option has no completion. (#24908)zeertzjq2023-08-28
| | | | | | | | | | | | | Problem: The 'syntax' option has no completion. Solution: Add syntax option completion. closes: vim/vim#12900 https://github.com/vim/vim/commit/6dfdff3f273dcea29099d81e3eceb871ae089998 N/A patches: vim-patch:9.0.1795: Indentation issues Co-authored-by: Doug Kearns <dougkearns@gmail.com>
* Merge pull request #24853 from zeertzjq/inline-virt-eolzeertzjq2023-08-28
|\ | | | | fix(ui): wrong cursor position with left gravity inline virt text at eol
| * vim-patch:9.0.1802: Multiline regex with Visual selection fails with virtual ↵zeertzjq2023-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | text Problem: Multiline regex with Visual selection fails when Visual selection contains virtual text after last char. Solution: Only include virtual text after last char when getting full line length. closes: vim/vim#12908 https://github.com/vim/vim/commit/e3daa06be1a3ba7ced0735582467d092275e591c
| * vim-patch:9.0.1800: Cursor position still wrong with 'showbreak' and virtual ↵zeertzjq2023-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | text Problem: Cursor position still wrong with 'showbreak' and virtual text after last character or 'listchars' "eol". Solution: Remove unnecessary w_wcol adjustment in curs_columns(). Also fix first char of virtual text not shown at the start of a screen line. closes: vim/vim#12478 closes: vim/vim#12532 closes: vim/vim#12904 https://github.com/vim/vim/commit/6a3897232aecd3e8b9e8b23955e55c1993e5baec
| * fix(ui): wrong cursor position with left gravity inline virt text at eolzeertzjq2023-08-28
|/
* fix(editorconfig): do not set 'endofline'Lewis Russell2023-08-27
| | | | | | | | | | | Problem: 'endofline' can be used to detect if a file ends of <EOL>, however editorconfig can break this. Solution: Set 'endofline' during BufWritePre Fixes: #24869
* docs: update luvref.txt for version infozhaozg2023-08-27
| | | | fixup: #24874
* feat(issue_template): instruct not to include a package managerLewis Russell2023-08-27
|
* feat(builtin): improve typesLewis Russell2023-08-27
|
* vim-patch:9.0.1792: problem with gj/gk/gM and virtual text (#24898)zeertzjq2023-08-27
| | | | | | | | | Problem: Normal mode "gM", "gj", "gk" commands behave incorrectly with virtual text. Solution: Use linetabsize() instead of linetabsize_str(). closes: vim/vim#12909 https://github.com/vim/vim/commit/d809c0a90387a23aed21ba37d0b65332fb5dafe7
* Merge pull request #24889 from bfredl/toplinebfredl2023-08-27
|\ | | | | fix(api): fix issues with nvim_buf_set_lines refactor
| * fix(undo): fix crash caused by checking undolevels in wrong bufferbfredl2023-08-27
| | | | | | | | fixes #24894
| * fix(api): fix inconsistent behavior of topline touched in recent refactorbfredl2023-08-27
|/ | | | | | | | | | | | | | | | The change in #24824 0081549 was not a regression, however it was an incomplete change. Unfortunately some common plugins come to depend on this exising self-inconsistent behavior. These plugins are going to need to update for 0.10 nvim_buf_set_lines used to NOT adjust the topline correctly if a buffer was displayed in just one window. However, if displayed in multiple windows, it was correctly adjusted for any window not deemed the current window for the buffer (which could be an arbitrary choice if the buffer was not already current, as noted in the last rafactor) This fixes so that all windows have their topline adjusted. The added tests show this behavior, which should be the reasonable one.
* fix(types): add some return/parameter type annotations (#24867)Maria José Solano2023-08-27
| | | | | * fix(types): add some return/parameter type annotations * fix(types): narrow stdpath parameter further
* fix(treesitter): validate window before updating preview highlightsMaria José Solano2023-08-27
|
* feat(l10n): update Ukrainian translations (#24882)Anatolii Sakhnik2023-08-27
| | | | * optwin * synchronize with Vim
* build(deps): bump tree-sitter-python to v0.20.4Sanchayan Maity2023-08-27
|
* build(deps): bump luv to HEAD dcd1a1czhaozg2023-08-27
|
* refactor(buf_init_chartab): remove redundant loop (#24891)julio-b2023-08-27
|
* Merge pull request #24739 from echasnovski/win-footerbfredl2023-08-26
|\ | | | | feature: add floating window footer text
| * feat(highlight): add `FloatFooter` highlight groupEvgeni Chasnovski2023-08-26
| | | | | | | | | | | | Problem: No clear separation of floating title and footer highlighting. Solution: Add new `FloatFooter` highlight group.
| * feat(float): implement footerEvgeni Chasnovski2023-08-26
| | | | | | | | | | | | | | | | Problem: Now way to show text at the bottom part of floating window border (a.k.a. "footer"). Solution: Allows `footer` and `footer_pos` config fields similar to `title` and `title_pos`.
| * refactor(float): extract "title" and "title_pos" handlingEvgeni Chasnovski2023-08-26
|/
* fix(statuscolumn): force full redraw when signcolumn is invalid (#24859)luukvbaal2023-08-26
| | | Fix #24655
* Merge pull request #24399 from lambdalisue/fix-messagepack-rpcbfredl2023-08-26
|\ | | | | feat(msgpack_rpc): add a new `msgpack-rpc` client type to fix behavior with MessagePack-RPC compliant clients
| * docs(megpack_rpc): add news entry for msgpack-rpc client typeAlisue2023-08-26
| |
| * docs(msgpack_rpc): add "msgpack-rpc" client typeAlisue2023-08-26
| |
| * feat(msgpack_rpc): support out-of-order responses on `msgpack-rpc`Alisue2023-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | Added to support MessagePack-RPC fully compliant clients that do not return responses in request order. Although it is currently not an efficient implementation for full compliance and full compliance cannot be guaranteed, the addition of the new client type `msgpack-rpc` creates a situation where "if the client type is `msgpack-rpc`, then backward compatibility is ignored and full compliance with MessagePack- RPC compliance is justified even if backward compatibility is ignored if the client type is `msgpack-rpc`.
| * feat(msgpack-rpc): show actual request id in error messageAlisue2023-08-26
| |
* | fix(extmarks): wrong display when changing text with virt_lines (#24879)Ibby2023-08-26
| |
* | Merge pull request #24824 from bfredl/nocurbufbfredl2023-08-26
|\ \ | |/ |/| refactor(change): do API changes to buffer without curbuf switch
| * refactor(change): do API changes to buffer without curbuf switchbfredl2023-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the messy things when changing a non-current buffer is not about the buffer, it is about windows. In particular, it is about `curwin`. When editing a non-current buffer which is displayed in some other window in the current tabpage, one such window will be "borrowed" as the curwin. But this means if two or more non-current windows displayed the buffers, one of them will be treated differenty. this is not desirable. In particular, with nvim_buf_set_text, cursor _column_ position was only corrected for one single window. Two new tests are added: the test with just one non-current window passes, but the one with two didn't. Two corresponding such tests were also added for nvim_buf_set_lines. This already worked correctly on master, but make sure this is well-tested for future refactors. Also, nvim_create_buf no longer invokes autocmds just because you happened to use `scratch=true`. No option value was changed, therefore OptionSet must not be fired.
* | build: fix "make iwyu" not working (#24873)zeertzjq2023-08-26
|/
* refactor: move some structs out of buffer_defs.h (#24878)zeertzjq2023-08-26
|