使用 Xtend 格式化时如何防止换行

How to prevent newline while formatting with Xtend

我的 Xtend 格式化程序 class 扩展了 AbstractFormatter2,我希望它能格式化这段代码:

Board my_board {
  Pin {
    Name = my_name;
    Comment = "my_comment";
    Id= "my_id";
  }
}

给这个:

Board my_board {
  Pin {
    Name = my_name; Comment = "my_comment"; Id= "my_id";
  }
}

我在格式化函数中写了下面的Xtend代码,但是要格式化的文本还是一样。

val open = pin.regionFor.keyword('Name')
val close = pin.regionFor.keyword('Id')
interior(open, close)[newLines = 0]

请问实现这个的正确方法是什么?

你可以试试

    var open = pin.regionFor.keyword('Name')
    val close = pin.regionFor.keyword("Id")
    while (open !== close) {
        open.append[
            oneSpace
        ]
        open = open.nextSemanticRegion
    }

var open = pin.regionFor.keyword('Name')
val close = pin.regionFor.assignment(pinAccess.myIdAssignment_12)
while (open !== close) {
    open.append[
        oneSpace
    ]
    open = open.nextSemanticRegion
}