neovim/test/unit
bfredl 9af2be292d perf(extmarks): add metadata for efficient filtering of special decorations
This expands on the global "don't pay for what you don't use" rules for
these special extmark decorations:

- inline virtual text, which needs to be processed in plines.c when we
  calculate the size of text on screen
- virtual lines, which are needed when calculating "filler" lines
- signs, with text and/or highlights, both of which needs to be
  processed for the entire line already at the beginning of a line.

This adds a count to each node of the marktree, for how many special
marks of each kind can be found in the subtree for this node. This makes
it possible to quickly skip over these extra checks, when working in
regions of the buffer not containing these kind of marks, instead of
before where this could just be skipped if the entire _buffer_
didn't contain such marks.
2024-01-22 19:03:32 +01:00
..
api
charset
eval test: do not inject vim module into global helpers 2024-01-12 12:04:18 +00:00
fixtures
os test: use vim.mpack and vim.uv directly 2024-01-12 12:04:20 +00:00
viml test: move format_{string,luav} to a separate module 2024-01-17 10:10:17 +00:00
buffer_spec.lua
fileio_spec.lua
formatc.lua
garray_spec.lua
helpers.lua test: refactor Paths 2024-01-17 10:10:17 +00:00
indent_spec.lua
keycodes_spec.lua
marktree_spec.lua perf(extmarks): add metadata for efficient filtering of special decorations 2024-01-22 19:03:32 +01:00
mbyte_spec.lua
memory_spec.lua
message_spec.lua
msgpack_spec.lua
multiqueue_spec.lua
optionstr_spec.lua
path_spec.lua test: use vim.mpack and vim.uv directly 2024-01-12 12:04:20 +00:00
preload.lua
preprocess.lua
profile_spec.lua
rbuffer_spec.lua
search_spec.lua
set.lua
statusline_spec.lua refactor(options): use schar_T representation for fillchars and listchars 2024-01-08 14:37:55 +01:00
strings_spec.lua
tempfile_spec.lua
testtest_spec.lua
undo_spec.lua test: remove helpers.sleep() 2024-01-12 12:04:19 +00:00