aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/indent.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/indent.c')
-rw-r--r--src/nvim/indent.c13
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;