neovim/test/unit
Björn Linse 95ab979fde refactor(extmarks): use a more efficient representation
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.
2022-01-15 22:08:12 +01:00
..
api refactor(api): break out Vim script functions to its own file 2021-10-29 16:59:53 +02:00
charset chore: fix typos (#16816) 2022-01-04 11:07:40 -07:00
eval vim-patch:8.2.1473: items in a list given to :const can still be modified 2021-09-16 00:13:41 +01:00
fixtures *: Add comment to all C files 2017-04-19 19:11:50 +03:00
os chore: fix typos (#16816) 2022-01-04 11:07:40 -07:00
viml fix(highlight): remove syncolor.vim 2021-07-27 14:14:30 -06:00
buffer_spec.lua vim-patch:8.2.1909: number of status line items is limited to 80 2020-10-31 19:54:06 -04:00
fileio_spec.lua unittests: Check core dumps in after_each, like in functests 2017-03-11 23:23:49 +03:00
formatc.lua test/unit/formatc: Fix parsing of most recent viml_parser_highlight 2017-10-16 03:03:34 +03:00
garray_spec.lua chore: fix typos (#16816) 2022-01-04 11:07:40 -07:00
helpers.lua vim-patch:8.0.1554: custom plugins loaded with --clean 2020-06-18 18:01:41 -04:00
keymap_spec.lua os/input.c: parse keycodes in non-string context #7411 2018-01-18 01:37:51 +01:00
marktree_spec.lua refactor(extmarks): use a more efficient representation 2022-01-15 22:08:12 +01:00
mbyte_spec.lua build/doc/CI: remove/update quickbuild references #11258 2019-10-19 18:04:08 -07:00
memory_spec.lua unittests: Check core dumps in after_each, like in functests 2017-03-11 23:23:49 +03:00
message_spec.lua unittests: Update test/unit/message_spec.lua 2017-03-11 23:26:33 +03:00
multiqueue_spec.lua unittests: Use more adequate names for some functions 2017-03-12 02:54:23 +03:00
option_spec.lua unittests: Check core dumps in after_each, like in functests 2017-03-11 23:23:49 +03:00
path_spec.lua vim-patch:8.2.3468: problem with :cd when editing file in non-existent directory 2021-11-19 20:07:04 +08:00
preload.lua unittests: Check core dumps in after_each, like in functests 2017-03-11 23:23:49 +03:00
preprocess.lua Revert "tests: unit: fix preprocess: pass -m32 for 32bit ABI (#11073)" 2021-08-16 00:02:22 -04:00
profile_spec.lua unittests: Do not import libnvim or headers in main process 2017-03-11 23:23:49 +03:00
rbuffer_spec.lua unittests: Use more adequate names for some functions 2017-03-12 02:54:23 +03:00
search_spec.lua search.c: remove dead code #5307 2019-03-02 03:13:00 +01:00
set.lua unittests: Move filtering cdefs to main process 2017-03-12 03:02:14 +03:00
strings_spec.lua tests: Add tests for vim_strchr 2017-05-09 14:41:23 +03:00
tempfile_spec.lua unittests: avoid using pattern matching on file names 2017-03-16 06:58:15 -04:00
testtest_spec.lua unittests: Collect traces 2017-04-01 12:25:10 +03:00
tui_spec.lua test,unit: Change test according to change of bg color response processing 2020-11-20 09:26:17 -05:00
undo_spec.lua refactor(undo): don't assume curbuf in u_compute_hash 2021-07-09 15:36:07 +02:00