diff options
Diffstat (limited to 'src/nvim/indent_c.c')
-rw-r--r-- | src/nvim/indent_c.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/nvim/indent_c.c b/src/nvim/indent_c.c index 1c771073b2..3e7f640326 100644 --- a/src/nvim/indent_c.c +++ b/src/nvim/indent_c.c @@ -2529,8 +2529,6 @@ int get_c_indent(void) break; } - l = get_cursor_line_ptr(); - // If we're in a comment or raw string now, skip to // the start of it. trypos = ind_find_start_CORS(NULL); @@ -2540,9 +2538,9 @@ int get_c_indent(void) continue; } - // + l = get_cursor_line_ptr(); + // Skip preprocessor directives and blank lines. - // if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum, &amount)) { continue; } @@ -2640,8 +2638,6 @@ int get_c_indent(void) break; } - l = get_cursor_line_ptr(); - // If we're in a comment or raw string now, skip // to the start of it. trypos = ind_find_start_CORS(NULL); @@ -2651,6 +2647,8 @@ int get_c_indent(void) continue; } + l = get_cursor_line_ptr(); + // Skip preprocessor directives and blank lines. if (cin_ispreproc_cont(&l, &curwin->w_cursor.lnum, &amount)) { continue; @@ -2916,11 +2914,15 @@ int get_c_indent(void) trypos = NULL; } + l = get_cursor_line_ptr(); + // If we are looking for ',', we also look for matching // braces. - if (trypos == NULL && terminated == ',' - && find_last_paren(l, '{', '}')) { - trypos = find_start_brace(); + if (trypos == NULL && terminated == ',') { + if (find_last_paren(l, '{', '}')) { + trypos = find_start_brace(); + } + l = get_cursor_line_ptr(); } if (trypos != NULL) { @@ -2951,6 +2953,7 @@ int get_c_indent(void) curwin->w_cursor.lnum--; curwin->w_cursor.col = 0; } + l = get_cursor_line_ptr(); } // Get indent and pointer to text for current line, |