[TxMt] Language definition problem
Gerd Knops
gerti-textmate at bitart.com
Tue Nov 26 15:36:30 UTC 2013
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
More information about the textmate
mailing list