aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakob Schnitzer <mail@jakobschnitzer.de>2017-03-27 19:37:39 +0200
committerJakob Schnitzer <mail@jakobschnitzer.de>2017-03-30 23:04:54 +0200
commit2290a7a1b1f8ea3c04365667b751fdfff62b43f5 (patch)
treeaf43f4a61d6f8349db2bc4f5fae9e1a08f718d6a /src
parent2b0abdbd9adcdaee5fb4f8d056c6385749c45579 (diff)
downloadrneovim-2290a7a1b1f8ea3c04365667b751fdfff62b43f5.tar.gz
rneovim-2290a7a1b1f8ea3c04365667b751fdfff62b43f5.tar.bz2
rneovim-2290a7a1b1f8ea3c04365667b751fdfff62b43f5.zip
options: group num_option validation by type
Diffstat (limited to 'src')
-rw-r--r--src/nvim/option.c96
1 files changed, 47 insertions, 49 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 24c9b9b72e..976aadbc9c 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -4032,30 +4032,12 @@ static char *set_num_option(int opt_idx, char_u *varp, long value,
if (p_wmw > p_wiw) {
errmsg = e_winwidth;
}
- } else if (pp == &curwin->w_p_fdl) {
- if (curwin->w_p_fdl < 0) {
- errmsg = e_positive;
- }
- } else if (pp == &curwin->w_p_fdc) {
- if (curwin->w_p_fdc < 0) {
- errmsg = e_positive;
- } else if (curwin->w_p_fdc > 12) {
- errmsg = e_invarg;
- }
} else if (pp == &p_mco) {
if (p_mco > MAX_MCO) {
errmsg = e_invarg;
} else if (p_mco < 0) {
errmsg = e_positive;
}
- } else if (pp == &curbuf->b_p_iminsert) {
- if (curbuf->b_p_iminsert < 0 || curbuf->b_p_iminsert > B_IMODE_LAST) {
- errmsg = e_invarg;
- }
- } else if (pp == &curbuf->b_p_imsearch) {
- if (curbuf->b_p_imsearch < -1 || curbuf->b_p_imsearch > B_IMODE_LAST) {
- errmsg = e_invarg;
- }
} else if (pp == &p_titlelen) {
if (p_titlelen < 0) {
errmsg = e_positive;
@@ -4064,41 +4046,10 @@ static char *set_num_option(int opt_idx, char_u *varp, long value,
if (p_uc < 0) {
errmsg = e_positive;
}
- } else if (pp == &curwin->w_p_cole) {
- if (curwin->w_p_cole < 0) {
- errmsg = e_positive;
- } else if (curwin->w_p_cole > 3) {
- errmsg = e_invarg;
- }
- } else if (pp == &curwin->w_p_nuw) {
- if (curwin->w_p_nuw < 1) {
- errmsg = e_positive;
- }
- if (curwin->w_p_nuw > 10) {
- errmsg = e_invarg;
- }
- curwin->w_nrwidth_line_count = 0;
- } else if (pp == &curbuf->b_p_tw) {
- if (curbuf->b_p_tw < 0) {
- errmsg = e_positive;
- }
- } else if (pp == &curbuf->b_p_scbk || pp == &p_scbk) {
- if (*pp < -1 || *pp > SB_MAX
- || (opt_flags == OPT_LOCAL && !curbuf->terminal)) {
- errmsg = e_invarg;
- }
- } else if (pp == &curbuf->b_p_sw) {
- if (curbuf->b_p_sw < 0) {
- errmsg = e_positive;
- }
} else if (pp == &p_ch) {
if (p_ch < 1) {
errmsg = e_positive;
}
- } else if (pp == &curbuf->b_p_ts) {
- if (curbuf->b_p_ts <= 0) {
- errmsg = e_positive;
- }
} else if (pp == &p_tm) {
if (p_tm < 0) {
errmsg = e_positive;
@@ -4137,6 +4088,53 @@ static char *set_num_option(int opt_idx, char_u *varp, long value,
if (p_ss < 0) {
errmsg = e_positive;
}
+ } else if (pp == &curwin->w_p_fdl) {
+ if (curwin->w_p_fdl < 0) {
+ errmsg = e_positive;
+ }
+ } else if (pp == &curwin->w_p_fdc) {
+ if (curwin->w_p_fdc < 0) {
+ errmsg = e_positive;
+ } else if (curwin->w_p_fdc > 12) {
+ errmsg = e_invarg;
+ }
+ } else if (pp == &curwin->w_p_cole) {
+ if (curwin->w_p_cole < 0) {
+ errmsg = e_positive;
+ } else if (curwin->w_p_cole > 3) {
+ errmsg = e_invarg;
+ }
+ } else if (pp == &curwin->w_p_nuw) {
+ if (curwin->w_p_nuw < 1) {
+ errmsg = e_positive;
+ } else if (curwin->w_p_nuw > 10) {
+ errmsg = e_invarg;
+ }
+ } else if (pp == &curbuf->b_p_iminsert) {
+ if (curbuf->b_p_iminsert < 0 || curbuf->b_p_iminsert > B_IMODE_LAST) {
+ errmsg = e_invarg;
+ }
+ } else if (pp == &curbuf->b_p_imsearch) {
+ if (curbuf->b_p_imsearch < -1 || curbuf->b_p_imsearch > B_IMODE_LAST) {
+ errmsg = e_invarg;
+ }
+ } else if (pp == &curbuf->b_p_tw) {
+ if (curbuf->b_p_tw < 0) {
+ errmsg = e_positive;
+ }
+ } else if (pp == &curbuf->b_p_scbk || pp == &p_scbk) {
+ if (*pp < -1 || *pp > SB_MAX
+ || (opt_flags == OPT_LOCAL && !curbuf->terminal)) {
+ errmsg = e_invarg;
+ }
+ } else if (pp == &curbuf->b_p_sw) {
+ if (curbuf->b_p_sw < 0) {
+ errmsg = e_positive;
+ }
+ } else if (pp == &curbuf->b_p_ts) {
+ if (curbuf->b_p_ts <= 0) {
+ errmsg = e_positive;
+ }
}
// If validation failed, reset to old value and return.