any ideas how to get nesting working?
Put the comment pattern in the repository then include it in the main syntax that way. Then you add the comment repository item to the comment item itself:
repository = { comment = { name = 'comment.block.html'; begin = '<!---'; end = '--->'; patterns = ( { include = '#comment'; }, ); }; };