vim-patch:8.2.4953: with 'si' inserting '}' after completion goes wrong

Problem:    With 'smartindent' inserting '}' after completion goes wrong.
Solution:   Check the cursor is in indent.  (closes vim/vim#10420)
2e444bbef0
This commit is contained in:
zeertzjq
2022-05-14 19:57:00 +08:00
parent 24eb1af475
commit dca0412d37
2 changed files with 7 additions and 4 deletions

View File

@@ -9344,10 +9344,8 @@ static void ins_try_si(int c)
/*
* do some very smart indenting when entering '{' or '}'
*/
if (((did_si || can_si_back) && c == '{') || (can_si && c == '}')) {
/*
* for '}' set indent equal to indent of line containing matching '{'
*/
if (((did_si || can_si_back) && c == '{') || (can_si && c == '}' && inindent(0))) {
// for '}' set indent equal to indent of line containing matching '{'
if (c == '}' && (pos = findmatch(NULL, '{')) != NULL) {
old_pos = curwin->w_cursor;
/*