summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim/_meta/api_keysets.lua
AgeCommit message (Collapse)AuthorFiles
2023-12-26feat(extmarks): add virt_text_repeat_linebreak flag (#26625)luukvbaal1
Problem: Unable to predict which byte-offset to place virtual text to make it repeat visually in the wrapped part of a line. Solution: Add a flag to nvim_buf_set_extmark() that causes virtual text to repeat in wrapped lines.
2023-12-16feat(ui): completeopt support popup like vimmathew1
2023-12-14feat(nvim_open_term): convert LF => CRLF (#26384)Raphael1
Problem: Unlike termopen(), nvim_open_term() PTYs do not carriage-return the cursor on newline ("\n") input. nvim --clean :let chan_id = nvim_open_term(1, {}) :call chansend(chan_id, ["here", "are", "some", "lines"]) Actual behavior: here are some lines Expected behaviour: here are some lines Solution: Add `force_crlf` option, and enable it by default.
2023-12-05refactor(api): complete conversion from `Dictionary` to `Dict(opts)` (#26365)Riccardo Mazzarini1
2023-11-08feat(extmarks): add 'invalidate' property to extmarksLuuk van Baal1
Problem: No way to have extmarks automatically removed when the range it is attached to is deleted. Solution: Add new 'invalidate' property that will hide a mark when the entirety of its range is deleted. When "undo_restore" is set to false, delete the mark from the buffer instead.
2023-10-10docs: miscellaneous doc and type fixes (#25554)Maria José Solano1
2023-10-01Merge pull request #25455 from bfredl/highlight_namespace_gettersbfredl1
feat(ui): allow to get the highlight namespace. closes #24390
2023-10-01feat(ui): allow to get the highlight namespaceDaniel Steinberg1
2023-09-30feat(float): support toggle show float windowglepnir1
2023-09-26Merge pull request #25229 from glepnir/20323bfredl1
fix(highlight): add force in nvim_set_hl
2023-09-26fix(highlight): add force in nvim_set_hlglepnir1
2023-09-18fix(float): add fixd optionglepnir1
2023-09-12feat(extmark): support proper multiline rangesbfredl1
The removes the previous restriction that nvim_buf_set_extmark() could not be used to highlight arbitrary multi-line regions The problem can be summarized as follows: let's assume an extmark with a hl_group is placed covering the region (5,0) to (50,0) Now, consider what happens if nvim needs to redraw a window covering the lines 20-30. It needs to be able to ask the marktree what extmarks cover this region, even if they don't begin or end here. Therefore the marktree needs to be augmented with the information covers a point, not just what marks begin or end there. To do this, we augment each node with a field "intersect" which is a set the ids of the marks which overlap this node, but only if it is not part of the set of any parent. This ensures the number of nodes that need to be explicitly marked grows only logarithmically with the total number of explicitly nodes (and thus the number of of overlapping marks). Thus we can quickly iterate all marks which overlaps any query position by looking up what leaf node contains that position. Then we only need to consider all "start" marks within that leaf node, and the "intersect" set of that node and all its parents. Now, and the major source of complexity is that the tree restructuring operations (to ensure that each node has T-1 <= size <= 2*T-1) also need to update these sets. If a full inner node is split in two, one of the new parents might start to completely overlap some ranges and its ids will need to be moved from its children's sets to its own set. Similarly, if two undersized nodes gets joined into one, it might no longer completely overlap some ranges, and now the children which do needs to have the have the ids in its set instead. And then there are the pivots! Yes the pivot operations when a child gets moved from one parent to another.
2023-09-09fix(highlight): add create param in nvim_get_hlglepnir1
2023-08-26feat(float): implement footerEvgeni Chasnovski1
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`.
2023-08-08docs(lua): the keyset nilocalypsebfredl1
This is needed to give recent LuaLS the right idea about optional fields.
2023-08-07feat(lua): use keyset type informationbfredl1
2023-08-01feat(lua-types): types for vim.api.* (#24523)Lewis Russell1