In your lexer you are using ENDCLASS to detect the end of a procedure, but that doesn't always work, because procedures can be outside classes.
I've tried something similar that I thought could work, that is: using the 'EndClass' rule in my lexer as the "Range end condition" for the 'Procedure' rule. That doesn't work either.
The tree view with your lexer is 'weird' because
Code: Select all
class::Init()
The lexer I've post, almost always work, the only problem is that I cannot collapse Procedures. And I afraid I don't get what 'Self closing range' really means.