mirror of
https://github.com/neovim/neovim.git
synced 2025-10-10 03:46: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:
@@ -233,7 +233,7 @@ void terminal_open(Terminal **termpp, buf_T *buf, TerminalOptions opts)
|
||||
aucmd_prepbuf(&aco, buf);
|
||||
|
||||
refresh_screen(rv, buf);
|
||||
set_option_value("buftype", STATIC_CSTR_AS_OPTVAL("terminal"), OPT_LOCAL);
|
||||
set_option_value(kOptBuftype, STATIC_CSTR_AS_OPTVAL("terminal"), OPT_LOCAL);
|
||||
|
||||
// Default settings for terminal buffers
|
||||
buf->b_p_ma = false; // 'nomodifiable'
|
||||
@@ -241,8 +241,8 @@ void terminal_open(Terminal **termpp, buf_T *buf, TerminalOptions opts)
|
||||
buf->b_p_scbk = // 'scrollback' (initialize local from global)
|
||||
(p_scbk < 0) ? 10000 : MAX(1, p_scbk);
|
||||
buf->b_p_tw = 0; // 'textwidth'
|
||||
set_option_value("wrap", BOOLEAN_OPTVAL(false), OPT_LOCAL);
|
||||
set_option_value("list", BOOLEAN_OPTVAL(false), OPT_LOCAL);
|
||||
set_option_value(kOptWrap, BOOLEAN_OPTVAL(false), OPT_LOCAL);
|
||||
set_option_value(kOptList, BOOLEAN_OPTVAL(false), OPT_LOCAL);
|
||||
if (buf->b_ffname != NULL) {
|
||||
buf_set_term_title(buf, buf->b_ffname, strlen(buf->b_ffname));
|
||||
}
|
||||
|
Reference in New Issue
Block a user