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

时间:2017-08-28 14:50:56

标签: xtext

我的Xtend格式化程序类扩展了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]

实现这个目标的正确方法是什么?

1 个答案:

答案 0 :(得分: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
}