mercury.vim: using sync from start again (foreign code blocks can be arbitrary long)
mercury.vim: allowing for parens inside foreign blocks; implementation now uses special code blocks to highlight foreign code