Formatter ignoring "comment" rules - remember to provide own IHiddenTokenHelper implementa [message #997155] |
Thu, 03 January 2013 22:21  |
Eclipse User |
|
|
|
To help google...
My grammar doesn't have SL_COMMENT or ML_COMMENT.
Its got "REM"s.
So in the grammar I include REM as a hidden rule
grammar com.exmaple.MyDsl hidden(WS, REM)
Everything works fine until you get to formatting and you notice that the configureFormatting rules are not being used for your comment.
This is because IHiddenTokenHelper's default implementation is DefaultHiddenTokenHelper.
DefaultHiddenTokenHelper hard codes isComment() to be ML_COMMENT AND SL_COMMENT.
So if your grammar doesn't have theses rules, or uses different rule names for comments then you need to provide your own implementation and remember to bind this in you MyDslRuntimeModule:
{MyDslRuntimeModule}
public Class<? extends IHiddenTokenHelper> bindIHiddenTokenHelper() {
return MyDslHiddenTokenHelper.class;
}
It's probably easiest to extend Default and just override isComment...
public class MyDslHiddenTokenHelper extends DefaultHiddenTokenHelper {
@Override
public boolean isComment(AbstractRule rule) {
return rule != null && "REM".equals(rule.getName());
}
}
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.25294 seconds