Отступ с помощью форматера Xtext IFormattableDocument

Я заметил подобные проблемы в нескольких местах с форматером Xtext. Я не уверен, является ли это моим незнакомым с этим или у него просто есть некоторые общие недостатки. Надеюсь, кто-то может помочь мне в этом конкретном случае, и это даст мне лучшее общее понимание. В языке у меня есть кусок языка объявления переменных, и он содержит итерацию типа "Расширения". Желаемый формат выглядит так:

varName:TypeName:=Value
   [ext1Name:Value]
   [ext2Name:Value]

Поэтому я правильно форматирую переменную часть, но когда я пытаюсь отформатировать расширения с помощью этого кода:

def dispatch void format(Extension it, extension IFormattableDocument document) {
    regionFor.keyword("[").surround[noSpace]
    regionFor.keyword("]").surround[noSpace]
    prepend[newLine] //This is doing something
    prepend[indent] //This is not doing anything
}

Обратите внимание, что в методе формата для объявления переменной format вызывается на каждое расширение как таковое extensions.forEach[format]

Я знаю, что этот код выполняется на соответствующем фрагменте, потому что если я удаляю prepend[newLine] мой результат таков:

varName:TypeName:=Value [ext1Name:Value] [ext2Name:Value]

Проблема в том, что prepend[indent] похоже, ничего не делает для полного кода, который я показал выше, мой вывод таков:

varName:TypeName:=Value
[ext1Name:Value]
[ext2Name:Value]

Также, если кто-то знает хорошую документацию для этого, пожалуйста, укажите мне, поскольку я не смог найти ничего полезного в документации по xtext.

0 ответов

Другие вопросы по тегам