mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 01:02:09 +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:
@@ -138,8 +138,8 @@ bool ctx_restore(Context *ctx, const int flags)
|
||||
free_ctx = true;
|
||||
}
|
||||
|
||||
OptVal op_shada = get_option_value(findoption("shada"), OPT_GLOBAL);
|
||||
set_option_value("shada", STATIC_CSTR_AS_OPTVAL("!,'100,%"), OPT_GLOBAL);
|
||||
OptVal op_shada = get_option_value(kOptShada, OPT_GLOBAL);
|
||||
set_option_value(kOptShada, STATIC_CSTR_AS_OPTVAL("!,'100,%"), OPT_GLOBAL);
|
||||
|
||||
if (flags & kCtxRegs) {
|
||||
ctx_restore_regs(ctx);
|
||||
@@ -165,7 +165,7 @@ bool ctx_restore(Context *ctx, const int flags)
|
||||
ctx_free(ctx);
|
||||
}
|
||||
|
||||
set_option_value("shada", op_shada, OPT_GLOBAL);
|
||||
set_option_value(kOptShada, op_shada, OPT_GLOBAL);
|
||||
optval_free(op_shada);
|
||||
|
||||
return true;
|
||||
|
Reference in New Issue
Block a user