Hi,
I am experimenting with embedding properties in Objective-C implementations that will be parsed out and placed into a header file, and that also include documentation. They are supposed to look like this:
/*@property BOOL testProperty; Sample Property # Discussion This is documentation in Markdown syntax */
My custom Objective-C language definition includes this pattern:
{ name = 'meta.property.objc.embedded'; begin = '^(/*)(?=@property)'; end = '*/'; beginCaptures = { 0 = { name = 'meta.comment.embedded-property.start'; }; }; endCaptures = { 0 = { name = 'meta.comment.embedded-property.end'; }; }; contentName = 'meta.scope.property.objc.embedded'; patterns = ( { name = 'meta.scope.property.def.objc.embedded'; begin = '(?=@property)'; end = ';\s*\n?'; patterns = ( { include = 'source.objc#interface_innards'; } ); }, { name = 'meta.scope.property.doc.objc.embedded'; begin = '^'; end = '$\n'; // patterns = ( { include = 'text.html.markdown'; } ); }, ); },
That works fine, the /* and */ have the proper start/end scope, the documentation part has the doc scope etc. But as soon as I enabled the uncommented line that is supposed to highlight the embedded documentation with markdown, markdown gobbles up the end markers.
Shouldn't the outer pattern prevent this? And if not, how can I make this work?
Thanks
Gerd