aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/optionstr.c106
1 files changed, 14 insertions, 92 deletions
diff --git a/src/nvim/optionstr.c b/src/nvim/optionstr.c
index 21f1170498..9cd4837a5f 100644
--- a/src/nvim/optionstr.c
+++ b/src/nvim/optionstr.c
@@ -733,9 +733,9 @@ static void did_set_jumpoptions(char **errmsg)
}
}
-static void did_set_nrformats(char **varp, char **errmsg)
+static void did_set_opt_strings(char *val, char **values, bool list, char **errmsg)
{
- if (check_opt_strings(*varp, p_nf_values, true) != OK) {
+ if (check_opt_strings(val, values, list) != OK) {
*errmsg = e_invarg;
}
}
@@ -766,13 +766,6 @@ static void did_set_redrawdebug(char **errmsg)
}
}
-static void did_set_scrollopt(char **errmsg)
-{
- if (check_opt_strings(p_sbo, p_scbopt_values, true) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_ambiwidth(char **errmsg)
{
if (check_opt_strings(p_ambw, p_ambw_values, false) != OK) {
@@ -935,13 +928,6 @@ static void did_set_fileformat(buf_T *buf, char **varp, const char *oldval, int
}
}
-static void did_set_fileformats(char **errmsg)
-{
- if (check_opt_strings(p_ffs, p_ff_values, true) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_matchpairs(char **varp, char **errmsg)
{
for (char *p = *varp; *p != NUL; p++) {
@@ -1118,13 +1104,6 @@ static void did_set_selection(char **errmsg)
}
}
-static void did_set_selectmode(char **errmsg)
-{
- if (check_opt_strings(p_slm, p_slm_values, true) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_keymodel(char **errmsg)
{
if (check_opt_strings(p_km, p_km_values, true) != OK) {
@@ -1135,13 +1114,6 @@ static void did_set_keymodel(char **errmsg)
km_startsel = (vim_strchr(p_km, 'a') != NULL);
}
-static void did_set_mousemodel(char **errmsg)
-{
- if (check_opt_strings(p_mousem, p_mousem_values, false) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_switchbuf(char **errmsg)
{
if (opt_strings_flags(p_swb, p_swb_values, &swb_flags, true) != OK) {
@@ -1149,20 +1121,6 @@ static void did_set_switchbuf(char **errmsg)
}
}
-static void did_set_splitkeep(char **errmsg)
-{
- if (check_opt_strings(p_spk, p_spk_values, false) != OK) {
- *errmsg = e_invarg;
- }
-}
-
-static void did_set_debug(char **errmsg)
-{
- if (check_opt_strings(p_debug, p_debug_values, true) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_display(char **errmsg)
{
if (opt_strings_flags(p_dy, p_dy_values, &dy_flags, true) != OK) {
@@ -1173,13 +1131,6 @@ static void did_set_display(char **errmsg)
msg_grid_validate();
}
-static void did_set_eoddirection(char **errmsg)
-{
- if (check_opt_strings(p_ead, p_ead_values, false) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_clipboard(char **errmsg)
{
if (opt_strings_flags(p_cb, p_cb_values, &cb_flags, true) != OK) {
@@ -1238,14 +1189,6 @@ static void did_set_mkspellmem(char **errmsg)
}
}
-static void did_set_bufhidden(buf_T *buf, char **errmsg)
-{
- // When 'bufhidden' is set, check for valid value.
- if (check_opt_strings(buf->b_p_bh, p_bufhidden_values, false) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_buftype(buf_T *buf, win_T *win, char **errmsg)
{
// When 'buftype' is set, check for valid value.
@@ -1358,13 +1301,6 @@ static void did_set_signcolumn(win_T *win, char **varp, const char *oldval, char
}
}
-static void did_set_showcmdloc(char **errmsg)
-{
- if (check_opt_strings(p_sloc, p_sloc_values, false) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_foldcolumn(char **varp, char **errmsg)
{
if (**varp == NUL || check_opt_strings(*varp, p_fdc_values, false) != OK) {
@@ -1481,13 +1417,6 @@ static void did_set_foldopen(char **errmsg)
}
}
-static void did_set_foldclose(char **errmsg)
-{
- if (check_opt_strings(p_fcl, p_fcl_values, true) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_foldignore(win_T *win)
{
if (foldmethodIsIndent(win)) {
@@ -1527,13 +1456,6 @@ static void did_set_lispoptions(char **varp, char **errmsg)
}
}
-static void did_set_inccommand(char **errmsg)
-{
- if (check_opt_strings(p_icm, p_icm_values, false) != OK) {
- *errmsg = e_invarg;
- }
-}
-
static void did_set_filetype_or_syntax(char **varp, char *oldval, int *value_checked,
bool *value_changed, char **errmsg)
{
@@ -1765,7 +1687,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (varp == &p_jop) { // 'jumpoptions'
did_set_jumpoptions(&errmsg);
} else if (gvarp == &p_nf) { // 'nrformats'
- did_set_nrformats(varp, &errmsg);
+ did_set_opt_strings(*varp, p_nf_values, true, &errmsg);
} else if (varp == &p_ssop) { // 'sessionoptions'
did_set_sessionoptions(oldval, &errmsg);
} else if (varp == &p_vop) { // 'viewoptions'
@@ -1773,7 +1695,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (varp == &p_rdb) { // 'redrawdebug'
did_set_redrawdebug(&errmsg);
} else if (varp == &p_sbo) { // 'scrollopt'
- did_set_scrollopt(&errmsg);
+ did_set_opt_strings(p_sbo, p_scbopt_values, true, &errmsg);
} else if (varp == &p_ambw || (int *)varp == &p_emoji) { // 'ambiwidth'
did_set_ambiwidth(&errmsg);
} else if (varp == &p_bg) { // 'background'
@@ -1794,7 +1716,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (gvarp == &p_ff) { // 'fileformat'
did_set_fileformat(curbuf, varp, oldval, opt_flags, &errmsg);
} else if (varp == &p_ffs) { // 'fileformats'
- did_set_fileformats(&errmsg);
+ did_set_opt_strings(p_ffs, p_ff_values, true, &errmsg);
} else if (gvarp == &p_mps) { // 'matchpairs'
did_set_matchpairs(varp, &errmsg);
} else if (gvarp == &p_com) { // 'comments'
@@ -1825,23 +1747,23 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (varp == &p_sel) { // 'selection'
did_set_selection(&errmsg);
} else if (varp == &p_slm) { // 'selectmode'
- did_set_selectmode(&errmsg);
+ did_set_opt_strings(p_slm, p_slm_values, true, &errmsg);
} else if (varp == &p_km) { // 'keymodel'
did_set_keymodel(&errmsg);
} else if (varp == &p_mousem) { // 'mousemodel'
- did_set_mousemodel(&errmsg);
+ did_set_opt_strings(p_mousem, p_mousem_values, false, &errmsg);
} else if (varp == &p_mousescroll) { // 'mousescroll'
errmsg = check_mousescroll(p_mousescroll);
} else if (varp == &p_swb) { // 'switchbuf'
did_set_switchbuf(&errmsg);
} else if (varp == &p_spk) { // 'splitkeep'
- did_set_splitkeep(&errmsg);
+ did_set_opt_strings(p_spk, p_spk_values, false, &errmsg);
} else if (varp == &p_debug) { // 'debug'
- did_set_debug(&errmsg);
+ did_set_opt_strings(p_debug, p_debug_values, true, &errmsg);
} else if (varp == &p_dy) { // 'display'
did_set_display(&errmsg);
} else if (varp == &p_ead) { // 'eadirection'
- did_set_eoddirection(&errmsg);
+ did_set_opt_strings(p_ead, p_ead_values, false, &errmsg);
} else if (varp == &p_cb) { // 'clipboard'
did_set_clipboard(&errmsg);
} else if (varp == &(curwin->w_s->b_p_spf)) {
@@ -1857,7 +1779,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (varp == &p_msm) { // 'mkspellmem'
did_set_mkspellmem(&errmsg);
} else if (gvarp == &p_bh) {
- did_set_bufhidden(curbuf, &errmsg);
+ did_set_opt_strings(curbuf->b_p_bh, p_bufhidden_values, false, &errmsg);
} else if (gvarp == &p_bt) { // 'buftype'
did_set_buftype(curbuf, curwin, &errmsg);
} else if (gvarp == &p_stl || gvarp == &p_wbr || varp == &p_tal
@@ -1878,7 +1800,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (varp == &curwin->w_p_scl) { // 'signcolumn'
did_set_signcolumn(curwin, varp, oldval, &errmsg);
} else if (varp == &p_sloc) { // 'showcmdloc'
- did_set_showcmdloc(&errmsg);
+ did_set_opt_strings(*varp, p_sloc_values, false, &errmsg);
} else if (varp == &curwin->w_p_fdc
|| varp == &curwin->w_allbuf_opt.wo_fdc) {
// 'foldcolumn'
@@ -1904,7 +1826,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (varp == &p_fdo) { // 'foldopen'
did_set_foldopen(&errmsg);
} else if (varp == &p_fcl) { // 'foldclose'
- did_set_foldclose(&errmsg);
+ did_set_opt_strings(*varp, p_fcl_values, true, &errmsg);
} else if (gvarp == &curwin->w_allbuf_opt.wo_fdi) { // 'foldignore'
did_set_foldignore(curwin);
} else if (gvarp == &p_ve) { // 'virtualedit'
@@ -1915,7 +1837,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (gvarp == &p_lop) { // 'lispoptions'
did_set_lispoptions(varp, &errmsg);
} else if (varp == &p_icm) { // 'inccommand'
- did_set_inccommand(&errmsg);
+ did_set_opt_strings(*varp, p_icm_values, false, &errmsg);
} else if (gvarp == &p_ft || gvarp == &p_syn) {
did_set_filetype_or_syntax(varp, oldval, value_checked, &value_changed, &errmsg);
} else if (varp == &curwin->w_p_winhl) {