mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 06:28:35 +00:00
refactor(options): autogenerate valid values and flag enums for options (#31089)
Problem: Option metadata like list of valid values for an option and option flags are not listed in the `options.lua` file and are instead manually defined in C, which means option metadata is split between several places. Solution: Put metadata such as list of valid values for an option and option flags in `options.lua`, and autogenerate the corresponding C variables and enums. Supersedes #28659 Co-authored-by: glepnir <glephunter@gmail.com>
This commit is contained in:
@@ -2417,7 +2417,7 @@ int diffopt_changed(void)
|
||||
|
||||
char *p = p_dip;
|
||||
while (*p != NUL) {
|
||||
// Note: Keep this in sync with p_dip_values
|
||||
// Note: Keep this in sync with opt_dip_values.
|
||||
if (strncmp(p, "filler", 6) == 0) {
|
||||
p += 6;
|
||||
diff_flags_new |= DIFF_FILLER;
|
||||
@@ -2464,7 +2464,7 @@ int diffopt_changed(void)
|
||||
p += 8;
|
||||
diff_flags_new |= DIFF_INTERNAL;
|
||||
} else if (strncmp(p, "algorithm:", 10) == 0) {
|
||||
// Note: Keep this in sync with p_dip_algorithm_values.
|
||||
// Note: Keep this in sync with opt_dip_algorithm_values.
|
||||
p += 10;
|
||||
if (strncmp(p, "myers", 5) == 0) {
|
||||
p += 5;
|
||||
@@ -2745,7 +2745,7 @@ bool diff_infold(win_T *wp, linenr_T lnum)
|
||||
void nv_diffgetput(bool put, size_t count)
|
||||
{
|
||||
if (bt_prompt(curbuf)) {
|
||||
vim_beep(BO_OPER);
|
||||
vim_beep(kOptBoFlagOperator);
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user