aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/optionstr.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/nvim/optionstr.c b/src/nvim/optionstr.c
index 89cbf8ffd2..5df122e443 100644
--- a/src/nvim/optionstr.c
+++ b/src/nvim/optionstr.c
@@ -668,6 +668,17 @@ static void did_set_backupcopy(buf_T *buf, char *oldval, int opt_flags, char **e
}
}
+static void did_set_breakindentopt(win_T *win, char **errmsg)
+{
+ if (briopt_check(win) == FAIL) {
+ *errmsg = e_invarg;
+ }
+ // list setting requires a redraw
+ if (win == curwin && win->w_briopt_list) {
+ redraw_all_later(UPD_NOT_VALID);
+ }
+}
+
/// Handle string options that need some action to perform when changed.
/// The new value must be allocated.
///
@@ -713,13 +724,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
errmsg = e_backupext_and_patchmode_are_equal;
}
} else if (varp == &curwin->w_p_briopt) { // 'breakindentopt'
- if (briopt_check(curwin) == FAIL) {
- errmsg = e_invarg;
- }
- // list setting requires a redraw
- if (curwin->w_briopt_list) {
- redraw_all_later(UPD_NOT_VALID);
- }
+ did_set_breakindentopt(curwin, &errmsg);
} else if (varp == &p_isi
|| varp == &(curbuf->b_p_isk)
|| varp == &p_isp