| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | test(harness): migrate away from magic globals | Justin M. Keyes | 2026-07-21 |
| | | | | | | | | | | | | | | | | | | | | | | Problem: The magic globals `it`, `describe`, etc., are more trouble than they are worth. - Hooking into `after_each` requires `getfenv()` hacks. - They confuse luals/emmylua, because the top-level `.luarc.json` isn't merged with `test/.luarc.json` (apparently a luals limitation?) - They totally defeat discoverability because the user just has to "know" about the various magic symbols. So they harm DX, which means they serve no purpose at all. Solution: - Expose the test API from `testutil`, so tests can call `t.it()`, `t.describe()`, etc., in the conventional way. - Drop `getfenv()` hacks. - Drop the `setfenv()` injection in `load_chunk`. - Drop `test/_meta.lua`. | ||
| * | refactor(test): dedup benchmark utils #40478 | Justin M. Keyes | 2026-06-29 |
| | | |||
| * | perf(options): avoid Lua<=>API roundtrips #40477 | Justin M. Keyes | 2026-06-29 |
| 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. | |||