diff options
Diffstat (limited to 'src/nvim/indent.c')
-rw-r--r-- | src/nvim/indent.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/nvim/indent.c b/src/nvim/indent.c index b7eb6f27f5..882a10e1e8 100644 --- a/src/nvim/indent.c +++ b/src/nvim/indent.c @@ -404,10 +404,10 @@ int get_number_indent(linenr_T lnum) pos.lnum = 0; // In format_lines() (i.e. not insert mode), fo+=q is needed too... - if ((State & INSERT) || has_format_option(FO_Q_COMS)) { + if ((State & MODE_INSERT) || has_format_option(FO_Q_COMS)) { lead_len = get_leader_len(ml_get(lnum), NULL, false, true); } - regmatch.regprog = vim_regcomp(curbuf->b_p_flp, RE_MAGIC); + regmatch.regprog = vim_regcomp((char *)curbuf->b_p_flp, RE_MAGIC); if (regmatch.regprog != NULL) { regmatch.rm_ic = false; @@ -467,7 +467,7 @@ int get_breakindent_win(win_T *wp, char_u *line) // add additional indent for numbered lists if (wp->w_briopt_list != 0) { regmatch_T regmatch = { - .regprog = vim_regcomp(curbuf->b_p_flp, + .regprog = vim_regcomp((char *)curbuf->b_p_flp, RE_MAGIC + RE_STRING + RE_AUTO + RE_STRICT), }; @@ -522,6 +522,11 @@ int inindent(int extra) } } +/// @return true if the conditions are OK for smart indenting. +bool may_do_si(void) +{ + return curbuf->b_p_si && !curbuf->b_p_cin && *curbuf->b_p_inde == NUL && !p_paste; +} // Get indent level from 'indentexpr'. int get_expr_indent(void) @@ -560,7 +565,7 @@ int get_expr_indent(void) // Pretend to be in Insert mode, allow cursor past end of line for "o" // command. save_State = State; - State = INSERT; + State = MODE_INSERT; curwin->w_cursor = save_pos; curwin->w_curswant = save_curswant; curwin->w_set_curswant = save_set_curswant; |