On Mon, Feb 21, 2011 at 5:18 PM, Ben Schmidt <[email protected]>wrote:
> On Mon, Feb 21, 2011 at 4:56 PM, Ben Schmidt < >> [email protected] >> <mailto:[email protected]>> wrote: >> >> If you only concern about the semicolon after if statements, >> you can try add following to your vimrc file: >> >> autocmd BufEnter *.c match Grp_semi /if\s*(.\+)\s*;/ >> highlight Grp_semi guibg=red >> >> This will highlight the if statement with red background if he put >> semicolon after >> a if statement. >> >> >> Except it will also catch things like this: >> >> if (whatever) something(); >> >> which you almost certainly don't want, and why I didn't suggest this >> kind of approach. >> >> Yes, we can change it to this: >> >> autocmd BufEnter *.c match Grp_semi /if\s*([^)]\+)\s*;/ >> highlight Grp_semi guibg=red >> > > Which will then not work on something like this: > > if ((ch=getchar())==EOF) ; > > (or anything with nested parentheses). > > It seems it's not easy to find a simple way to match all the case. Maybe use following is fine, it will give false warning if use write 2 statements in the same line . autocmd BufEnter *.c match Grp_semi /if\s*(.\+)\s*;/ highlight Grp_semi guibg=red Michael -- You received this message from the "vim_use" 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
