Hi Bram (As a indent/vim.vim maintainer) and list,
$ cat sample.vim
function Sample_func()
augroup sample
autocmd!
autocmd WinEnter * echo "hello"
augroup END
echo "world"
augroup! sample
endfunc
" vim: sw=2 et
$ vim -Nu NONE sample.vim --cmd "filetype indent on" -c "norm! =G" -c "wq"
$ cat sample.vim
function Sample_func()
augroup sample
autocmd!
autocmd WinEnter * echo "hello"
augroup END
echo "world"
augroup! sample
endfunc " <--- Unexpected indentation
" vim: sw=2 et " <--- Same above
====
`augroup!` is difference between `augroup`. It's used alone.
So, I think that should not be the indent control on this.
I write a patch. please check.
--
Best regards,
Hirohito Higashi (a.k.a. h_east)
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim
index 7ec7df8..08ed852 100644
--- a/runtime/indent/vim.vim
+++ b/runtime/indent/vim.vim
@@ -60,7 +60,7 @@ function GetVimIndentIntern()
else
let ind = ind + shiftwidth() * 3
endif
- elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+[eE][nN][dD]'
+ elseif prev_text =~ '^\s*aug\%[roup]\s\+' && prev_text !~ '^\s*aug\%[roup]\s\+[eE][nN][dD]\>'
let ind = ind + shiftwidth()
else
" A line starting with :au does not increment/decrement indent.
@@ -89,7 +89,7 @@ function GetVimIndentIntern()
" Subtract a 'shiftwidth' on a :endif, :endwhile, :catch, :finally, :endtry,
" :endfun, :else and :augroup END.
- if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s*!\=\s\+[eE][nN][dD]\)'
+ if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s\+[eE][nN][dD]\)'
let ind = ind - shiftwidth()
endif