mirror of
https://github.com/neovim/neovim.git
synced 2025-10-07 02:16:31 +00:00
refactor(options): reduce findoption()
usage
Problem: Many places in the code use `findoption()` to access an option using its name, even if the option index is available. This is very slow because it requires looping through the options array over and over. Solution: Use option index instead of name wherever possible. Also introduce an `OptIndex` enum which contains the index for every option as enum constants, this eliminates the need to pass static option names as strings.
This commit is contained in:
@@ -704,7 +704,7 @@ char *au_event_disable(char *what)
|
||||
} else {
|
||||
STRCAT(new_ei, what);
|
||||
}
|
||||
set_string_option_direct("ei", -1, new_ei, OPT_FREE, SID_NONE);
|
||||
set_string_option_direct(kOptEventignore, new_ei, OPT_FREE, SID_NONE);
|
||||
xfree(new_ei);
|
||||
return save_ei;
|
||||
}
|
||||
@@ -712,7 +712,7 @@ char *au_event_disable(char *what)
|
||||
void au_event_restore(char *old_ei)
|
||||
{
|
||||
if (old_ei != NULL) {
|
||||
set_string_option_direct("ei", -1, old_ei, OPT_FREE, SID_NONE);
|
||||
set_string_option_direct(kOptEventignore, old_ei, OPT_FREE, SID_NONE);
|
||||
xfree(old_ei);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user