diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-06-29 10:00:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-29 10:00:36 -0400 |
| commit | 559730af0abaeb9afea1b821d1d3ab3324b9f650 (patch) | |
| tree | 8354a02278bedcab624e35736d2eb43ebcc20179 /test/functional/vimscript/executable_spec.lua | |
| parent | 96762cffcd0172e64f810ae25496d36c9bbfdbab (diff) | |
| download | rneovim-559730af0abaeb9afea1b821d1d3ab3324b9f650.tar.gz rneovim-559730af0abaeb9afea1b821d1d3ab3324b9f650.tar.bz2 rneovim-559730af0abaeb9afea1b821d1d3ab3324b9f650.zip | |
perf(options): avoid Lua<=>API roundtrips #40477
Problem:
- Lua<=>API roundtrips
- Although we prefer Lua for most business-logic code, doing this
conversion in C makes sense in this case because:
1. setting options is a hot path
2. most of the options logic lives in C
3. the current arrangement is MORE verbose and requires MORE code
Solution:
Move conversion to a C util.
- nvim_set_option_value passes the raw Object (scalar, Array, or Dict)
to `object_as_optval_for()` which flattens it to the canonical `:set`
string and validates the type.
- drop `convert_value_to_vim`, eliminate its roundtrip.
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions