How to format nested loops ? [message #1800924] |
Wed, 09 January 2019 15:39  |
Eclipse User |
|
|
|
Hi all
I am trying to format nested loops but i fail all the time, given my lack of experience it is not a surprise. Can someone help me?
Thank you in advance
Here is my simplified grammar
Package:
Statements;
Statements:
(statements+=Statement)+
;
Statement:
ForStatement
;
ForStatement:
for="for("")" block=Child
;
Child:
{Children} (";"
| "{" (children+=Child)* "}"
| it=Statement)
;
and here is the Formatter code
def dispatch void format(Statements statements, extension IFormattableDocument document) {
// TODO: format HiddenRegions around keywords, attributes, cross references, etc.
for (statement : statements.statements) {
statement.format
}
}
def dispatch void format(ForStatement forStatement, extension IFormattableDocument document) {
// TODO: format HiddenRegions around keywords, attributes, cross references, etc.
forStatement.block.format
}
def dispatch void format(Children children, extension IFormattableDocument document) {
// TODO: format HiddenRegions around keywords, attributes, cross references, etc.
val open = children.regionFor.keyword("{")
val close = children.regionFor.keyword("}")
open.append[newLine]
open.prepend[newLine]
close.append[newLine]
close.prepend[newLine]
interior(open, close, [indent])
This is what i expect
for()
{
for()
{
for()
{
}
}
}
and this is what i get
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.32795 seconds