aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/deprecated.c
Commit message (Collapse)AuthorAge
* refactor(extmarks): use a more efficient representationBjörn Linse2022-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | marktree.c was originally constructed as a "generic" datatype, to make the prototyping of its internal logic as simple as possible and also as the usecases for various kinds of extmarks/decorations was not yet decided. As a consequence of this, various extra indirections and allocations was needed to use marktree to implement extmarks (ns/id pairs) and decorations of different kinds (some which is just a single highlight id, other an allocated list of virtual text/lines) This change removes a lot of indirection, by making Marktree specialized for the usecase. In particular, the namespace id and mark id is stored directly, instead of the 64-bit global id particular to the Marktree struct. This removes the two maps needed to convert between global and per-ns ids. Also, "small" decorations are stored inline, i.e. those who doesn't refer to external heap memory anyway. That is highlights (with priority+flags) are stored inline, while virtual text, which anyway occurs a lot of heap allocations, do not. (previously a hack was used to elide heap allocations for highlights with standard prio+flags) TODO(bfredl): the functionaltest-lua CI version of gcc is having severe issues with uint16_t bitfields, so splitting up compound assignments and redundant casts are needed. Clean this up once we switch to a working compiler version.
* refactor(api): break out Vim script functions to its own fileBjörn Linse2021-10-29
|
* refactor(api): move extmark API to its own fileBjörn Linse2021-10-25
|
* refactor(api): make export of functions opt-in, not opt-outBjörn Linse2021-10-03
|
* feat(decorations): support virtual lines (for now: only one block at a time)Björn Linse2021-09-26
|
* refactor: format #15702dundargoc2021-09-18
|
* feat(decorations): deprecate nvim_buf_set_virtual_textBjörn Linse2021-07-29
| | | | Full virt_text functionality is provided by nvim_buf_set_extmark
* api: move deprecated functions to separate filesBjörn Linse2020-12-05
Most these are just calls to non-deprecated variants, and take up unnecessary space and search hits in the other files.