neovim/test/unit
bfredl b522cb1ac3 refactor(grid): make screen rendering more multibyte than ever before
Problem: buffer text with composing chars are converted from UTF-8
to an array of up to seven UTF-32 values and then converted back
to UTF-8 strings.

Solution: Convert buffer text directly to UTF-8 based schar_T values.

The limit of the text size is now in schar_T bytes, which is currently
31+1 but easily could be raised as it no longer multiplies the size
of the entire screen grid when not used, the full size is only required
for temporary scratch buffers.

Also does some general cleanup to win_line text handling, which was
unnecessarily complicated due to multibyte rendering being an "opt-in"
feature long ago. Nowadays, a char is just a char, regardless if it consists
of one ASCII byte or multiple bytes.
2023-11-17 12:58:57 +01:00
..
api refactor(api): break out Vim script functions to its own file 2021-10-29 16:59:53 +02:00
charset vim-patch:9.0.1380: CTRL-X on 2**64 subtracts two (#22530) 2023-03-05 09:18:42 +08:00
eval vim-patch:9.0.1704: Cannot use positional arguments for printf() (#24719) 2023-08-15 19:16:19 +08:00
fixtures build: remove PVS 2023-11-12 21:26:39 +01:00
os refactor: reorganize option header files (#25437) 2023-09-30 14:41:34 +08:00
viml feat: add support for global statusline 2022-03-18 00:21:41 +06:00
buffer_spec.lua test(unit): move statusline tests to statusline_spec.lua (#25441) 2023-09-30 20:38:04 +08:00
fileio_spec.lua unittests: Check core dumps in after_each, like in functests 2017-03-11 23:23:49 +03:00
formatc.lua refactor(unit): add type annotations 2023-04-14 12:41:57 +01:00
garray_spec.lua chore: fix typos (#16816) 2022-01-04 11:07:40 -07:00
helpers.lua fix(rpc): "grid_line" event parsing crashes (#25581) 2023-11-04 06:56:45 +08:00
indent_spec.lua vim-patch:8.1.1966: some code in options.c fits better elsewhere (#19840) 2022-08-19 19:20:39 +08:00
keycodes_spec.lua test(unit): move statusline tests to statusline_spec.lua (#25441) 2023-09-30 20:38:04 +08:00
marktree_spec.lua docs: small fixes 2023-10-10 19:20:32 +02:00
mbyte_spec.lua refactor(grid): make screen rendering more multibyte than ever before 2023-11-17 12:58:57 +01: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 refactor: remove char_u (#22829) 2023-04-02 16:11:42 +08:00
msgpack_spec.lua fix(rpc): "grid_line" event parsing crashes (#25581) 2023-11-04 06:56:45 +08:00
multiqueue_spec.lua unittests: Use more adequate names for some functions 2017-03-12 02:54:23 +03:00
optionstr_spec.lua refactor: reorganize option header files (#25437) 2023-09-30 14:41:34 +08:00
path_spec.lua refactor: reorganize option header files (#25437) 2023-09-30 14:41:34 +08:00
preload.lua test: replace lfs with luv and vim.fs 2023-04-04 21:59:06 +02:00
preprocess.lua refactor(unit): add type annotations 2023-04-14 12:41:57 +01: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 vim-patch:9.0.1092: search error message doesn't show used pattern (#21518) 2022-12-24 07:55:03 +08:00
set.lua fix(lua): improve annotations for stricter luals diagnostics (#24609) 2023-08-09 11:06:13 +02:00
statusline_spec.lua test(unit): move statusline tests to statusline_spec.lua (#25441) 2023-09-30 20:38:04 +08:00
strings_spec.lua vim-patch:9.0.1856: issues with formatting positional arguments (#25013) 2023-09-04 08:49:50 +08:00
tempfile_spec.lua test: replace lfs with luv and vim.fs 2023-04-04 21:59:06 +02:00
testtest_spec.lua unittests: Collect traces 2017-04-01 12:25:10 +03:00
undo_spec.lua refactor: reorganize option header files (#25437) 2023-09-30 14:41:34 +08:00