refactor(options): use hashy for finding options (#26573)

Problem:
`findoption()` searches through the options[] table linearly for option
names, even though hashy can be used to generate a compile-time hash
table for it.

Solution:
Use hashy to generate a compile time hash table for finding options.
This also allows handling option aliases, so we don't need separate
options[] table entries for things like 'viminfo'.
This commit is contained in:
Famiu Haque
2023-12-17 05:23:33 +06:00
committed by GitHub
parent 2b1bc94b76
commit 8f08b1efbd
10 changed files with 125 additions and 139 deletions

View File

@@ -1943,7 +1943,7 @@ typval_T optval_as_tv(OptVal value, bool numbool)
/// Set option "varname" to the value of "varp" for the current buffer/window.
static void set_option_from_tv(const char *varname, typval_T *varp)
{
OptIndex opt_idx = findoption(varname);
OptIndex opt_idx = find_option(varname);
if (opt_idx == kOptInvalid) {
semsg(_(e_unknown_option2), varname);
return;